diff --git a/Inputs/DetectorConfiguration/MUGASTAtLISE.detector b/Inputs/DetectorConfiguration/MUGASTAtLISE.detector
new file mode 100644
index 0000000000000000000000000000000000000000..8c512d71f88a7599d372a17cedaa329a01d23423
--- /dev/null
+++ b/Inputs/DetectorConfiguration/MUGASTAtLISE.detector
@@ -0,0 +1,210 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% EXOGAM setup with one clover
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Exogam clover
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+Target
+ Thickness= 18 micrometer
+ Radius=  30 mm
+ Material= CD2
+ Angle= 0 deg
+ X= 0 mm
+ Y= 0 mm 
+ Z= 0 mm
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Exogam
+%   X= 0 mm
+%   Y= 0 mm
+%   Z= -1400 mm
+%   ThetaX= 180 deg
+%   ThetaY= 0 deg
+%   ThetaZ= 0 deg
+% 
+% Exogam
+%   X= 0 mm
+%   Y= 0 mm
+%   Z= 1400 mm
+%   ThetaX= 0 deg
+%   ThetaY= 0 deg
+%   ThetaZ= 0 deg
+% 
+
+Exogam
+  R= 140 mm
+  Theta= 90 deg
+  Phi= 0 deg
+
+Exogam
+  R= 140 mm
+  Theta= 90 deg
+  Phi= 45 deg
+
+Exogam
+  R= 140 mm
+  Theta= 90 deg
+  Phi= 90 deg
+
+Exogam
+  R= 140 mm
+  Theta= 90 deg
+  Phi= 135 deg
+
+Exogam
+  R= 140 mm
+  Theta= 90 deg
+  Phi= 180 deg
+
+Exogam
+  R= 140 mm
+  Theta= 90 deg
+  Phi= 225 deg
+
+Exogam
+  R= 140 mm
+  Theta= 90 deg
+  Phi= 270 deg
+
+Exogam
+  R= 140 mm
+  Theta= 90 deg
+  Phi= 315 deg
+
+%%%%%%%%%%% 45 degrees exogam
+Exogam
+  R= 140 mm
+  Theta= 135 deg
+  Phi= 0 deg
+
+Exogam
+  R= 140 mm
+  Theta= 135 deg
+  Phi= 90 deg
+
+Exogam
+  R= 140 mm
+  Theta= 135 deg
+  Phi= 180 deg
+
+Exogam
+  R= 140 mm
+  Theta= 135 deg
+  Phi= 270 deg
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%% Telescope 1 %%%%%%% 		
+M2Telescope  		
+ X1_Y1= 	-13.17	-105.07	299.38 mm
+ X1_Y128= -25.15	    -12.87	328.18 mm
+ X128_Y1= -103.63	-105.68	263.74 mm
+ X128_Y128= -115.61	-13.56	292.51 mm
+ SI= 1		
+ SILI= 0		
+ CSI= 1		
+ VIS= all  
+%%%%%%% Telescope 2 %%%%%%% 		
+M2Telescope  		
+ X1_Y1= -114.9	10.05	292.57 mm
+ X1_Y128= -24.52	9.80	328.49 mm
+ X128_Y1= -103.13	102.14	263.58 mm
+ X128_Y128= 	-12.74	101.90	299.51 mm
+ SI= 1		
+ SILI= 0		
+ CSI= 1		
+ VIS= all  
+
+%%%%%%% Telescope 3 %%%%%%% 		
+M2Telescope  		
+ X1_Y1= 	12.94	101.57	300.03 mm
+ X1_Y128= 24.43	9.53	329.29 mm
+ X128_Y1= 103.23	101.34	263.86 mm
+ X128_Y128= 114.74	9.30	293.11 mm
+ SI= 1		
+ SILI= 0		
+ CSI= 1		
+ VIS= all  
+
+
+%%%%%%% Telescope 4 %%%%%%% 		
+M2Telescope  		
+ X1_Y1= 114.62	-13.35	292.81 mm
+ X1_Y128= 24.30 -13.44	328.89 mm
+ X128_Y1= 103.32	-105.63	264.21 mm
+ X128_Y128= 	13.00	-105.74	300.28 mm
+ SI= 1		
+ SILI= 0		
+ CSI= 1		
+ VIS= all  
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+Mugast Trapezoid 
+ DetectorNumber= 7
+ X128_Y1=	44.063	102.884	-30.345	mm
+ X1_Y1=	-47.423	102.884	-30.345	mm
+ X1_Y128=	-14.275	35.783	-110.312	mm
+ X128_Y128=	10.915	35.783	-110.312	mm
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+Mugast Trapezoid 
+ DetectorNumber= 3
+ X128_Y1=	111.464	-10.14	-30.345	mm
+ X1_Y1=	83.193	76.895	-30.345	mm
+ X1_Y128=	29.62	24.634	-110.312	mm
+ X128_Y128=	37.405	0.677	-110.312	mm
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+Mugast Trapezoid      
+ DetectorNumber= 1
+ X128_Y1=	24.825	-109.134	-30.345	mm
+ X1_Y1=	98.84	-55.36	-30.345	mm
+ X1_Y128=	32.582	-20.558	-110.312	mm
+ X128_Y128=	12.202	-35.365	-110.312	mm
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+Mugast Trapezoid      
+ DetectorNumber= 5
+ X128_Y1=	-96.121	-57.335	-30.345	mm
+ X1_Y1=	-22.107	-111.109	-30.345	mm
+ X1_Y128=	-9.484	-37.34	-110.312	mm
+ X128_Y128=	-29.863	-22.533	-110.312	mm
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+Mugast Trapezoid      
+ DetectorNumber= 4
+ X128_Y1=	-84.232	73.70	-30.345	mm
+ X1_Y1=	-112.503	-13.31	-30.345	mm
+ X1_Y128=	-38.443	-2.519	-110.312	mm
+ X128_Y128=	-30.659	21.438	-110.312	mm
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
+ZDD
+ R= 3505 mm 
+ Theta= 0 deg
+%ZDD DC
+% Z= 1005.0 mm
+% Thickness= 20 mm
+% Gas= iC4H10
+% Pressure= 0.012 bar
+% Temperature= 294 kelvin
+% ZDD DC
+%  Z= 1030.0 mm
+%  Thickness= 20 mm
+%  Gas= iC4H10
+%  Pressure= 0.012 bar
+%  Temperature= 294 kelvin
+ZDD IC
+ NDet= 10
+ ZofFirst= 1300. mm
+ Thickness= 20. mm
+ Gas= iC4H10
+ Pressure= 0.3 bar
+ Temperature= 294 kelvin
+ZDD Plastic
+ NDet= 5
+ Material= EJ200
+ Width= 220. mm
+ Length= 44. mm
+ Thickness= 20. mm
+ PosOfCentral= 0. 0. 1926.1 mm
+
diff --git a/Inputs/EventGenerator/neutron.source b/Inputs/EventGenerator/neutron.source
index 9d673567edd2b32697e20d1b43ce36315b8afa2f..b69093c2f297b72eb9915026764133e72a5c8109 100755
--- a/Inputs/EventGenerator/neutron.source
+++ b/Inputs/EventGenerator/neutron.source
@@ -14,7 +14,7 @@ Isotropic
 % EnergyDistributionHist= hPFNS_jeff3.3.root PFNS_jeff_0
  %EnergyDistribution= 0.38*sqrt(x)*exp(-x/0.847212)
  HalfOpenAngleMin= 0
- HalfOpenAngleMax= 180
+ HalfOpenAngleMax= 30
  x0= 0 
  y0= 0 
  z0= 0 mm 
diff --git a/NPData b/NPData
index 5bc1c2ffec53a2e5fbf6f3b03c287c39f032323b..02d20d632631fe00a3bf1b83958c9b59048aed36 160000
--- a/NPData
+++ b/NPData
@@ -1 +1 @@
-Subproject commit 5bc1c2ffec53a2e5fbf6f3b03c287c39f032323b
+Subproject commit 02d20d632631fe00a3bf1b83958c9b59048aed36
diff --git a/NPLib/Core/NPDetectorFactory.cxx b/NPLib/Core/NPDetectorFactory.cxx
index 221fd2acc4ae4c0f9d9902e50fb1f3149f7330f0..ff92dec213b079d16cf88b1aebf3dc6f19fab8e0 100644
--- a/NPLib/Core/NPDetectorFactory.cxx
+++ b/NPLib/Core/NPDetectorFactory.cxx
@@ -112,13 +112,12 @@ NPL::VTreeReader* NPL::DetectorFactory::ConstructReader(std::string Token) {
     return m_ConstructReader[Token]();
   }
   else if (m_TokenLib.find(Token) != m_TokenLib.end()) {
-    std::cout << "In Token" << std::endl;
+    std::cout << "In Token : " << Token << std::endl;
     // Add absolute path to library name
     std::string path = getenv("NPTOOL");
-    std::cout << "path : " << path << std::endl;
     std::string libName = path + "/NPLib/lib/" + m_TokenLib[Token];
     dlopen(libName.c_str(), RTLD_NOW | RTLD_GLOBAL);
-    std::cout << "testtest " << libName.c_str() << std::endl;
+    std::cout << " Associated library : " << libName.c_str() << std::endl;
     char* LibError = dlerror();
     if (m_ConstructReader.find(Token) != m_ConstructReader.end())
       return m_ConstructReader[Token]();
diff --git a/NPLib/Core/NPDetectorManager.cxx b/NPLib/Core/NPDetectorManager.cxx
index 90b13fee1b5c268088e442ec5761d4a237042912..3d43157a2b4b20754b62d905ce2e0b031b1e7908 100644
--- a/NPLib/Core/NPDetectorManager.cxx
+++ b/NPLib/Core/NPDetectorManager.cxx
@@ -62,9 +62,13 @@ NPL::DetectorManager::DetectorManager(){
   m_InitializeRootInputRawPtr = &NPL::VDetector::InitializeRootInputRaw;
   m_InitializeRootOutputPtr = &NPL::VDetector::InitializeRootOutput;
   m_InitializeRootHistogramsCalibPtr = &NPL::VDetector::InitializeRootHistogramsCalib;
+  m_InitializeRootHistogramsEfficiencyPtr = &NPL::VDetector::InitializeRootHistogramsEfficiency;
   m_FillHistogramsCalibPtr = &NPL::VDetector::FillHistogramsCalib;
+  m_FillHistogramsEfficiencyPtr = &NPL::VDetector::FillHistogramsEfficiency;
   m_WriteHistogramsCalibPtr = &NPL::VDetector::WriteHistogramsCalib;
+  m_WriteHistogramsEfficiencyPtr = &NPL::VDetector::WriteHistogramsEfficiency;
   m_DoCalibrationPtr = &NPL::VDetector::DoCalibration;
+  m_EfficiencyPtr = &NPL::VDetector::Efficiency;
   m_TestCalibrationPtr = &NPL::VDetector::TestCalibration;
   m_FillSpectra = NULL; 
   m_CheckSpectra = NULL;   
@@ -163,6 +167,56 @@ void NPL::DetectorManager::ReadDoCalibrationFile(std::string Path)   {
   // The calibration Manager got all the parameter added, so it can load them from the calibration file
   CalibrationManager::getInstance()->LoadParameterFromFile();
 }
+
+void NPL::DetectorManager::ReadEfficiencyFile(std::string Path)   {
+  NPL::InputParser parser(Path);
+  std::set<std::string> check;
+  std::vector<std::string> token = parser.GetAllBlocksToken();
+  NPL::DetectorFactory* theFactory = NPL::DetectorFactory::getInstance();
+  
+  std::string runToReadfileName = NPOptionManager::getInstance()->GetRunToReadFile();
+  RootInput::getInstance(runToReadfileName);
+  if(NPOptionManager::getInstance()->GetCalibrationFile().compare("defaultCalibration.txt")!=0){
+    std::cout << "-C option used, looking for Calibration parameters " <<NPOptionManager::getInstance()->GetCalibrationFile()  << std::endl;
+    CalibrationManager::getInstance(NPOptionManager::getInstance()->GetCalibrationFile());
+  }
+  else
+    std::cout << "-C option not used, no Calibration parameters loaded" << std::endl;
+
+  
+  ////////////////////////////////////////////
+  /////////// Search for Detectors ///////////
+  ////////////////////////////////////////////
+  // Get the list of main token
+  
+  std::cout << "IN EFFICIENCY " << token.size() << std::endl;
+  // Look for detectors among them
+  for(unsigned int i = 0 ; i < token.size() ; i++){
+    VDetector* detector = theFactory->Construct(token[i]);
+    VTreeReader* Reader = theFactory->ConstructReader(token[i]);
+    if(detector!=NULL && check.find(token[i])==check.end()){
+      if(NPOptionManager::getInstance()->GetVerboseLevel()){
+        std::cout << "/////////////////////////////////////////" << std::endl;
+        std::cout << "//// Adding Detector for Efficiency " << token[i] << std::endl; 
+      }
+      detector->ReadEfficiency(parser);
+      if(NPOptionManager::getInstance()->GetVerboseLevel())
+        std::cout << "/////////////////////////////////////////" << std::endl;
+
+      // Add array to the VDetector Vector
+      std::cout << "IN EFFICIENCY " << token[i] << " " << detector << std::endl;
+      AddDetector(token[i], detector);
+      AddDetectorReader(token[i], Reader);
+      check.insert(token[i]);
+    }
+    else if(detector!=NULL){
+      delete detector;
+      delete Reader;
+    }
+  }
+  // The calibration Manager got all the parameter added, so it can load them from the calibration file
+  CalibrationManager::getInstance()->LoadParameterFromFile();
+}
 ///////////////////////////////////////////////////////////////////////////////
 //   Read stream at ConfigFile and pick-up Token declaration of Detector
 void NPL::DetectorManager::ReadConfigurationFile(std::string Path)   {
@@ -420,6 +474,14 @@ void NPL::DetectorManager::InitializeRootHistogramsCalib(){
   }
 }
 
+void NPL::DetectorManager::InitializeRootHistogramsEfficiency(){
+  std::map<std::string,VDetector*>::iterator it;
+
+  for (it = m_Detector.begin(); it != m_Detector.end(); ++it){
+    (it->second->*m_InitializeRootHistogramsEfficiencyPtr)();
+  }
+}
+
 ///////////////////////////////////////////////////////////////////////////////
 void NPL::DetectorManager::FillHistogramsCalib(){
   std::map<std::string,VDetector*>::iterator it;
@@ -433,6 +495,14 @@ void NPL::DetectorManager::FillHistogramsCalib(){
   }
 }
 
+void NPL::DetectorManager::FillHistogramsEfficiency(){
+  std::map<std::string,VDetector*>::iterator it;
+
+  for (it = m_Detector.begin(); it != m_Detector.end(); ++it){
+    (it->second->*m_FillHistogramsEfficiencyPtr)();
+  }
+}
+
 void NPL::DetectorManager::WriteHistogramsCalib(){
   std::map<std::string,VDetector*>::iterator it;
 
@@ -446,6 +516,15 @@ void NPL::DetectorManager::WriteHistogramsCalib(){
   }
 }
 
+void NPL::DetectorManager::WriteHistogramsEfficiency(){
+  std::map<std::string,VDetector*>::iterator it;
+
+  for (it = m_Detector.begin(); it != m_Detector.end(); ++it){
+    //std::cout << "Test Write Histograms" << std::endl; 
+    (it->second->*m_WriteHistogramsEfficiencyPtr)();
+  }
+}
+
 void NPL::DetectorManager::DoCalibration(){
   std::map<std::string,VDetector*>::iterator it;
 
@@ -458,6 +537,14 @@ void NPL::DetectorManager::DoCalibration(){
   }
 }
 
+void NPL::DetectorManager::Efficiency(){
+  std::map<std::string,VDetector*>::iterator it;
+
+  for (it = m_Detector.begin(); it != m_Detector.end(); ++it){
+    (it->second->*m_EfficiencyPtr)();
+  }
+}
+
 void NPL::DetectorManager::TestCalibration(){
   std::map<std::string,VDetector*>::iterator it;
 
diff --git a/NPLib/Core/NPDetectorManager.h b/NPLib/Core/NPDetectorManager.h
index 358faec2467d571105c65c6c2b44b3e538ea4f7a..46203fe4419f122821f2cccc328b0f17e1ff6d7b 100644
--- a/NPLib/Core/NPDetectorManager.h
+++ b/NPLib/Core/NPDetectorManager.h
@@ -55,13 +55,18 @@ namespace NPL{
     public:
       void        ReadConfigurationFile(std::string Path);
       void        ReadDoCalibrationFile(std::string Path);
+      void        ReadEfficiencyFile(std::string Path);
       void        BuildPhysicalEvent();
       void        InitializeRootInput();
       void        InitializeRootOutput();
       void        InitializeRootHistogramsCalib();
+      void        InitializeRootHistogramsEfficiency();
       void        FillHistogramsCalib();
+      void        FillHistogramsEfficiency();
       void        WriteHistogramsCalib();
+      void        WriteHistogramsEfficiency();
       void        DoCalibration();
+      void        Efficiency();
       void        TestCalibration();
       void        SetTreeReader(TTreeReader* TreeReader);
       void        AddDetector(std::string,VDetector*);
@@ -105,9 +110,13 @@ namespace NPL{
       VDetector_FuncPtr m_InitializeRootInputRawPtr;
       VDetector_FuncPtr m_InitializeRootOutputPtr;
       VDetector_FuncPtr m_InitializeRootHistogramsCalibPtr;
+      VDetector_FuncPtr m_InitializeRootHistogramsEfficiencyPtr;
       VDetector_FuncPtr m_FillHistogramsCalibPtr;
+      VDetector_FuncPtr m_FillHistogramsEfficiencyPtr;
       VDetector_FuncPtr m_WriteHistogramsCalibPtr;
+      VDetector_FuncPtr m_WriteHistogramsEfficiencyPtr;
       VDetector_FuncPtr m_DoCalibrationPtr;
+      VDetector_FuncPtr m_EfficiencyPtr;
       VDetector_FuncPtr m_TestCalibrationPtr;
       VDetector_SetReader m_SetTreeReaderPtr;
       VDetector_FuncPtr m_FillSpectra;
diff --git a/NPLib/Core/NPOptionManager.cxx b/NPLib/Core/NPOptionManager.cxx
index 2c22cd4853e95279521f14d8ea79497b1374a0a6..9069a8d5c3c32b0559c0d7a17c0b63d4d27f9f7b 100644
--- a/NPLib/Core/NPOptionManager.cxx
+++ b/NPLib/Core/NPOptionManager.cxx
@@ -69,6 +69,9 @@ void NPOptionManager::ReadProjectConfigFile(){
       if(blocks[i]->HasToken("CalibrationOutput"))
         m_CalibrationOutputPath = blocks[i]->GetString("CalibrationOutput"); 
       
+      if(blocks[i]->HasToken("EfficiencyOutput"))
+        m_EfficiencyOutputPath = blocks[i]->GetString("EfficiencyOutput"); 
+      
       if(blocks[i]->HasToken("EnergyLoss"))
         m_EnergyLossPath = blocks[i]->GetString("EnergyLoss"); 
       
@@ -86,10 +89,12 @@ void NPOptionManager::ReadProjectConfigFile(){
   m_AnalysisOutputPath=Path+"/Outputs/Analysis/";
   m_SimulationOutputPath=Path+"/Outputs/Simulation/";
   m_CalibrationOutputPath=Path+"/Outputs/Calibration/";
+  m_EfficiencyOutputPath=Path+"/Outputs/Efficiency/";
   m_EnergyLossPath=Path+"/Inputs/EnergyLoss/";
   std::cout << "AnalysisOutput= " << m_AnalysisOutputPath << std::endl;
   std::cout << "SimulationOutput= " << m_SimulationOutputPath << std::endl;
   std::cout << "CalibrationOutput= " << m_CalibrationOutputPath << std::endl;
+  std::cout << "EfficiencyOutput= " << m_EfficiencyOutputPath << std::endl;
   std::cout << "EnergyLoss= " << m_EnergyLossPath << std::endl;
  }
 }
@@ -107,6 +112,7 @@ void NPOptionManager::ReadTheInputArgument(int argc, char** argv){
   fDefaultRunToReadFileName   = "defaultRunToTreat.txt";
   fDefaultCalibrationFileName = "defaultCalibration.txt";
   fDefaultDoCalibrationFileName = "defaultDoCalibration.txt";
+  fDefaultEfficiencyFileName  = "defaultEfficiency.txt";
   fDefaultG4MacroPath         = "defaultG4MacroPath.txt";
   // Assigned values
   fReactionFileName           = fDefaultReactionFileName;
@@ -115,6 +121,7 @@ void NPOptionManager::ReadTheInputArgument(int argc, char** argv){
   fOutputTreeName             = fDefaultOutputTreeName;
   fRunToReadFileName          = fDefaultRunToReadFileName;
   fCalibrationFileName        = fDefaultCalibrationFileName;
+  fEfficiencyFileName         = fDefaultEfficiencyFileName;
   fG4MacroPath                = fDefaultG4MacroPath;
   fIsSplit = false;
   fLastSimFile = false; 
@@ -232,6 +239,8 @@ void NPOptionManager::ReadTheInputArgument(int argc, char** argv){
 
     else if (argument == "-DC" && argc >= i + 1)                  fDoCalibrationFileName    = argv[++i] ;
     
+    else if (argument == "-EF" && argc >= i + 1)                  fEfficiencyFileName    = argv[++i] ;
+    
     else if (argument == "-TC")                                   fTestCalibration   = true;
     
     else{
@@ -365,6 +374,36 @@ void NPOptionManager::CheckDoCalibrationConfiguration(){
   // close ConfigFile
   ConfigFile.close();
 
+}
+
+void NPOptionManager::CheckEfficiencyConfiguration(){
+  bool checkFile = true;
+
+  // NPTool path
+  std::string GlobalPath = getenv("NPTOOL");
+  std::string StandardPath = GlobalPath + "/Inputs/EfficiencyConfiguration/" + fDoCalibrationFileName;
+
+  // ifstream to configfile
+  std::ifstream ConfigFile;
+
+  // test if config file is in local path
+  ConfigFile.open(fEfficiencyFileName.c_str());
+  if (!ConfigFile.is_open()) {
+    ConfigFile.open(StandardPath.c_str());
+    if (!ConfigFile.is_open()) {  // if not, assign standard path
+      checkFile = false;
+    }
+    else {
+      fEfficiencyFileName = StandardPath;
+    }
+  }
+  if (!checkFile && fEfficiencyFileName != fDefaultEfficiencyFileName) {   // if file does not exist
+    SendErrorAndExit("EfficiencyConfiguration");
+  }
+
+  // close ConfigFile
+  ConfigFile.close();
+
 }
 ////////////////////////////////////////////////////////////////////////////////
 void NPOptionManager::CheckDetectorConfiguration(){
@@ -431,6 +470,9 @@ bool NPOptionManager::IsDefault(const char* type) const{
   else if (stype == "DoCalibration") {
     if (fDoCalibrationFileName == fDefaultDoCalibrationFileName) result = true;
   }
+  else if (stype == "Efficiency") {
+    if (fEfficiencyFileName == fDefaultEfficiencyFileName) result = true;
+  }
   else if (stype == "RunToTreat") {
     if (fRunToReadFileName == fDefaultRunToReadFileName) result = true;
   }
diff --git a/NPLib/Core/NPOptionManager.h b/NPLib/Core/NPOptionManager.h
index c830508425153d14ca67538ba67ac72f529ec6bc..a6260c285412272045b44a2119ab65f2cfbd26e5 100644
--- a/NPLib/Core/NPOptionManager.h
+++ b/NPLib/Core/NPOptionManager.h
@@ -74,6 +74,7 @@ class NPOptionManager{
       void CheckEventGenerator();
       void CheckDetectorConfiguration();
       void CheckDoCalibrationConfiguration();
+      void CheckEfficiencyConfiguration();
       void CheckG4Macro();
       void CreateRunToTreatFile(std::string file, std::string tree );
    public:
@@ -87,6 +88,8 @@ class NPOptionManager{
       std::string GetDefaultDetectorFile()     {return fDefaultDetectorFileName;}
       std::string GetDefaultRunToReadFile()    {return fDefaultRunToReadFileName;}
       std::string GetDefaultCalibrationFile()  {return fDefaultCalibrationFileName;}
+      std::string GetDefaultDoCalibrationFile(){return fDefaultDoCalibrationFileName;}
+      std::string GetDefaultEfficiencyFile()   {return fDefaultEfficiencyFileName;}
       std::string GetDefaultOutputFile()       {return fDefaultOutputFileName;}
       std::string GetDefaultG4MacroPath()      {return fDefaultG4MacroPath;}
 
@@ -96,6 +99,7 @@ class NPOptionManager{
       std::string GetRunToReadFile()            {return fRunToReadFileName;}
       std::string GetCalibrationFile()          {return fCalibrationFileName;}
       std::string GetDoCalibrationFile()        {return fDoCalibrationFileName;}
+      std::string GetEfficiencyFile()           {return fEfficiencyFileName;}
       std::string GetOutputFile()               {return fOutputFileName;}
       std::string GetOutputTreeName()           {return fOutputTreeName;}
       std::string GetG4MacroPath()              {return fG4MacroPath;}     
@@ -110,6 +114,7 @@ class NPOptionManager{
       bool   IsAnalysis()                  {return fIsAnalysis;};
       bool   IsSimulation()                {return fIsSimulation;}
       bool   IsCalibration()               {return fIsCalibration;}
+      bool   IsEfficiency()                {return fIsEfficiency;}
       bool   IsReader()                    {return fReader;}
       bool   IsSplit()                     {return fIsSplit;}
       bool   IsTestCalibration()           {return fTestCalibration;}
@@ -126,21 +131,25 @@ class NPOptionManager{
       std::string GetAnalysisOutputPath(){return m_AnalysisOutputPath;};
       std::string GetSimulationOutputPath(){return m_SimulationOutputPath;};
       std::string GetCalibrationOutputPath(){return m_CalibrationOutputPath;};
+      std::string GetEfficiencyOutputPath(){return m_EfficiencyOutputPath;};
       std::string GetEnergyLossPath(){return m_EnergyLossPath;};
       std::string GetCutsPath(){return m_CutsPath;};
       // Setters
       void SetReactionFile(const std::string& name)  {fReactionFileName = name;CheckEventGenerator();}
       void SetDetectorFile(const std::string& name)  {fDetectorFileName = name;CheckDetectorConfiguration();}
       void SetDoCalibrationFile(const std::string& name)  {fDoCalibrationFileName = name;CheckDoCalibrationConfiguration();}
+      void SetEfficiencyFile(const std::string& name)  {fEfficiencyFileName = name;CheckEfficiencyConfiguration();}
       void SetRunToReadFile(const std::string& name) {fRunToReadFileName = name;}
       void SetVerboseLevel(int VerboseLevel)         {fVerboseLevel = VerboseLevel;}
       void SetIsAnalysis(bool val=true){fIsAnalysis=val;};
       void SetIsSimulation(bool val=true){fIsSimulation=val;}
       void SetIsCalibration(bool val=true){fIsCalibration=val;}
+      void SetIsEfficiency(bool val=true){fIsEfficiency=val;}
       void SetReader(bool reader=false){fReader=reader;}
 
    public: // user definition
       bool HasDefinition(std::string def) {return(fDefinition.find(def)!=fDefinition.end());}
+      int GetNumberDefinition(){return fDefinition.size();}
 
    private:
       // default values
@@ -148,6 +157,7 @@ class NPOptionManager{
       std::string fDefaultDetectorFileName;
       std::string fDefaultRunToReadFileName;
       std::string fDefaultCalibrationFileName;
+      std::string fDefaultEfficiencyFileName;
       std::string fDefaultDoCalibrationFileName;
       std::string fDefaultOutputFileName;
       std::string fDefaultOutputTreeName;
@@ -159,6 +169,7 @@ class NPOptionManager{
       std::string fRunToReadFileName;
       std::string fCalibrationFileName;
       std::string fDoCalibrationFileName;
+      std::string fEfficiencyFileName;
       std::string fOutputFileName;
       std::string fOutputTreeName;
       bool   fIsSplit; // One tree per detector
@@ -175,6 +186,7 @@ class NPOptionManager{
       bool   fIsAnalysis;
       bool   fIsSimulation;
       bool   fIsCalibration;
+      bool   fIsEfficiency;
       bool   fReader;
       bool   fTestCalibration;
       int    fVerboseLevel; // 0 for not talk, 1 for talking
@@ -191,6 +203,7 @@ class NPOptionManager{
       std::string m_AnalysisOutputPath;// output path of analysed tree
       std::string m_SimulationOutputPath;// output path of simulated tree
       std::string m_CalibrationOutputPath;// output path of calibration histograms
+      std::string m_EfficiencyOutputPath;// output path of efficiency histograms
       std::string m_EnergyLossPath;// input/output path of energy loss table
       std::string m_CutsPath;// CutsPath
 
diff --git a/NPLib/Core/NPVDetector.h b/NPLib/Core/NPVDetector.h
index 4d59f1c8c145b8928523247c054c9502f987fbb0..633e877d3435b9ae6b63b9fc5df80049d7dfea82 100644
--- a/NPLib/Core/NPVDetector.h
+++ b/NPLib/Core/NPVDetector.h
@@ -53,6 +53,9 @@ namespace NPL {
     
     //  Read stream at DoCalibration to pick-up which parameters to calibrate (Position,...) using Token
     virtual void ReadDoCalibration(NPL::InputParser){};
+    
+    //  Read stream at DoCalibration to pick-up which parameters to calibrate (Position,...) using Token
+    virtual void ReadEfficiency(NPL::InputParser){};
 
     //  Add Parameter to the CalibrationManger
     virtual void AddParameterToCalibrationManager(){};
@@ -71,14 +74,25 @@ namespace NPL {
     //  Create folders and histograms for calibration
     virtual void InitializeRootHistogramsCalib(){};
     
+    //  Create folders and histograms for calibration
+    virtual void InitializeRootHistogramsEfficiency(){};
+    
     //  Fill histograms for calibration
     virtual void FillHistogramsCalib(){};
     
+    //  Fill histograms for calibration
+    virtual void FillHistogramsEfficiency(){};
+    
     //  Write histograms for calibration
     virtual void WriteHistogramsCalib(){};
     
+    //  Write histograms for calibration
+    virtual void WriteHistogramsEfficiency(){};
+    
     
     virtual void DoCalibration(){};
+    
+    virtual void Efficiency(){};
 
     //  This method is called at each event read from the Input Tree. Aime is to build treat Raw dat in order to extract
     //  physical parameter.
diff --git a/NPLib/Core/RootHistogramsCalib.cxx b/NPLib/Core/RootHistogramsCalib.cxx
index 7298d9f52f548dfdc1d4928a22b16d2bfbd68c57..771c593402f9479e29a08adda6c9a209253c6426 100644
--- a/NPLib/Core/RootHistogramsCalib.cxx
+++ b/NPLib/Core/RootHistogramsCalib.cxx
@@ -65,6 +65,8 @@ RootHistogramsCalib::RootHistogramsCalib(std::string fileNameBase){
   // Setup the base name
   if(calibration)
     pBaseName = NPOptionManager::getInstance()->GetCalibrationOutputPath();
+  else if(NPOptionManager::getInstance()->IsEfficiency())
+    pBaseName = NPOptionManager::getInstance()->GetEfficiencyOutputPath();
   else
     pBaseName="./";
   
diff --git a/NPLib/Core/RootHistogramsCalib.h b/NPLib/Core/RootHistogramsCalib.h
index fa6dccbc12671e3a702f50b2b619672ed2f92889..12819ba8eefd91df9ba18520070c6daa14e369e4 100644
--- a/NPLib/Core/RootHistogramsCalib.h
+++ b/NPLib/Core/RootHistogramsCalib.h
@@ -37,6 +37,7 @@
 #include "TFile.h"
 #include "TTree.h"
 #include "TList.h"
+#include "TCanvas.h"
 #include <string>
 
 class RootHistogramsCalib{
@@ -78,6 +79,7 @@ public:
   std::map<TString,std::map<TString,TGraphErrors*>>*  GetTGraphMap(){return TGraphMap;}; 
   std::map<TString,std::map<TString,TCutG*>>*  GetTCutGMap(){return TCutGMap;}; 
   std::map<TString,std::map<TString,TFile*>>*  GetTFileMap(){return TFileMap;}; 
+  std::map<TString,std::map<TString,TCanvas*>>* GetTCanvasMap(){return TCanvasMap;};
   void        Fill();
   
 private:
@@ -90,6 +92,7 @@ private:
   std::map<TString,std::map<TString,TGraphErrors*>>* TGraphMap = new std::map<TString,std::map<TString,TGraphErrors*>>;
   std::map<TString,std::map<TString,TCutG*>>* TCutGMap = new std::map<TString,std::map<TString,TCutG*>>;
   std::map<TString,std::map<TString,TFile*>>* TFileMap = new std::map<TString,std::map<TString,TFile*>>;
+  std::map<TString,std::map<TString,TCanvas*>>* TCanvasMap = new std::map<TString,std::map<TString,TCanvas*>>;
 };
 
 #endif // ROOTHISTOCALIB_HH
diff --git a/NPLib/Detectors/Epic/TEpicData.cxx b/NPLib/Detectors/Epic/TEpicData.cxx
index a97f178a8d6710fa5d903680b451dc9f7e31ffd1..d754eb4fa5af4b0c7847458b1598a56bc49fded4 100644
--- a/NPLib/Detectors/Epic/TEpicData.cxx
+++ b/NPLib/Detectors/Epic/TEpicData.cxx
@@ -50,10 +50,8 @@ void TEpicData::Dump() const {
   cout << "MultAnodes = : " << mysize << endl;
  
   for (size_t i = 0 ; i < mysize ; i++){
-    cout << "AnodeNbr: " << GetAnodeNbr(i) 
-         << " Q1: " << GetQ1(i)
-         << " Q2: " << GetQ2(i)
-         << " Qmax: " << GetQmax(i)
-         << " Time: " << GetTime(i) << endl;
+    cout << "==================================" << endl;
+    cout << "TRACKID #" << GetTrackID(i) << ": Particle |" << GetParticleName(i) << "|" 
+         << " Q1: " << GetQ1(i) << " Time: " << GetTime(i) << endl;
   }
 }
diff --git a/NPLib/Detectors/Epic/TEpicData.h b/NPLib/Detectors/Epic/TEpicData.h
index ab3bc580d7871fa56c24a99322e1544573a6807c..c51028fc434bea1d93a27dd0fe680c99de6efbd6 100644
--- a/NPLib/Detectors/Epic/TEpicData.h
+++ b/NPLib/Detectors/Epic/TEpicData.h
@@ -29,42 +29,41 @@ using namespace std;
 // ROOT
 #include "TObject.h"
 
+class ElectronsStep{
+
+  private:
+    int num_electrons;
+    double t_creation;
+  
+  public:
+    ElectronsStep(int n, double t) : num_electrons(n), t_creation(t){ }
+
+  ClassDef(ElectronsStep, 1)  // ROOT macro for dictionary
+};
+
 
 class TEpicData : public TObject {
 
  public:
+    // per TrackID
+
     struct EpicAnodeData {
-        UShort_t    AnodeNbr;
-        Double_t    Q1;
-        Double_t    Q2;
-        Double_t    Qmax;
-        Double_t    Time;
-        Double_t    Time_HF;
-        Double_t    ToF;
-        Bool_t      isFakeFission;
-        // vector of {Zstep, DEstep, DTstep}
-        std::vector<string>   ParticleName;
-        std::vector<int>      ParentID;
-        std::vector<int>      TrackID;
-        std::vector<Double_t> PosZ;
-        std::vector<Double_t> DE;
-        std::vector<Double_t> DT; // DT=Ti-T0, with T0=Tfission or Talpha
-   
-        // Getters
-        UShort_t GetAnodeNbr() const { return AnodeNbr; }
-        Double_t GetQ1() const { return Q1; }
-        Double_t GetQ2() const { return Q2; }
-        Double_t GetQmax() const { return Qmax; }
-        Double_t GetTime() const { return Time; }
-        Double_t GetTimeHF() const { return Time_HF; }
-        Double_t GetToF() const { return ToF; }
-        Bool_t IsFakeFission() const { return isFakeFission; }
-        const std::vector<string>&   GetParticleName() const { return ParticleName; }
-        const std::vector<int>&      GetParentID() const { return ParentID; }
-        const std::vector<int>&      GetTrackID() const { return TrackID; }
-        const std::vector<Double_t>& GetPosZ() const { return PosZ; }
-        const std::vector<Double_t>& GetDE() const { return DE; }
-        const std::vector<Double_t>& GetDT() const { return DT; }
+      int         TrackID;
+	    string      ParticleName;
+      UShort_t    AnodeNbr;
+      Double_t    Q1;
+      Double_t    Time;
+      vector<int>     n_electrons_step;
+      vector<double>  t_creation_step;
+
+      // Getters
+      int      GetTrackID() const { return TrackID; }
+      string   GetParticleName() const { return ParticleName; }
+      UShort_t GetAnodeNbr() const { return AnodeNbr; }
+      Double_t GetQ1() const { return Q1; }
+      Double_t GetTime() const { return Time; }
+      const vector<int>&    GetNumElectronsPerStep() const { return n_electrons_step; }
+      const vector<double>& GetTimeCreationElectronsPerStep() const { return t_creation_step; }
    };
 
   //////////////////////////////////////////////////////////////
@@ -95,30 +94,23 @@ class TEpicData : public TObject {
   // add //! to avoid ROOT creating dictionnary for the methods
   public:
     //////////////////////    SETTERS    ////////////////////////
-    void Set(const UShort_t& n, const Double_t& q1,  const Double_t& q2,  const Double_t& qmax,
-             const Double_t& t, const Double_t& thf, const Double_t& tof, const Bool_t& fake,
-             const std::vector<string>& name, const std::vector<int>& pid,   const std::vector<int>& tid, 
-             const std::vector<double>& z,    const std::vector<double>& de, const std::vector<double>& dt) {
-        fEpic_Data.push_back({n, q1, q2, qmax, t, thf, tof, fake, name, pid, tid, z, de, dt});
+    void Set(const int& tid, const string& name, const UShort_t& n, const Double_t& q1,  const Double_t& t,
+             const vector<int> num, const vector<double> t_creation) {
+        fEpic_Data.push_back({tid, name, n, q1, t, num, t_creation});
     }
     const EpicAnodeData& operator[](const unsigned int& i) const {return fEpic_Data[i];}
 
     ////////////////////////    GETTERS    ////////////////////////
-    inline UShort_t GetMultiplicity() const                    {return fEpic_Data.size();}
-    UShort_t GetAnodeNbr(const unsigned short& i) const { return fEpic_Data[i].AnodeNbr; }
-    Double_t GetQ1(const unsigned int& i) const         { return fEpic_Data[i].Q1; }
-    Double_t GetQ2(const unsigned int& i) const         { return fEpic_Data[i].Q2; }
-    Double_t GetQmax(const unsigned int& i) const       { return fEpic_Data[i].Qmax; }
-    Double_t GetTime(const unsigned int& i) const       { return fEpic_Data[i].Time; }
-    Double_t GetTimeHF(const unsigned int& i) const     { return fEpic_Data[i].Time_HF; }
-    Double_t GetToF(const unsigned int& i) const        { return fEpic_Data[i].ToF; }
-    Bool_t GetFakeFissionStatus(const unsigned int& i) const { return fEpic_Data[i].isFakeFission; }
-    const std::vector<string>&   GetParticleName(const unsigned int& i) const { return fEpic_Data[i].ParticleName; }
-    const std::vector<int>&      GetParentID(const unsigned int& i)     const { return fEpic_Data[i].ParentID; }
-    const std::vector<int>&      GetTrackID(const unsigned int& i)      const { return fEpic_Data[i].TrackID; }
-    const std::vector<Double_t>& GetPosZ(const unsigned int& i)         const { return fEpic_Data[i].PosZ; }
-    const std::vector<Double_t>& GetDE(const unsigned int& i)           const { return fEpic_Data[i].DE; }
-    const std::vector<Double_t>& GetDT(const unsigned int& i)           const { return fEpic_Data[i].DT; }
+    inline UShort_t GetMultiplicity() const               {return fEpic_Data.size();}             // num of particles in the sensitive volume
+    int      GetTrackID(const unsigned int& i)      const { return fEpic_Data[i].TrackID; }       // trackID of the particle
+    string   GetParticleName(const unsigned int& i) const { return fEpic_Data[i].ParticleName; }  // particle name
+    UShort_t GetAnodeNbr(const unsigned short& i) const   { return fEpic_Data[i].AnodeNbr; }      // sensitive volume
+    Double_t GetQ1(const unsigned int& i) const           { return fEpic_Data[i].Q1; }            // Q1 on all the sensitive volume
+    Double_t GetTime(const unsigned int& i) const         { return fEpic_Data[i].Time; }          // absolute time from the first particle emission
+    inline UShort_t GetNumberOfSteps(const unsigned int&i) const                      { return fEpic_Data[i].t_creation_step.size(); } // num fix-dz-length steps of the particle
+    const vector<int>&    GetNumElectronsPerStep(const unsigned int& i)const          { return fEpic_Data[i].n_electrons_step; }       // num of e- created per step
+    const vector<double>& GetTimeCreationElectronsPerStep(const unsigned int& i)const { return fEpic_Data[i].t_creation_step; }        // absolute time of e- creation
+    
   //////////////////////////////////////////////////////////////
   // Required for ROOT dictionnary
   ClassDef(TEpicData,1)  // EpicData structure
diff --git a/NPLib/Detectors/Epic/TEpicData.rootmap b/NPLib/Detectors/Epic/TEpicData.rootmap
deleted file mode 100644
index a4616a909a3713417de63f9af1395f688bb5e125..0000000000000000000000000000000000000000
--- a/NPLib/Detectors/Epic/TEpicData.rootmap
+++ /dev/null
@@ -1,4 +0,0 @@
-[ libNPEpic.so ]
-# List of selected classes
-class TEpicData
-header TEpicData.h
diff --git a/NPLib/Detectors/Epic/TEpicPhysics.cxx b/NPLib/Detectors/Epic/TEpicPhysics.cxx
index 1d09de7058ca75b6f0bbadecb3637c0ea5535687..db0806165c3cb239ab891d772f3347ba4ed52828 100644
--- a/NPLib/Detectors/Epic/TEpicPhysics.cxx
+++ b/NPLib/Detectors/Epic/TEpicPhysics.cxx
@@ -88,13 +88,8 @@ void TEpicPhysics::BuildPhysicalEvent() {
     int A = m_EventData->GetAnodeNbr(e);
     AnodeNumber.push_back(m_PreTreatedData->GetAnodeNbr(e));
     Q1.push_back(m_PreTreatedData->GetQ1(e));
-    Q2.push_back(m_PreTreatedData->GetQ2(e));
-    Qmax.push_back(m_PreTreatedData->GetQmax(e));
     Time.push_back(m_PreTreatedData->GetTime(e));
-    isFakeFission.push_back(m_PreTreatedData->GetFakeFissionStatus(e));
 
-    Time_HF.push_back(m_PreTreatedData->GetTimeHF(e));
-    ToF.push_back(m_PreTreatedData->GetToF(e));
   }
 }
 
@@ -118,22 +113,11 @@ void TEpicPhysics::PreTreat() {
       double TimeOffset = 0;
       TimeOffset = Cal->GetValue("Epic/ANODE"+NPL::itoa(AnodeNumber)+"_TIMEOFFSET",0);
       double Time = m_EventData->GetTime(i);
-      double TimeHF = m_EventData->GetTimeHF(i);
-      double tof = Time - TimeHF - TimeOffset;
-      if(tof < 0){
-        tof += Cal->GetValue("Epic/PULSE_TIMEOFFSET",0) ;
-      }
-      m_PreTreatedData->Set(AnodeNumber, Q1, 
-                            m_EventData->GetQ2(i),
-                            m_EventData->GetQmax(i),
-                            Time, TimeHF, tof, 
-                            m_EventData->GetFakeFissionStatus(i),
+      m_PreTreatedData->Set(m_EventData->GetTrackID(i),
                             m_EventData->GetParticleName(i),
-                            m_EventData->GetParentID(i),
-                            m_EventData->GetTrackID(i),
-                            m_EventData->GetPosZ(i),
-                            m_EventData->GetDE(i),
-                            m_EventData->GetDT(i));
+                            AnodeNumber, Q1, Time,
+                            m_EventData->GetNumElectronsPerStep(i),
+                            m_EventData->GetTimeCreationElectronsPerStep(i));
     }
 
   }
@@ -209,12 +193,7 @@ void TEpicPhysics::ReadAnalysisConfig() {
 void TEpicPhysics::Clear() {
   AnodeNumber.clear();
   Q1.clear();
-  Q2.clear();
-  Qmax.clear();
   Time.clear();
-  Time_HF.clear();
-  ToF.clear();
-  isFakeFission.clear();
   DT_FC.clear();
 }
 
diff --git a/NPLib/Detectors/Epic/TEpicPhysics.h b/NPLib/Detectors/Epic/TEpicPhysics.h
index 6223dc2942ddcf45182de5446c0a9d94157a1043..8733238496be6f7ba2ecf7d4b07beb6b650a1c46 100644
--- a/NPLib/Detectors/Epic/TEpicPhysics.h
+++ b/NPLib/Detectors/Epic/TEpicPhysics.h
@@ -64,12 +64,7 @@ class TEpicPhysics : public TObject, public NPL::VDetector {
   public:
     vector<int>      AnodeNumber;
     vector<double>   Q1;
-    vector<double>   Q2;
-    vector<double>   Qmax;
     vector<double>   Time;
-    vector<bool>     isFakeFission;
-    vector<double>   Time_HF;
-    vector<double>   ToF;
     vector<double>   DT_FC;				
 
   /// A usefull method to bundle all operation to add a detector
diff --git a/NPLib/Detectors/Exogam/CMakeLists.txt b/NPLib/Detectors/Exogam/CMakeLists.txt
index d2b9eec2edd75dbfda811b24010eae6efd570074..6c9459d8ef0a40e770020916418b507053fd84d3 100644
--- a/NPLib/Detectors/Exogam/CMakeLists.txt
+++ b/NPLib/Detectors/Exogam/CMakeLists.txt
@@ -2,11 +2,11 @@ add_custom_command(OUTPUT TExogamPhysicsDict.cxx COMMAND ${CMAKE_BINARY_DIR}/scr
 add_custom_command(OUTPUT TExogamDataDict.cxx COMMAND ${CMAKE_BINARY_DIR}/scripts/build_dict.sh TExogamData.h TExogamDataDict.cxx TExogamData.rootmap libNPExogam.dylib DEPENDS TExogamData.h)
 add_custom_command(OUTPUT TExogamCalDataDict.cxx COMMAND ${CMAKE_BINARY_DIR}/scripts/build_dict.sh TExogamCalData.h TExogamCalDataDict.cxx TExogamCalData.rootmap libNPExogam.dylib DEPENDS TExogamCalData.h)
 add_custom_command(OUTPUT TExogamPhysicsReaderDict.cxx COMMAND ${CMAKE_BINARY_DIR}/scripts/build_dict.sh TExogamPhysicsReader.h TExogamPhysicsReaderDict.cxx TExogamPhysicsReader.rootmap libNPExogam.dylib DEPENDS TExogamPhysicsReader.h)
-add_library(NPExogam SHARED TExogamCalData.cxx TExogamData.cxx TExogamPhysics.cxx TExogamPhysicsReader.cxx TExogamCalDataDict.cxx TExogamDataDict.cxx TExogamPhysicsDict.cxx TExogamPhysicsReaderDict.cxx TExogamSpectra.cxx)
+add_library(NPExogam SHARED TExogamCalData.cxx TExogamData.cxx TExogamPhysics.cxx TExogamPhysicsReader.cxx TExogamGeo.cxx TExogamCalDataDict.cxx TExogamDataDict.cxx TExogamPhysicsDict.cxx TExogamPhysicsReaderDict.cxx TExogamSpectra.cxx)
 if(CUBIX)
     target_link_libraries(NPExogam ${ROOT_LIBRARIES} ${CUBIX_LIBRARIES} -lTreePlayer -lSpectrum NPCore NPPhysics) 
     else()
     target_link_libraries(NPExogam ${ROOT_LIBRARIES} -lTreePlayer -lSpectrum NPCore NPPhysics) 
 endif()
-install(FILES Geometry_Clover_Exogam.h TExogamCalData.h TExogamData.h TExogamPhysics.h TExogamSpectra.h TExogamPhysicsReader.h DESTINATION ${CMAKE_INCLUDE_OUTPUT_DIRECTORY})
+install(FILES Geometry_Clover_Exogam.h TExogamCalData.h TExogamData.h TExogamPhysics.h TExogamSpectra.h TExogamPhysicsReader.h TExogamGeo.h DESTINATION ${CMAKE_INCLUDE_OUTPUT_DIRECTORY})
 
diff --git a/NPLib/Detectors/Exogam/CoherentGe.xcom b/NPLib/Detectors/Exogam/CoherentGe.xcom
new file mode 100644
index 0000000000000000000000000000000000000000..6617daf970e482c6dde10727cd69e60b4f3fac2d
--- /dev/null
+++ b/NPLib/Detectors/Exogam/CoherentGe.xcom
@@ -0,0 +1,17 @@
+1.000E-01 5.045E-01 
+1.500E-01 2.250E-01 
+2.000E-01 1.521E-01 
+3.000E-01 1.067E-01 
+4.000E-01 8.960E-02 
+5.000E-01 7.974E-02 
+6.000E-01 7.287E-02 
+8.000E-01 6.332E-02 
+1.000E+00 5.667E-02 
+1.022E+00 5.605E-02 
+1.250E+00 5.062E-02 
+1.500E+00 4.630E-02 
+2.000E+00 4.071E-02 
+2.044E+00 4.034E-02 
+3.000E+00 3.518E-02 
+4.000E+00 3.271E-02 
+5.000E+00 3.156E-02
\ No newline at end of file
diff --git a/NPLib/Detectors/Exogam/Geometry_Clover_Exogam.h b/NPLib/Detectors/Exogam/Geometry_Clover_Exogam.h
index b47d8e44adbfd51b18f571b69eec22b902071780..e118cf6d7a864b600c1496069642b22e893748b7 100644
--- a/NPLib/Detectors/Exogam/Geometry_Clover_Exogam.h
+++ b/NPLib/Detectors/Exogam/Geometry_Clover_Exogam.h
@@ -120,7 +120,7 @@ struct Clover_struc {
 #define	TARGET_POSITION_X	0.	// mm
 #define	TARGET_POSITION_Y	0.	// mm
 // #define	TARGET_POSITION_Z	0.	// mm
-#define InteractionDepth	20.	// mm
+// #define InteractionDepth	20.	// mm
 
 inline struct Clover_struc Ask_For_Angles(int flange, double InterDepth, double Position, double TargetZ){ // Position in mm	
 
@@ -165,6 +165,7 @@ TVector3 v3(0,0,1);
 	//Clover position
 	flange12.SetTheta(90.0*TMath::Pi()/180.0);
 	flange12.SetPhi(0.0*TMath::Pi()/180.0);
+	// flange12.SetMag(Result.D_CloveFlange_Targ_Map[flange]+InterDepth); 
 	flange12.SetMag(Result.D_CloveFlange_Targ_Map[flange]); 
 
 
@@ -196,85 +197,105 @@ float EXOGAM_Segment_Pos1,EXOGAM_Segment_Pos2 ;
 	//Crystal A
 	flange12Crist[0].SetY(flange12.Y()+(EXOGAM_Crystal_Center));
 	flange12Crist[0].SetZ(flange12.Z()-(EXOGAM_Crystal_Center));
+	// flange12Crist[0].SetX(Result.D_CloveFlange_Targ_Map[flange]+InterDepth);
 	flange12Crist[0].SetX(Result.D_CloveFlange_Targ_Map[flange]);
 		//segment1
 	flange12CristSeg[0][0].SetY(flange12.Y()+(EXOGAM_Segment_Pos1)); //gd
 	flange12CristSeg[0][0].SetZ(flange12.Z()-(EXOGAM_Segment_Pos1)); //gd
+	// flange12CristSeg[0][0].SetX(Result.D_CloveFlange_Targ_Map[flange]+InterDepth);
 	flange12CristSeg[0][0].SetX(Result.D_CloveFlange_Targ_Map[flange]);
 		//segment2
 	flange12CristSeg[0][1].SetY(flange12.Y()+(EXOGAM_Segment_Pos2));
 	flange12CristSeg[0][1].SetZ(flange12.Z()-(EXOGAM_Segment_Pos1));
+	// flange12CristSeg[0][1].SetX(Result.D_CloveFlange_Targ_Map[flange]+InterDepth);
 	flange12CristSeg[0][1].SetX(Result.D_CloveFlange_Targ_Map[flange]);
 		//segment3
 	flange12CristSeg[0][2].SetY(flange12.Y()+(EXOGAM_Segment_Pos2));
 	flange12CristSeg[0][2].SetZ(flange12.Z()-(EXOGAM_Segment_Pos2));
+	// flange12CristSeg[0][2].SetX(Result.D_CloveFlange_Targ_Map[flange]+InterDepth);
 	flange12CristSeg[0][2].SetX(Result.D_CloveFlange_Targ_Map[flange]);
 		//segment4
 	flange12CristSeg[0][3].SetY(flange12.Y()+(EXOGAM_Segment_Pos1));
 	flange12CristSeg[0][3].SetZ(flange12.Z()-(EXOGAM_Segment_Pos2));
+	// flange12CristSeg[0][3].SetX(Result.D_CloveFlange_Targ_Map[flange]+InterDepth);
 	flange12CristSeg[0][3].SetX(Result.D_CloveFlange_Targ_Map[flange]);
 
 	//Crystal B
 	flange12Crist[1].SetY(flange12.Y()-(EXOGAM_Crystal_Center));
 	flange12Crist[1].SetZ(flange12.Z()-(EXOGAM_Crystal_Center));
+	// flange12Crist[1].SetX(Result.D_CloveFlange_Targ_Map[flange]+InterDepth);
 	flange12Crist[1].SetX(Result.D_CloveFlange_Targ_Map[flange]);
 		//segment1
 	flange12CristSeg[1][0].SetY(flange12.Y()-(EXOGAM_Segment_Pos1));
 	flange12CristSeg[1][0].SetZ(flange12.Z()-(EXOGAM_Segment_Pos1));
+	// flange12CristSeg[1][0].SetX(Result.D_CloveFlange_Targ_Map[flange]+InterDepth);
 	flange12CristSeg[1][0].SetX(Result.D_CloveFlange_Targ_Map[flange]);
 		//segment2
 	flange12CristSeg[1][1].SetY(flange12.Y()-(EXOGAM_Segment_Pos1));
 	flange12CristSeg[1][1].SetZ(flange12.Z()-(EXOGAM_Segment_Pos2));
+	// flange12CristSeg[1][1].SetX(Result.D_CloveFlange_Targ_Map[flange]+InterDepth);
 	flange12CristSeg[1][1].SetX(Result.D_CloveFlange_Targ_Map[flange]);
 		//segment3
 	flange12CristSeg[1][2].SetY(flange12.Y()-(EXOGAM_Segment_Pos2));
 	flange12CristSeg[1][2].SetZ(flange12.Z()-(EXOGAM_Segment_Pos2));
+	// flange12CristSeg[1][2].SetX(Result.D_CloveFlange_Targ_Map[flange]+InterDepth);
 	flange12CristSeg[1][2].SetX(Result.D_CloveFlange_Targ_Map[flange]);
 		//segment4
 	flange12CristSeg[1][3].SetY(flange12.Y()-(EXOGAM_Segment_Pos2));
 	flange12CristSeg[1][3].SetZ(flange12.Z()-(EXOGAM_Segment_Pos1));
+	// flange12CristSeg[1][3].SetX(Result.D_CloveFlange_Targ_Map[flange]+InterDepth);
 	flange12CristSeg[1][3].SetX(Result.D_CloveFlange_Targ_Map[flange]);
 	
 	//Crystal C
 	flange12Crist[2].SetY(flange12.Y()-(EXOGAM_Crystal_Center));
 	flange12Crist[2].SetZ(flange12.Z()+(EXOGAM_Crystal_Center));
+	// flange12Crist[2].SetX(Result.D_CloveFlange_Targ_Map[flange]+InterDepth);
 	flange12Crist[2].SetX(Result.D_CloveFlange_Targ_Map[flange]);
 		//segment1
 	flange12CristSeg[2][0].SetY(flange12.Y()-(EXOGAM_Segment_Pos1));
 	flange12CristSeg[2][0].SetZ(flange12.Z()+(EXOGAM_Segment_Pos1));
+	// flange12CristSeg[2][0].SetX(Result.D_CloveFlange_Targ_Map[flange]+InterDepth);
 	flange12CristSeg[2][0].SetX(Result.D_CloveFlange_Targ_Map[flange]);
 		//segment2
 	flange12CristSeg[2][1].SetY(flange12.Y()-(EXOGAM_Segment_Pos2));
 	flange12CristSeg[2][1].SetZ(flange12.Z()+(EXOGAM_Segment_Pos1));
+	// flange12CristSeg[2][1].SetX(Result.D_CloveFlange_Targ_Map[flange]+InterDepth);
 	flange12CristSeg[2][1].SetX(Result.D_CloveFlange_Targ_Map[flange]);
 		//segment3
 	flange12CristSeg[2][2].SetY(flange12.Y()-(EXOGAM_Segment_Pos2));
 	flange12CristSeg[2][2].SetZ(flange12.Z()+(EXOGAM_Segment_Pos2));
+	// flange12CristSeg[2][2].SetX(Result.D_CloveFlange_Targ_Map[flange]+InterDepth);
 	flange12CristSeg[2][2].SetX(Result.D_CloveFlange_Targ_Map[flange]);
 		//segment4
 	flange12CristSeg[2][3].SetY(flange12.Y()-(EXOGAM_Segment_Pos1));
 	flange12CristSeg[2][3].SetZ(flange12.Z()+(EXOGAM_Segment_Pos2));
+	// flange12CristSeg[2][3].SetX(Result.D_CloveFlange_Targ_Map[flange]+InterDepth);
 	flange12CristSeg[2][3].SetX(Result.D_CloveFlange_Targ_Map[flange]);
 	
 	//Crystal D
 	flange12Crist[3].SetY(flange12.Y()+(EXOGAM_Crystal_Center));
 	flange12Crist[3].SetZ(flange12.Z()+(EXOGAM_Crystal_Center));
+	// flange12Crist[3].SetX(Result.D_CloveFlange_Targ_Map[flange]+InterDepth);
 	flange12Crist[3].SetX(Result.D_CloveFlange_Targ_Map[flange]);
 		//segment1
 	flange12CristSeg[3][0].SetY(flange12.Y()+(EXOGAM_Segment_Pos1));
 	flange12CristSeg[3][0].SetZ(flange12.Z()+(EXOGAM_Segment_Pos1));
+	// flange12CristSeg[3][0].SetX(Result.D_CloveFlange_Targ_Map[flange]+InterDepth);
 	flange12CristSeg[3][0].SetX(Result.D_CloveFlange_Targ_Map[flange]);
 		//segment2
 	flange12CristSeg[3][1].SetY(flange12.Y()+(EXOGAM_Segment_Pos1));
 	flange12CristSeg[3][1].SetZ(flange12.Z()+(EXOGAM_Segment_Pos2));
+	// flange12CristSeg[3][1].SetX(Result.D_CloveFlange_Targ_Map[flange]+InterDepth);
 	flange12CristSeg[3][1].SetX(Result.D_CloveFlange_Targ_Map[flange]);
 		//segment3
 	flange12CristSeg[3][2].SetY(flange12.Y()+(EXOGAM_Segment_Pos2));
 	flange12CristSeg[3][2].SetZ(flange12.Z()+(EXOGAM_Segment_Pos2));
+	// flange12CristSeg[3][2].SetX(Result.D_CloveFlange_Targ_Map[flange]+InterDepth);
 	flange12CristSeg[3][2].SetX(Result.D_CloveFlange_Targ_Map[flange]);
 		//segment4
 	flange12CristSeg[3][3].SetY(flange12.Y()+(EXOGAM_Segment_Pos2));
 	flange12CristSeg[3][3].SetZ(flange12.Z()+(EXOGAM_Segment_Pos1));
+	// flange12CristSeg[3][3].SetX(Result.D_CloveFlange_Targ_Map[flange]+InterDepth);
 	flange12CristSeg[3][3].SetX(Result.D_CloveFlange_Targ_Map[flange]);
 
 	if (flange >=1 && flange <=17){
diff --git a/NPLib/Detectors/Exogam/TExogamGeo.cxx b/NPLib/Detectors/Exogam/TExogamGeo.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..e743a6b2b4016c7304b90c141eff2b5eef1e83b3
--- /dev/null
+++ b/NPLib/Detectors/Exogam/TExogamGeo.cxx
@@ -0,0 +1,311 @@
+#include "TExogamGeo.h"
+#include <string>
+
+
+const double PI = 3.14159265358979323846;
+// Position of flanges assuming target always in (0,0,0). TargetZ to check consistence with HitPosition
+// Target X and Y are not important (if we are sure that the beam hits the target), only (X,Y) position of the beam matters.
+TExogamGeo::TExogamGeo(std::map<unsigned int, double> Distances_)
+: Distances(Distances_), HitPosition(Vector3D()), Beam(Vector3D()), Recoil(Vector3D()), 
+FlangeNumber(-1), CrystalNumber(-1), OuterNumber(-1), EGamma(-1.)
+{
+  ReadPhotonCS();  
+} 
+
+double TExogamGeo::p_function(const double alpha, Vector3D& SegmentPos,const Vector3D& TargetPos, Vector3D& UnitVector) {
+    Vector3D GammaDir = SegmentPos - TargetPos;
+    // GammaDir.print();
+    return cos(alpha)*(GammaDir.norm());
+}
+// Définir la fonction f(theta)
+
+double TExogamGeo::equation(const double alpha, Vector3D& SegmentPos,Vector3D& TargetPos, Vector3D& UnitVector) {
+    double p_f = p_function(alpha,SegmentPos,TargetPos,UnitVector);
+    // std::cout <<   p_f - (SegmentPos - TargetPos).scalarp(UnitVector) << std::endl; 
+    return p_f - (SegmentPos - TargetPos).scalarp(UnitVector); 
+}
+
+// Définir la dérivée approximative de la fonction f(theta) par rapport à theta (différence finie)
+double TExogamGeo::equation_derivative(const double alpha, Vector3D& SegmentPos, Vector3D& TargetPos, Vector3D& UnitVector) {
+    double h = 1e-6;  // Petite valeur pour l'approximation numérique de la dérivée
+    return (equation(alpha+h,SegmentPos,TargetPos, UnitVector) - equation(alpha,SegmentPos,TargetPos, UnitVector)) / h;
+}
+
+Vector3D TExogamGeo::newton_raphson(double initial_guess,
+    Vector3D& TargetPos, double tolerance = 1e-6, int max_iterations = 100) {
+    double alpha = initial_guess;
+    Vector3D unit(0.,1.,0.);
+    setflange(&unit);
+    // std::cout << "new NewtonRaphson" << std::endl;
+    for (int i = 0; i < max_iterations; ++i) {
+        Vector3D outerpos = getouterpos(alpha,InteractionDepth);
+        Vector3D SegmentPos(outerpos.X(), Distances[FlangeNumber] + std::cos(alpha) * InteractionDepth, outerpos.Z());
+        setcrystal(&SegmentPos);
+        setflange(&SegmentPos);
+        
+
+        double f_alpha = equation(alpha,SegmentPos,TargetPos,unit);
+        double f_prime_alpha = equation_derivative(alpha,SegmentPos,TargetPos,unit);
+
+        // Mise à jour de theta
+        double alpha_new = alpha - f_alpha / f_prime_alpha;
+
+        // Si la différence est inférieure à la tolérance, on considère la solution trouvée
+        if (std::fabs(alpha_new - alpha) < tolerance) {
+            
+            return SegmentPos - TargetPos;
+        }
+        // std::cout << alpha << " " << alpha_new << std::endl;
+        alpha = alpha_new;
+    }
+
+    std::cerr << "Newton-Raphson n'a pas convergé après " << max_iterations << " itérations.\n";
+    Vector3D fail;
+    return fail;  // Retourne la dernière valeur trouvée si la convergence n'est pas atteinte
+}
+void TExogamGeo::SetGammaInteractionPoint(const short& FlangeNumber_,const short& CrystalNumber_,
+    const short& OuterNumber_,const short& EGamma_){
+        FlangeNumber = FlangeNumber_;
+        CrystalNumber = CrystalNumber_;
+        OuterNumber = OuterNumber_;
+        EGamma = EGamma_;
+        InteractionDepth =interaction_depth(EGamma_); 
+}
+
+double TExogamGeo::interaction_depth(double Energy){
+  auto b = Map_PhotonCS.lower_bound(Energy);
+  auto a = prev(b);
+  if(b == Map_PhotonCS.begin()){
+    a = b;
+    b++;
+  }
+  else if(b == Map_PhotonCS.end()){
+    b--;
+    a = prev(b);
+  }
+  double coeff = (Energy - a->first)/(b->first - a->first);
+
+  double PhotonCrossSection = a->second + coeff*(b->second - a->second); // mm2/g
+  // std::cout << "Interaction Depth :" << 1./(GeDensity*PhotonCrossSection) << std::endl;
+  return 1./(GeDensity*PhotonCrossSection);
+}
+void TExogamGeo::ReadPhotonCS(){
+  // path to photon cross section
+  std::string CSFilename = "../../Inputs/PhotonCrossSection/CoherentGe.xcom";
+  // std::string CSFilename = "./CoherentGe.xcom";
+  std::string LineBuffer;
+
+  std::ifstream CSFile;
+  CSFile.open(CSFilename.c_str());
+
+  if (!CSFile.is_open()) {
+    std::cout << " No CS file found "
+      << CSFilename << std::endl;
+    return;
+  }
+  while(CSFile.good()){
+    double gammaE, CrossSection;
+    getline(CSFile, LineBuffer);
+    std::istringstream ss(LineBuffer);
+    ss >> gammaE >> CrossSection; // E in MeV, converted to keV, CrossSection in cm2/g  
+    CrossSection *= 100.;
+    Map_PhotonCS[gammaE] = CrossSection;
+  }
+}
+
+Vector3D TExogamGeo::getouterpos(const double alpha, const double InteractionDepth){
+  double a,b,c,f;
+  double l = std::cos(alpha)*InteractionDepth; // length normal to the crystal
+  switch(OuterNumber){
+    case 0:
+      if(l >=30.){
+        a = 0.;
+        b = -39.;
+        c = 0.;
+        f = -39.;
+      }
+      else{
+        a = -0.273;
+        b = -30.81;
+        c = -0.273;
+        f = -30.81;
+      }
+      break;
+    case 1:
+      if(l >=30.){
+        a = 0.;
+        b = -12.25;
+        c = 0.;
+        f = -39.;
+      }
+      else{
+        a = -0.066;
+        b = -10.27;
+        c = -0.273;
+        f = -30.81;
+      }
+      break;
+    case 2:
+      if(l >=30.){
+        a = 0.;
+        b = -12.25;
+        c = 0.;
+        f = -12.25;
+      }
+      else{
+        a = -0.066;
+        b = -10.27;
+        c = -0.066;
+        f = -10.27;
+      }
+      break;
+    case 3:
+      if(l >=30.){
+        a = 0.;
+        b = -39.;
+        c = 0.;
+        f = -12.25;
+      }
+      else{
+        a = -0.273;
+        b = -30.81;
+        c = -0.066;
+        f = -10.27;
+      }
+      break;
+  }
+  return Vector3D(a*std::cos(alpha)*InteractionDepth + b, 0., c*std::cos(alpha)*InteractionDepth + f);
+}
+
+void TExogamGeo::setcrystal(Vector3D* SegmentPos){
+  return (*SegmentPos).rotateAroundY(-CrystalNumber*PI/2); // Crystal A= 0, Crystal B= 1 etc.
+}
+
+void TExogamGeo::setflange(Vector3D* SegmentPos){
+  switch (FlangeNumber){
+    case 1: 
+      (*SegmentPos).rotateVector(PI/4,0.);
+      break;
+    case 2: 
+      (*SegmentPos).rotateVector(-PI/2,-PI/4);
+      break;
+    case 3: 
+      (*SegmentPos).rotateVector(-PI/2,PI/4);
+      break;
+    case 4: 
+      (*SegmentPos).rotateVector(-PI/4,0.);
+      break;
+    case 5: 
+      (*SegmentPos).rotateVector(-3*PI/4,0.);
+      break;
+    case 6: 
+      // (*SegmentPos).rotateVector(-PI/2,-PI/2);
+      (*SegmentPos).rotateVector(-PI/2,PI/2);
+      break;
+    case 7: 
+      // (*SegmentPos).rotateVector(-3*PI/4,-PI/2);
+      (*SegmentPos).rotateVector(-3*PI/4,PI/2);
+      break;
+    case 8: 
+      (*SegmentPos).rotateVector(-PI,0.);
+      break;
+    case 9: 
+      // (*SegmentPos).rotateVector(-3*PI/4,PI/2);
+      (*SegmentPos).rotateVector(-3*PI/4,-PI/2);
+      break;
+    case 10: 
+      // (*SegmentPos).rotateVector(-PI/2,PI/2);
+      (*SegmentPos).rotateVector(-PI/2,-PI/2);
+      break;
+    case 11: 
+      // (*SegmentPos).rotateVector(-PI/4,PI/2);
+      (*SegmentPos).rotateVector(-PI/4,-PI/2);
+      break;
+    case 12: // Reference flange
+      break;
+    case 13: 
+      // (*SegmentPos).rotateVector(-PI/4,-PI/2);
+      (*SegmentPos).rotateVector(-PI/4,PI/2);
+      break;
+    case 14: 
+      (*SegmentPos).rotateVector(3*PI/4,0.);
+      break;
+    case 15: 
+      (*SegmentPos).rotateVector(-PI/2,-3*PI/4);
+      break;
+    case 16: 
+      (*SegmentPos).rotateVector(-PI/2,3*PI/4);
+      break;
+    case 17: 
+      (*SegmentPos).rotateVector(-PI/2,0.); // Beam in
+      break;
+    case 18: 
+      (*SegmentPos).rotateVector(PI/2,0.); // Beam out
+      break;
+    
+
+  }
+}
+
+void TExogamGeo::ResetGamma(){
+  GammaDir.clear();
+  Beam.clear();
+  HitPosition.clear();
+  Recoil.clear();
+  FlangeNumber=-1;
+  CrystalNumber=-1;
+  OuterNumber=-1;
+  EGamma=0.;
+  InteractionDepth=0.;
+}
+
+int main() {
+    // Paramètres de l'équation
+    double xt,yt,zt;
+    xt = 0.;
+    yt = 0.;
+    zt = 0.;   
+    Vector3D TargetPos(xt,yt,zt);
+    std::map<unsigned int,double> ExoRadius;
+    ExoRadius[1] = 147.0;
+    ExoRadius[2] = 147.0;
+    ExoRadius[3] = 147.0;
+    ExoRadius[4] = 147.0;
+    ExoRadius[5] = 147.0;
+    ExoRadius[6] = 147.0;
+    ExoRadius[7] = 147.0;
+    ExoRadius[8] = 147.0;
+    ExoRadius[9] = 147.0;
+    ExoRadius[10] = 147.0;
+    ExoRadius[11] = 147.0;
+    ExoRadius[12] = 147.0;
+    ExoRadius[13] = 147.0;
+    ExoRadius[14] = 147.0;
+    ExoRadius[15] = 147.0;
+    ExoRadius[16] = 147.0;
+    ExoRadius[17] = 147.0;
+    ExoRadius[18] = 147.0;
+    TExogamGeo ExoGeo(ExoRadius);
+    int FlangeNumber = 12;
+    int CrystalNumber = 0;
+    int OuterNumber = 1;
+    double EGamma = 1.0;
+    ExoGeo.SetGammaInteractionPoint(FlangeNumber,CrystalNumber,OuterNumber,EGamma);
+
+    Vector3D Recoil(0.,0.,1.);
+
+    // Valeur initiale de alpha en radians
+    double initial_guess = 1.5;
+
+    // Résoudre l'équation
+    Vector3D Vector_solution = ExoGeo.newton_raphson(initial_guess, TargetPos);
+
+    // Afficher la solution en radians et en degrés
+    // std::cout << "Solution en radians: " << Vector_solution.angle(Recoil) << std::endl;
+    // std::cout << "Solution en degrés: " << Vector_solution.angle(Recoil)* 180.0 / M_PI << std::endl;
+    // std::cout << "Angle par rapport à X: " << Vector_solution.angle(Vector3D(1.,0.,0.))* 180.0 / M_PI << std::endl;
+    // std::cout << "Angle par rapport à Y: " << Vector_solution.angle(Vector3D(0.,1.,0.))* 180.0 / M_PI << std::endl;
+    // std::cout << "Angle par rapport à Z: " << Vector_solution.angle(Vector3D(0.,0.,1.))* 180.0 / M_PI << std::endl;
+
+    return 0;
+}
\ No newline at end of file
diff --git a/NPLib/Detectors/Exogam/TExogamGeo.h b/NPLib/Detectors/Exogam/TExogamGeo.h
new file mode 100644
index 0000000000000000000000000000000000000000..87910364fb785f365dae8f66f3fb3fcd05a3a991
--- /dev/null
+++ b/NPLib/Detectors/Exogam/TExogamGeo.h
@@ -0,0 +1,157 @@
+#ifndef TEXOGAMGEO_H
+#define TEXOGAMGEO_H
+
+#include <vector>
+#include <map>
+#include <cmath>
+#include <iostream>
+#include <fstream>
+#include <sstream>
+#include <stdlib.h>
+
+class Vector3D {
+public:
+
+    Vector3D() : x(0.), y(0.), z(0.) {}
+    Vector3D(double x_, double y_, double z_) : x(x_), y(y_), z(z_) {}
+    ~Vector3D(){}
+    
+    void setXYZ(double x_, double y_, double z_) {
+        x = x_; y = y_; z = z_;
+    }
+
+    double norm() const {
+        return std::sqrt(x * x + y * y + z * z);
+    }
+
+    double scalarp(const Vector3D& other) const {
+        return x * other.x + y * other.y + z * other.z;
+    }
+
+    Vector3D vectorp(const Vector3D& other) const {
+        return Vector3D(
+            y * other.z - z * other.y,
+            z * other.x - x * other.z,
+            x * other.y - y * other.x
+        );
+    }
+    
+    void rotateAroundZ(double theta) {
+        double x_ = x * cos(theta) - y * sin(theta);
+        y = x * sin(theta) + y * cos(theta);
+        x = x_;
+    }
+    void rotateAroundY(double phi) {
+        double x_ = x * cos(phi) + z * sin(phi);
+        z = -x * sin(phi) + z * cos(phi);
+        x = x_;
+    }
+    
+    void rotateAroundX(double theta) {
+        double y_ = y * cos(theta) - z * sin(theta);
+        z = y * sin(theta) + z * cos(theta);
+        y = y_;
+    }
+    
+    void rotateVector(double theta, double phi) {
+        rotateAroundX(theta);
+        rotateAroundY(phi);
+    }
+
+    double angle(const Vector3D& other) const {
+        double ScalarProduct = this->scalarp(other);
+        double NormsProduct = this->norm() * other.norm();
+        return std::acos(ScalarProduct / NormsProduct);
+    }
+
+    Vector3D operator+(const Vector3D& other) const {
+        return Vector3D(x + other.x, y + other.y, z + other.z);
+    }
+
+    // Surcharge de l'opérateur de soustraction (-)
+    Vector3D operator-(const Vector3D& other) const {
+        return Vector3D(x - other.x, y - other.y, z - other.z);
+    }
+
+    void print(){
+        std::cout << "Vector coordinates: (" << x << ", " << y << ", " << z << ")" << std::endl;
+    }
+
+    double X(){return x;}
+    double Y(){return y;}
+    double Z(){return z;}
+
+    void clear(){x=0;y=0;z=0;}
+
+    bool isnull(){return x==0 && y == 0 && z==0;}
+    //double theta() const {
+    //    auto ZVector = Vector3D(0,0,1);
+    //    return angle(ZVector);
+    //}
+
+    //double phi() const{
+    //    auto XVector = Vector3D(1,0,0);
+    //    auto ProjVector = Vector3D(x,y,0);
+    //    return ProjVector.angle(XVector);
+    //}
+
+    private:
+        double x, y, z;
+};
+
+class TExogamGeo{
+
+    public:
+        TExogamGeo(std::map<unsigned int, double> Distances_);
+        ~TExogamGeo(){};
+        
+        void SetBeam(const Vector3D& Beam_,const Vector3D& HitPosition_){Beam=Beam_; HitPosition=HitPosition_;};
+        void SetRecoil(const Vector3D& Recoil_){Recoil=Recoil_;};
+        void SetGammaInteractionPoint(const short& FlangeNumber_,const short& CrystalNumber_,
+        const short& OuterNumber_,const short& EGamma_); // Which outer + Energy gamma of the addbacked gamma-ray for better inter depth reconstruction
+        double GetGammaAngle(); // Returns angle between the recoil and the gamma interaction point
+        double GetDopplerE(); // Get Doppler Corrected E
+        void ResetGamma(); // Resets Beam/HitPos/
+        
+
+        Vector3D newton_raphson(double initial_guess,
+        Vector3D& TargetPos, double tolerance, int max_iterations);
+        double interaction_depth(const double Energy);
+
+    private:
+        double p_function(const double alpha, Vector3D& SegmentPos, const Vector3D& TargetPos, Vector3D& UnitVector);
+        double equation(double alpha, Vector3D& SegmentPos, Vector3D& TargetPos, Vector3D& UnitVector);
+        double equation_derivative(const double alpha, Vector3D& SegmentPos, Vector3D& TargetPos, Vector3D& UnitVector);
+        void setcrystal(Vector3D* SegmentPos); 
+        void setflange(Vector3D* SegmentPos); 
+        Vector3D getouterpos(const double angle_alpha, const double InteractionDepth); 
+        void ReadPhotonCS();
+        
+        Vector3D GammaDir;
+
+        Vector3D Beam;
+        Vector3D HitPosition;
+        Vector3D Recoil;
+        short FlangeNumber;
+        short CrystalNumber;
+        short OuterNumber;
+        double EGamma;
+        double InteractionDepth;
+        std::map<unsigned int, double> Distances;
+        
+        double GeDensity = 0.005323; // g/mm3
+        std::map<double, double> Map_PhotonCS;
+
+
+
+
+
+
+
+
+
+
+
+
+};
+#endif 
\ No newline at end of file
diff --git a/NPLib/Detectors/Exogam/TExogamPhysics.cxx b/NPLib/Detectors/Exogam/TExogamPhysics.cxx
index f2961ebb6e5ff1f488c89aa2fa539d621d210d78..b8063da24395c0cc7eafa6dc9a2b35599bb2e48c 100644
--- a/NPLib/Detectors/Exogam/TExogamPhysics.cxx
+++ b/NPLib/Detectors/Exogam/TExogamPhysics.cxx
@@ -54,7 +54,6 @@ ClassImp(TExogamPhysics)
     m_ExoTDC_HighThreshold = 1e6;
     m_ExoTDC_LowThreshold = 0;
     m_EXO_OuterUp_RAW_Threshold = 60000;
-
   DataIsCal = false;
 }
   
@@ -208,18 +207,18 @@ void TExogamPhysics::BuildPhysicalEvent() {
     int MaxOuterId = GetMaxOuter(Id_Max);
     Outer_AB.push_back(GetMaxOuter(Id_Max));
 
-    if(MaxOuterId > -1){
-      Exogam_struc = Ask_For_Angles(flange_nbr, ComputeMeanFreePath(E_AddBack),147,0.0); //147 default value of Emmanuel's code
-      double Theta_seg = Exogam_struc.Theta_Crystal_Seg[crystal_nbr][MaxOuterId];
-      double Phi_seg = Exogam_struc.Phi_Crystal_Seg[crystal_nbr][MaxOuterId];
-
-      Theta.push_back(Theta_seg);
-      Phi.push_back(Phi_seg);
-    }
-    else{
-      Theta.push_back(-1000);
-      Phi.push_back(-1000);
-    }
+    //if(MaxOuterId > -1){
+    //  Exogam_struc = Ask_For_Angles(flange_nbr, ComputeMeanFreePath(E_AddBack),147,0.0); //147 default value of Emmanuel's code
+    //  double Theta_seg = Exogam_struc.Theta_Crystal_Seg[crystal_nbr][MaxOuterId];
+    //  double Phi_seg = Exogam_struc.Phi_Crystal_Seg[crystal_nbr][MaxOuterId];
+
+    //  Theta.push_back(Theta_seg);
+    //  Phi.push_back(Phi_seg);
+    //}
+    //else{
+    //  Theta.push_back(-1000);
+    //  Phi.push_back(-1000);
+    //}
   }
 }
 
@@ -257,15 +256,6 @@ int TExogamPhysics::GetMaxOuter(unsigned int EventId){
   }
   return OuterId;
 }
-
-///////////////////////////////////////////////////////////////////////////
-double TExogamPhysics::GetDoppler(double Energy, unsigned int Flange, unsigned int Crystal, unsigned int Outer){
-  Exogam_struc = Ask_For_Angles(Flange, ComputeMeanFreePath(Energy),147.0,0.0); // same
-  double Theta_seg = Exogam_struc.Theta_Crystal_Seg[Crystal][Outer];
-  double Phi_seg = Exogam_struc.Phi_Crystal_Seg[Crystal][Outer];
-  return Doppler_Correction(Theta_seg,Phi_seg,0,0,Beta,Energy);
-}
-
 ///////////////////////////////////////////////////////////////////////////
 double TExogamPhysics::ComputeMeanFreePath(double Energy){
   auto b = Map_PhotonCS.lower_bound(Energy);
@@ -281,6 +271,7 @@ double TExogamPhysics::ComputeMeanFreePath(double Energy){
   double coeff = (Energy - a->first)/(b->first - a->first);
 
   double PhotonCrossSection = a->second + coeff*(b->second - a->second); // mm2/g
+  // std::cout << 1./(GeDensity*PhotonCrossSection) << std::endl;
   return 1./(GeDensity*PhotonCrossSection);
 }
 
@@ -288,44 +279,13 @@ double TExogamPhysics::ComputeMeanFreePath(double Energy){
 
 // }
 
-///////////////////////////////////////////////////////////////////////////
-double TExogamPhysics::DopplerCorrection(double E, double Theta) {
-  double Pi = 3.141592654;
-  TString filename = "configs/beta.txt";
-  ifstream file;
-  // cout << filename << endl;
-  file.open(filename);
-  if (!file)
-    cout << filename << " was not opened" << endl;
-
-  double E_corr = 0;
-  double beta = 0.;
-  file >> beta;
-  double gamma = 1. / sqrt(1 - beta * beta);
-
-  E_corr = gamma * E * (1. - beta * cos(Theta * Pi / 180.));
-
-  return (E_corr);
-}
-
-///////////////////////////////////////////////////////////////////////////
 // Routine of doppler correction
 ///////////////////////////////////////////////////////////////////////////
-double TExogamPhysics::CorrectionDoppler(double theta_gamma, double phi_gamma, double theta_part, double phi_part, double beta_part, double E){  //rad, v/c
-  double Ecorr,cosinusPSI;
-
-  cosinusPSI =TMath::Sin(theta_part)*TMath::Cos(phi_part)*TMath::Sin(theta_gamma)*TMath::Cos(phi_gamma)+
-    TMath::Sin(theta_part)*TMath::Sin(phi_part)*TMath::Sin(theta_gamma)*TMath::Sin(phi_gamma)+
-    TMath::Cos(theta_part)*TMath::Cos(theta_gamma);
-
-  Ecorr = E*(1.-beta_part*cosinusPSI)/sqrt(1.-beta_part*beta_part);
-
-  return Ecorr;
+double TExogamPhysics::DopplerCorrection(double theta, double beta, double E){  //rad, v/c
+  return  E*(1.-beta*std::cos(theta))/sqrt(1.-beta*beta);
 }
-
 ///////////////////////////////////////////////////////////////////////////
 void TExogamPhysics::Clear() {
-  // Exogam_struc = {};
 
   E.clear();
   EHG.clear();
@@ -356,32 +316,45 @@ void TExogamPhysics::ReadConfiguration(NPL::InputParser parser) {
   vector<NPL::InputBlock*> blocks = parser.GetAllBlocksWithToken("Exogam");
   if (NPOptionManager::getInstance()->GetVerboseLevel())
     cout << "//// " << blocks.size() << " Exogam clover found " << endl;
+  
+  vector<string> ExoFlange = {"Flange","Radius"};
 
   for(unsigned int i=0; i<blocks.size(); i++){
-    if(NPOptionManager::getInstance()->GetVerboseLevel())
-      cout << endl << "//// EXOGAM Clover " << i+1 << endl;
-
-    m_NumberOfClovers++;
-    int flange = blocks[i]->GetInt("FLANGE");
-    m_flange.push_back(flange);
-    m_pos_segment[0][0].push_back(blocks[i]->GetTVector3("POS_CRYSTALA_SEG1","mm"));
-    m_pos_segment[0][1].push_back(blocks[i]->GetTVector3("POS_CRYSTALA_SEG2","mm"));
-    m_pos_segment[0][2].push_back(blocks[i]->GetTVector3("POS_CRYSTALA_SEG3","mm"));
-    m_pos_segment[0][3].push_back(blocks[i]->GetTVector3("POS_CRYSTALA_SEG4","mm"));
-    m_pos_segment[1][0].push_back(blocks[i]->GetTVector3("POS_CRYSTALB_SEG1","mm"));
-    m_pos_segment[1][1].push_back(blocks[i]->GetTVector3("POS_CRYSTALB_SEG2","mm"));
-    m_pos_segment[1][2].push_back(blocks[i]->GetTVector3("POS_CRYSTALB_SEG3","mm"));
-    m_pos_segment[1][3].push_back(blocks[i]->GetTVector3("POS_CRYSTALB_SEG4","mm"));
-    m_pos_segment[2][0].push_back(blocks[i]->GetTVector3("POS_CRYSTALC_SEG1","mm"));
-    m_pos_segment[2][1].push_back(blocks[i]->GetTVector3("POS_CRYSTALC_SEG2","mm"));
-    m_pos_segment[2][2].push_back(blocks[i]->GetTVector3("POS_CRYSTALC_SEG3","mm"));
-    m_pos_segment[2][3].push_back(blocks[i]->GetTVector3("POS_CRYSTALC_SEG4","mm"));
-    m_pos_segment[3][0].push_back(blocks[i]->GetTVector3("POS_CRYSTALD_SEG1","mm"));
-    m_pos_segment[3][1].push_back(blocks[i]->GetTVector3("POS_CRYSTALD_SEG2","mm"));
-    m_pos_segment[3][2].push_back(blocks[i]->GetTVector3("POS_CRYSTALD_SEG3","mm"));
-    m_pos_segment[3][3].push_back(blocks[i]->GetTVector3("POS_CRYSTALD_SEG4","mm"));
-
-    MapFlangeToCloverNumber[flange] = m_NumberOfClovers; 
+    if (blocks[i]->HasTokenList(ExoFlange)) {
+      if(NPOptionManager::getInstance()->GetVerboseLevel())
+        std::cout << std::endl << "//// EXOGAM Clover in radial geometry " << i+1 << endl;
+      m_NumberOfClovers++;
+      unsigned short flange = blocks[i]->GetInt("Flange");
+      double radius = blocks[i]->GetDouble("Radius","mm");
+      std::cout << std::endl << "//// EXOGAM Clover in radial geometry " << i+1 << endl;
+      MapFlangeRadius[flange] = radius;
+    }
+    else{
+      if(NPOptionManager::getInstance()->GetVerboseLevel())
+        cout << endl << "//// EXOGAM Clover " << i+1 << endl;
+
+      m_NumberOfClovers++;
+      int flange = blocks[i]->GetInt("FLANGE");
+      m_flange.push_back(flange);
+      m_pos_segment[0][0].push_back(blocks[i]->GetTVector3("POS_CRYSTALA_SEG1","mm"));
+      m_pos_segment[0][1].push_back(blocks[i]->GetTVector3("POS_CRYSTALA_SEG2","mm"));
+      m_pos_segment[0][2].push_back(blocks[i]->GetTVector3("POS_CRYSTALA_SEG3","mm"));
+      m_pos_segment[0][3].push_back(blocks[i]->GetTVector3("POS_CRYSTALA_SEG4","mm"));
+      m_pos_segment[1][0].push_back(blocks[i]->GetTVector3("POS_CRYSTALB_SEG1","mm"));
+      m_pos_segment[1][1].push_back(blocks[i]->GetTVector3("POS_CRYSTALB_SEG2","mm"));
+      m_pos_segment[1][2].push_back(blocks[i]->GetTVector3("POS_CRYSTALB_SEG3","mm"));
+      m_pos_segment[1][3].push_back(blocks[i]->GetTVector3("POS_CRYSTALB_SEG4","mm"));
+      m_pos_segment[2][0].push_back(blocks[i]->GetTVector3("POS_CRYSTALC_SEG1","mm"));
+      m_pos_segment[2][1].push_back(blocks[i]->GetTVector3("POS_CRYSTALC_SEG2","mm"));
+      m_pos_segment[2][2].push_back(blocks[i]->GetTVector3("POS_CRYSTALC_SEG3","mm"));
+      m_pos_segment[2][3].push_back(blocks[i]->GetTVector3("POS_CRYSTALC_SEG4","mm"));
+      m_pos_segment[3][0].push_back(blocks[i]->GetTVector3("POS_CRYSTALD_SEG1","mm"));
+      m_pos_segment[3][1].push_back(blocks[i]->GetTVector3("POS_CRYSTALD_SEG2","mm"));
+      m_pos_segment[3][2].push_back(blocks[i]->GetTVector3("POS_CRYSTALD_SEG3","mm"));
+      m_pos_segment[3][3].push_back(blocks[i]->GetTVector3("POS_CRYSTALD_SEG4","mm"));
+
+      MapFlangeToCloverNumber[flange] = m_NumberOfClovers;
+    } 
   }
 
   ReadAnalysisConfig();
@@ -395,24 +368,6 @@ void TExogamPhysics::ReadAnalysisConfig() {
   // path to photon cross section
   string CSFilename = string(getenv("NPTOOL")) + "/Inputs/PhotonCrossSection/CoherentGe.xcom";
   string LineBuffer;
-
-  ifstream CSFile;
-  CSFile.open(CSFilename.c_str());
-
-  if (!CSFile.is_open()) {
-    cout << " No CS file found "
-      << CSFilename << endl;
-    return;
-  }
-  while(CSFile.good()){
-    double gammaE, CrossSection;
-    getline(CSFile, LineBuffer);
-    istringstream ss(LineBuffer);
-    ss >> gammaE >> CrossSection; // E in MeV, converted to keV, CrossSection in cm2/g  
-    gammaE *= 1000.; // Convertion to keV
-    CrossSection *= 100.;
-    Map_PhotonCS[gammaE] = CrossSection;
-  }
   // path to file
   string FileName = "./configs/ConfigExogam.dat";
 
@@ -491,6 +446,8 @@ void TExogamPhysics::ReadAnalysisConfig() {
       }
     }
   }
+  if(MapFlangeRadius.size() > 0)
+    ExogamGeo = new TExogamGeo(MapFlangeRadius);
 }
 void TExogamPhysics::InitSpectra() {
 }
@@ -577,7 +534,7 @@ void TExogamPhysics::AddClover(int Board, int Flange, int Channel0, int Channel1
 //	Add Parameter to the CalibrationManger
 //////////////////////////////////////////////////////////////////////////
 void TExogamPhysics::AddParameterToCalibrationManager() {
-
+  std::cout << "OUI VOILA" << std::endl;
   CalibrationManager* Cal = CalibrationManager::getInstance();
 
   for (auto it = MapCrystalFlangeCLover.begin(); it != MapCrystalFlangeCLover.end(); it++)
@@ -816,7 +773,7 @@ void TExogamPhysics::DoCalibration() {
   }
   std::string make_folder = "mkdir " + Path + OutputName;
 
-  MakeInitialCalibFolder(make_folder);
+  MakeFolder(make_folder);
 
   ofstream* calib_file = new ofstream;
   ofstream* dispersion_file = new ofstream;
@@ -861,7 +818,7 @@ void TExogamPhysics::DoCalibration() {
 }
 
 /////////////////////////////////////////////////////////////////////
-void TExogamPhysics::MakeInitialCalibFolder(std::string make_folder) {
+void TExogamPhysics::MakeFolder(std::string make_folder) {
   int sys = system(make_folder.c_str());
 }
 
@@ -987,77 +944,94 @@ void TExogamPhysics::DefineCalibrationSource(std::string source) {
     Source_E.push_back(0.121782);
     Source_Sig.push_back(0.0001);
     Source_branching_ratio.push_back(28.58);
+    Source_branching_ratio_err.push_back(0.16);
 
     Source_isotope.push_back("$^{152}$Eu");
     Source_E.push_back(0.344279);
     Source_Sig.push_back(0.0001);
-    Source_branching_ratio.push_back(26.5);
+    Source_branching_ratio.push_back(26.59);
+    Source_branching_ratio_err.push_back(0.20);
 
     Source_isotope.push_back("$^{152}$Eu");
     Source_E.push_back(1.40801);
     Source_Sig.push_back(0.0001);
-    Source_branching_ratio.push_back(21.0);
+    Source_branching_ratio.push_back(20.87);
+    Source_branching_ratio_err.push_back(0.09);
 
     Source_isotope.push_back("$^{152}$Eu");
     Source_E.push_back(0.964079);
     Source_Sig.push_back(0.0001);
-    Source_branching_ratio.push_back(14.6);
+    Source_branching_ratio.push_back(14.51);
+    Source_branching_ratio_err.push_back(0.07);
 
-    Source_isotope.push_back("$^{152}$Eu");
-    Source_E.push_back(1.11207);
-    Source_Sig.push_back(0.0001);
-    Source_branching_ratio.push_back(13.64);
+    // FIXME Fit does not work properly for this peak (no idea why)
+    // Source_isotope.push_back("$^{152}$Eu");
+    // Source_E.push_back(1.11207);
+    // Source_Sig.push_back(0.0001);
+    // Source_branching_ratio.push_back(13.67);
+    // Source_branching_ratio_err.push_back(0.08);
 
     Source_isotope.push_back("$^{152}$Eu");
     Source_E.push_back(0.778904);
     Source_Sig.push_back(0.0001);
-    Source_branching_ratio.push_back(12.94);
+    Source_branching_ratio.push_back(12.93);
+    Source_branching_ratio_err.push_back(0.08);
 
     Source_isotope.push_back("$^{152}$Eu");
     Source_E.push_back(1.08587);
     Source_Sig.push_back(0.0001);
-    Source_branching_ratio.push_back(10.21);
+    Source_branching_ratio.push_back(10.11);
+    Source_branching_ratio_err.push_back(0.05);
 
     Source_isotope.push_back("$^{152}$Eu");
     Source_E.push_back(0.244698);
     Source_Sig.push_back(0.0001);
     Source_branching_ratio.push_back(7.58);
+    Source_branching_ratio_err.push_back(0.04);
 
     Source_isotope.push_back("$^{152}$Eu");
     Source_E.push_back(0.867378);
     Source_Sig.push_back(0.0001);
-    Source_branching_ratio.push_back(4.25);
+    Source_branching_ratio.push_back(4.23);
+    Source_branching_ratio_err.push_back(0.03);
 
     Source_isotope.push_back("$^{152}$Eu");
     Source_E.push_back(0.443965);
     Source_Sig.push_back(0.0001);
-    Source_branching_ratio.push_back(2.82);
+    Source_branching_ratio.push_back(2.827);
+    Source_branching_ratio_err.push_back(0.014);
 
     Source_isotope.push_back("$^{152}$Eu");
     Source_E.push_back(0.411116);
     Source_Sig.push_back(0.0001);
-    Source_branching_ratio.push_back(2.23);
+    Source_branching_ratio.push_back(2.237);
+    Source_branching_ratio_err.push_back(0.013);
 
     Source_isotope.push_back("$^{152}$Eu");
     Source_E.push_back(1.08974);
     Source_Sig.push_back(0.0001);
-    Source_branching_ratio.push_back(1.73);
+    Source_branching_ratio.push_back(1.734);
+    Source_branching_ratio_err.push_back(0.011);
 
-    Source_isotope.push_back("$^{152}$Eu");
-    Source_E.push_back(1.29914);
-    Source_Sig.push_back(0.0001);
-    Source_branching_ratio.push_back(1.62);
+    // FIXME Fit does not work properly for this peak (no idea why)
+    // Source_isotope.push_back("$^{152}$Eu");
+    // Source_E.push_back(1.29914);
+    // Source_Sig.push_back(0.0001);
+    // Source_branching_ratio.push_back(1.633);
+    // Source_branching_ratio_err.push_back(0.011);
 
     Source_isotope.push_back("$^{152}$Eu");
     Source_E.push_back(1.21295);
     Source_Sig.push_back(0.0001);
-    Source_branching_ratio.push_back(1.42);
+    Source_branching_ratio.push_back(1.415);
+    Source_branching_ratio_err.push_back(0.008);
 
   }
   else{
     std::cout << "Please enter a valid source for gamma ray calibration\nCurrently supported sources are 60Co and 152Eu\n";
     exit(1);
   }
+  std::cout << "///////////////////////////////// " << Source_E.size() << " " << Source_branching_ratio.size() << std::endl;
 }
 
 
@@ -1149,6 +1123,62 @@ void TExogamPhysics::WriteHistogramsCalib() {
   RootHistogramsCalib::getInstance()->GetFile()->Close();
 }
 
+/////////////////////////////////////////////////////////////////////
+void TExogamPhysics::WriteHistogramsEfficiency() {
+  std::cout << "Writing Exogam Efficiency\n";
+  auto File = RootHistogramsCalib::getInstance()->GetFile();
+  auto TH1Map = RootHistogramsCalib::getInstance()->GetTH1Map();
+  auto TGraphMap = RootHistogramsCalib::getInstance()->GetTGraphMap();
+  auto TCanvasMap = RootHistogramsCalib::getInstance()->GetTCanvasMap();
+  
+  std::string Path = NPOptionManager::getInstance()->GetEfficiencyOutputPath();
+  std::string OutputName = NPOptionManager::getInstance()->GetOutputFile();
+
+  map<int, bool>::iterator it;
+  std::string hnameEXOE;
+
+  if (!File->GetDirectory("Exogam"))
+    File->mkdir("Exogam");
+  File->cd("Exogam");
+
+  for (it = DoEfficiency.begin(); it != DoEfficiency.end(); it++) {
+    if (it->second) {
+
+      if (!gDirectory->GetDirectory(Form("EXO_Cr%d", it->first)))
+        gDirectory->mkdir(Form("EXO_Cr%d", it->first));
+      gDirectory->cd(Form("EXO_Cr%d", it->first));
+
+      hnameEXOE = Form("EXO_E%d", it->first);
+      (*TH1Map)["Exogam"][hnameEXOE]->Write();
+      (*TCanvasMap)["Exogam"][hnameEXOE]->SaveAs((Path+OutputName+"/"+ hnameEXOE+".png").c_str());
+      hnameEXOE = Form("EXO_TS%d", it->first);
+      (*TH1Map)["Exogam"][hnameEXOE]->Write();
+      hnameEXOE = Form("EXO_Eff%d", it->first);
+      (*TGraphMap)["Exogam"][hnameEXOE]->Write();
+      (*TCanvasMap)["Exogam"][hnameEXOE]->SaveAs((Path+OutputName+"/"+ hnameEXOE+".png").c_str());
+      //if((*TGraphMap)["Exogam"][Form("Calib_Graph_EXO_E%d",it->first)]!= nullptr)
+      //  (*TGraphMap)["Exogam"][Form("Calib_Graph_EXO_E%d",it->first)]->Write();
+      //if((*TGraphMap)["Exogam"][Form("Residue_Graph_EXO_E%d",it->first)]!= nullptr)
+      //  (*TGraphMap)["Exogam"][Form("Residue_Graph_EXO_E%d",it->first)]->Write();
+    }
+    File->cd("Exogam");
+  }
+  hnameEXOE = "EXO_E_all";
+  (*TH1Map)["Exogam"][hnameEXOE]->Write();
+  (*TCanvasMap)["Exogam"][hnameEXOE]->SaveAs((Path+OutputName+"/"+ hnameEXOE+".png").c_str());
+  hnameEXOE = "EXO_TS_all";
+  (*TH1Map)["Exogam"][hnameEXOE]->Write();
+  hnameEXOE = "EXO_Eff_all";
+  (*TGraphMap)["Exogam"][hnameEXOE]->Write();
+  (*TCanvasMap)["Exogam"][hnameEXOE]->SaveAs((Path+OutputName+"/"+ hnameEXOE+".png").c_str());
+  for(auto PeakE: Source_E)
+    (*TGraphMap)["Exogam"]["Exo_Eff_crystal "+NPL::itoa(int(PeakE*1000.))+" keV"]->Write();
+
+  
+  
+  RootHistogramsCalib::getInstance()->GetFile()->Close();
+}
+
 /////////////////////////////////////////////////////////////////////
 void TExogamPhysics::WriteHistogramsE() {
   auto File = RootHistogramsCalib::getInstance()->GetFile();
@@ -1219,6 +1249,737 @@ void TExogamPhysics::WriteHistogramsE() {
     }
   }
 }
+
+void TExogamPhysics::InitializeRootHistogramsEfficiency() {
+  DefineCalibrationSource(Source_name);
+  
+  std::cout << "Initialize Exogam Efficiency Histograms" << std::endl;
+  map<int, bool>::iterator it;
+  auto TH1Map = RootHistogramsCalib::getInstance()->GetTH1Map();
+  auto TGraphMap = RootHistogramsCalib::getInstance()->GetTGraphMap();
+
+  // unsigned long long FirstTS = FindFirstExoTS();
+  // unsigned long long LastTS = FindLastExoTS();
+  // std::cout << "Les TS: " << FirstTS << " " << LastTS << std::endl;
+  //FIXME First TS and Last TS work byut idk how to handle runs with bad TS indexin//FIXME First TS and Last TS work byut idk how to handle runs with bad TS indexingg
+  for (it = DoEfficiency.begin(); it != DoEfficiency.end(); it++) {
+    if (it->second) {
+      TString hnameEXOE = Form("EXO_E%d", it->first);
+      TString htitleEXOE = Form("EXO_E%d", it->first);
+      (*TH1Map)["Exogam"][hnameEXOE] = new TH1F(hnameEXOE, htitleEXOE, 5000, 0, 5000);
+      hnameEXOE = Form("EXO_TS%d", it->first);
+      htitleEXOE = Form("EXO_TS%d", it->first);
+      (*TH1Map)["Exogam"][hnameEXOE] = new TH1F(hnameEXOE, htitleEXOE,10000,0,pow(2,48)); 
+    }
+  }
+  (*TH1Map)["Exogam"]["EXO_E_all"] = new TH1F("EXO_E_all", "EXO_E_all", 5000, 0, 5000);
+  (*TH1Map)["Exogam"]["EXO_TS_all"] = new TH1F("EXO_TS_all", "EXO_TS_all", 10000,0,pow(2,48));
+  for(auto PeakE: Source_E){
+    (*TGraphMap)["Exogam"]["Exo_Eff_crystal "+NPL::itoa(int(PeakE*1000.))+" keV"] = new TGraphErrors;
+    std::cout << "Exo_Eff_crystal "+NPL::itoa(int(PeakE*1000.))+" keV" << std::endl;
+    (*TGraphMap)["Exogam"]["Exo_Eff_crystal "+NPL::itoa(int(PeakE*1000.))+" keV"]->SetName(("EfficiencyByCrystal"+NPL::itoa(int(PeakE*1000.))+"keV").c_str());
+    (*TGraphMap)["Exogam"]["Exo_Eff_crystal "+NPL::itoa(int(PeakE*1000.))+" keV"]->SetTitle(("Efficiency By Crystal "+NPL::itoa(int(PeakE*1000.))+" keV").c_str());
+  }
+}
+
+
+unsigned long long TExogamPhysics::FindFirstExoTS(){
+  TTreeReader* TreeReader = RootInput::getInstance()->GetTreeReader();
+  unsigned long long FirstTSValue = 0;
+  bool FirstTSFound = false;
+  TreeReader->Restart();
+  while(TreeReader->Next() && !FirstTSFound){
+    ClaimReaderData();
+    for(auto TSvalue: m_EventData->fExo_TS){
+      if(TSvalue > 0){
+        FirstTSValue = TSvalue;
+        FirstTSFound = true; 
+      }
+    }
+  }
+  TreeReader->Restart();
+  return FirstTSValue;
+}
+
+unsigned long long TExogamPhysics::FindLastExoTS(){
+  TTreeReader* TreeReader = RootInput::getInstance()->GetTreeReader();
+  unsigned long long LastTSValue = 0;
+  bool LastTSFound = false;
+  TreeReader->Restart();
+  for(unsigned long long i = TreeReader->GetTree()->GetEntries() - 1; i >= 0 && !LastTSFound; i--){
+    TreeReader->SetEntry(i);
+    ClaimReaderData();
+    for(auto TSvalue: m_EventData->fExo_TS){
+      if(TSvalue > 0){
+        LastTSValue = TSvalue;
+        std::cout << LastTSValue << " " << m_EventData->fExo_Crystal[0] << " " << m_EventData->fExo_Crystal.size() <<  " " << i <<  std::endl;
+        LastTSFound = true; 
+      }
+    }
+  }
+  TreeReader->Restart();
+  return LastTSValue;
+}
+
+void TExogamPhysics::Efficiency() {
+  std::cout << "Evaluate Efficiency Exogam" << std::endl;
+  
+  map<int, bool>::iterator it;
+  
+  std::string Path = NPOptionManager::getInstance()->GetEfficiencyOutputPath();
+  std::string OutputName = NPOptionManager::getInstance()->GetOutputFile();
+  if (OutputName.size() > 5) {
+    if (OutputName.substr(OutputName.size() - 5, OutputName.size()) == ".root") {
+      OutputName = OutputName.substr(0, OutputName.size() - 5);
+    }
+  }
+  std::string make_folder = "mkdir " + Path + OutputName;
+
+  MakeFolder(make_folder);
+
+  ofstream* efficiency_file = new ofstream;
+  if(!DoEfficiency.empty()){
+    CreateEfficiencyFile(efficiency_file);
+  }
+  for (it = DoEfficiency.begin(); it != DoEfficiency.end(); it++) {
+    if (it->second) {
+      EvaluateEfficiency_F(NPL::itoa((int)it->first), efficiency_file, Source_activity);
+    }
+  }
+  EvaluateEfficiency_F("_all", efficiency_file, Source_activity);
+  efficiency_file->close();
+}
+
+void TExogamPhysics::CreateEfficiencyFile(ofstream* efficiency_file) {
+  std::string Path = NPOptionManager::getInstance()->GetEfficiencyOutputPath();
+  std::string OutputName = NPOptionManager::getInstance()->GetOutputFile();
+  if (OutputName.size() > 5) {
+    if (OutputName.substr(OutputName.size() - 5, OutputName.size()) == ".root") {
+      OutputName = OutputName.substr(0, OutputName.size() - 5);
+    }
+  }
+  TString Filename = "Efficiency_EXOGAM";
+  (*efficiency_file).open(((string)(Path + OutputName + Filename + ".ef")).c_str());
+}
+
+void TExogamPhysics::ReadEfficiency(NPL::InputParser parser) {
+  vector<NPL::InputBlock*> blocks = parser.GetAllBlocksWithToken("Exogam");
+
+  vector<string> eff = {"FirstCr","LastCr","Source","SourceActivity","minmax","Time"};
+
+  for (unsigned int i = 0; i < blocks.size(); i++) {
+    if (blocks[i]->HasTokenList(eff)) {
+      if (NPOptionManager::getInstance()->GetVerboseLevel())
+        cout << endl << "////  Exogam Efficiency" << endl;
+      unsigned int FirstCr = blocks[i]->GetInt("FirstCr");
+      unsigned int LastCr = blocks[i]->GetInt("LastCr");
+      Source_name = blocks[i]->GetString("Source");
+      Source_activity = blocks[i]->GetInt("SourceActivity");
+      minmax = blocks[i]->GetInt("minmax");
+      Time = blocks[i]->GetInt("Time");
+      for(unsigned int k = FirstCr; k <= LastCr; k++){
+        DoEfficiency[k] = true;
+      }
+    }
+    else {
+      cout << "ERROR: Missing token for Exogam Efficiency blocks, check your "
+        "input "
+        "file"
+        << endl;
+      exit(1);
+    }
+  }
+}
+
+void TExogamPhysics::FillHistogramsEfficiency() {
+  Clear();
+  if (NPOptionManager::getInstance()->IsReader())
+    m_EventData = &(**r_ReaderEventData);
+
+  auto TH1Map = RootHistogramsCalib::getInstance()->GetTH1Map();
+  TString hname;
+  
+  std::map<unsigned int,std::vector<unsigned int>> HitsID;
+
+  for(unsigned int i = 0; i < m_EventData->GetExoMult(); i++){
+      // Doing flange and crystal matching
+      if (m_EventData->GetExoE(i) > m_EXO_E_RAW_Threshold){
+        E.push_back(fEXO_E(m_EventData, i));
+        flange_nbr = MapCrystalFlangeCLover[m_EventData->GetExoCrystal(i)].first;
+        crystal_nbr = MapCrystalFlangeCLover[m_EventData->GetExoCrystal(i)].second;
+        Flange.push_back(flange_nbr);
+        Crystal.push_back(crystal_nbr);
+        TS.push_back(m_EventData->GetExoTS(i));
+        HitsID[flange_nbr].push_back(i);
+      }
+    }
+  for(auto it = HitsID.begin(); it != HitsID.end(); it++){
+    double E_AddBack = 0;
+    double E_Max = 0;
+    unsigned int Id_Max = 0;
+    for(auto itvec = (*it).second.begin(); itvec !=(*it).second.end(); itvec++){
+      double E_Crystal = fEXO_E(m_EventData, *itvec);
+      // std::cout << E_Crystal << " " << m_EventData->GetExoE(*itvec) << std::endl;
+      E_AddBack+= E_Crystal;
+      if(E_Max < E_Crystal){
+        E_Max = E_Crystal;
+        Id_Max = *itvec;
+        
+      }
+    }
+    hname = Form("EXO_E%d", m_EventData->GetExoCrystal(Id_Max));
+    (*TH1Map)["Exogam"][hname]->Fill(1000.*E_AddBack);
+    hname = Form("EXO_TS%d",m_EventData->GetExoCrystal(Id_Max));
+    (*TH1Map)["Exogam"][hname]->Fill(m_EventData->GetExoTS(Id_Max));
+    (*TH1Map)["Exogam"]["EXO_E_all"]->Fill(1000.*E_AddBack);
+    (*TH1Map)["Exogam"]["EXO_TS_all"]->Fill(m_EventData->GetExoTS(Id_Max));
+    // if(m_EventData->GetExoTS(Id_Max) > 15657103568298)
+    // std::cout << E_AddBack << " " << m_EventData->GetExoTS(Id_Max) << " " <<m_EventData->GetExoCrystal(Id_Max)  << std::endl;
+  }
+}
+
+void TExogamPhysics::EvaluateEfficiency_F(std::string DetectorID, ofstream* efficiency_file, double Source_activity) {
+  auto TH1Map = RootHistogramsCalib::getInstance()->GetTH1Map();
+  auto TCanvasMap = RootHistogramsCalib::getInstance()->GetTCanvasMap();
+  auto TGraphMap = RootHistogramsCalib::getInstance()->GetTGraphMap();
+  
+  
+  TString hname = "EXO_E"+DetectorID;
+  
+  auto c1 = new TCanvas("c1","c1",800,600);
+  c1->SetName("Peaks Fitted "+hname);
+  c1->SetTitle("Peaks Fitted "+hname);
+  FindPeaks((*TH1Map)["Exogam"][hname]);
+  (*TH1Map)["Exogam"][hname]->Draw();
+  (*TH1Map)["Exogam"][hname]->GetXaxis()->SetRangeUser(0.,*std::max_element(Source_E.begin(),Source_E.end())*1.1*1000);
+  c1->Modified();
+  c1->Update();
+  (*TCanvasMap)["Exogam"][hname] = c1;
+  std::vector<std::pair<double, double>> EfficiencyPoints;
+  std::vector<std::pair<double, double>> EfficiencyPointsErr;
+
+
+  // Get number of counts for each energy
+  for(int j = 0; j < Energies.size(); j++){
+    FitResult= nullptr;
+    double Area[2];
+    FitFunction((*TH1Map)["Exogam"][hname],j,Area);
+    std::cout << "TEST HUGO " << Area[0] << " " << Area[1] << std::endl;
+    double FWHM = fFitFunction->GetParameter(6);
+    double FWHMerr = fFitFunction->GetParError(6);
+    double mean = fFitFunction->GetParameter(5);
+    double meanerr = fFitFunction->GetParError(5);
+    EfficiencyPoints.push_back(std::make_pair(mean,Area[0]));
+    EfficiencyPointsErr.push_back(std::make_pair(meanerr,Area[1]));
+  }
+  // Get TS difference
+  hname = "EXO_TS"+DetectorID;
+  // double TimeDifference = ((*TH1Map)["Exogam"][hname]->GetXaxis()->GetXmax() - (*TH1Map)["Exogam"][hname]->GetXaxis()->GetXmin())/(pow(10,8));
+  double TimeDifference = Time;
+
+
+  auto g = new TGraphErrors;
+  std:: cout << efficiency_file << " " << (*efficiency_file).is_open() << std::endl;
+  hname = "Detector "+DetectorID;
+  std:: cout << hname << " ";
+  g->SetName("EfficiencyResults "+hname);
+  g->SetTitle("Efficiency Results "+hname);
+  (*efficiency_file) << hname << " ";
+    for(unsigned int i = 0; i < EfficiencyPoints.size(); i++){
+  
+      double Efficiency = EfficiencyPoints[i].second/(Source_activity*Source_branching_ratio[SourceID[i]]/100.*TimeDifference);
+      g->SetPoint(i,EfficiencyPoints[i].first, Efficiency);
+      double EfficiencyErr = Efficiency*sqrt(pow(1e-8/TimeDifference,2) + pow(Source_branching_ratio_err[SourceID[i]]/Source_branching_ratio[SourceID[i]],2) + pow(EfficiencyPointsErr[i].second/EfficiencyPoints[i].second,2));      
+      g->SetPointError(i,EfficiencyPointsErr[i].first, EfficiencyErr);
+      if(DetectorID.compare("_all")!=0)
+      { 
+        auto crystalgraph = (*TGraphMap)["Exogam"]["Exo_Eff_crystal "+NPL::itoa(int(Source_E[SourceID[i]]*1000.))+" keV"];
+        std::cout << "Exo_Eff_crystal "+NPL::itoa(int(Source_E[SourceID[i]]*1000.))+" keV" << std::endl;
+        unsigned int N = crystalgraph->GetN();
+        crystalgraph->SetPoint(N, std::atoi(DetectorID.c_str()), Efficiency);
+        crystalgraph->SetPointError(N, 0., EfficiencyErr);
+      }
+      (*efficiency_file) << scientific << setprecision(6) << setw(14) << EfficiencyPoints[i].first << " " 
+      << EfficiencyPointsErr[i].first << " " << Efficiency << " " << EfficiencyErr;
+  }
+  (*efficiency_file) << "\n";
+  hname = "EXO_Eff"+DetectorID;
+  (*TGraphMap)["Exogam"][hname] = g;
+
+  auto c2 = new TCanvas("c2","c2",800,600);
+  c2->SetName("EfficiencyResults "+hname);
+  c2->SetTitle("Efficiency Results "+hname);
+  (*TGraphMap)["Exogam"][hname]->Draw("ap");
+  // gDirectory->Add((*TGraphMap)["Exogam"][hname]);
+  c2->Modified();
+  c2->Update();
+  (*TCanvasMap)["Exogam"][hname] = c2;
+
+  //if(FitResults.size() > 1)
+  //{
+  //  (*TGraphMap)["Exogam"][Form("Calib_Graph_%s",hnameEXOE.c_str())] = (TGraphErrors*)(CubixEnergyCal->fCalibGraph->Clone());
+  //  (*TGraphMap)["Exogam"][Form("Calib_Graph_%s",hnameEXOE.c_str())]->GetYaxis()->SetTitle("Energy (MeV)");
+  //  (*TGraphMap)["Exogam"][Form("Calib_Graph_%s",hnameEXOE.c_str())]->SetTitle(Form("Calibration_Graph_%s",hnameEXOE.c_str()));
+
+  //  (*TGraphMap)["Exogam"][Form("Residue_Graph_%s",hnameEXOE.c_str())] = (TGraphErrors*)(CubixEnergyCal->fResidueGraph->Clone());
+  //  (*TGraphMap)["Exogam"][Form("Residue_Graph_%s",hnameEXOE.c_str())]->GetXaxis()->SetTitle("Energy (MeV)");
+  //  (*TGraphMap)["Exogam"][Form("Residue_Graph_%s",hnameEXOE.c_str())]->GetYaxis()->SetTitle("Residue (MeV)");
+  //  (*TGraphMap)["Exogam"][Form("Residue_Graph_%s",hnameEXOE.c_str())]->SetTitle(Form("Residue_Graph_%s",hnameEXOE.c_str()));
+  //}
+
+}
+
+int TExogamPhysics::FindMatchingEnergy(double Energy){
+  for(unsigned int i = 0; i < Source_E.size(); i++){
+    if(abs(Source_E[i]*1000 - Energy) < minmax)
+      return i;
+  }
+  return -1;
+}
+
+void TExogamPhysics::FindPeaks(TH1* Hist){
+  Energies.clear();
+  MinMax.clear();
+  SourceID.clear();
+  TSpectrum *tspec = new TSpectrum;
+  tspec->Search(Hist,sigma,"goff",threshold);
+
+  int NPeaks = tspec->GetNPeaks();
+
+  for(int i=0 ; i<NPeaks ; i++) {
+    double Energy = tspec->GetPositionX()[i];
+    double Value = tspec->GetPositionY()[i];
+    double MaxGlob = Hist->GetMaximum();
+    // Next line finds is a peak in the source is recognized
+    std::cout << "Energy 1 " << Energy << std::endl;
+    int SourceIndex = FindMatchingEnergy(Energy);
+    std::cout << Energy << " " << SourceIndex << std::endl;
+      if(SourceIndex > -1){
+        Energies.push_back(Energy);
+        MinMax.push_back(std::make_pair(Energy-minmax,Energy+minmax));
+        SourceID.push_back(SourceIndex);
+      }
+  }
+  
+  Hist->GetYaxis()->SetRangeUser(0,Hist->GetMaximum()*1.1);
+
+  std::vector<int> Indexes(Energies.size());
+  for(unsigned int i = 0; i < Indexes.size();i++){
+    Indexes[i] = i;
+  }
+
+  std::sort(Indexes.begin(), Indexes.end(), [this](int i1, int i2) {
+        return this->Energies[i1] < this->Energies[i2];});
+  std::vector<double> Energies_sorted(Energies.size());
+  std::vector<int> SourceID_sorted(SourceID.size());
+  std::vector<std::pair<double,double>> MinMax_sorted(MinMax.size());
+
+  for(unsigned int i = 0; i < Indexes.size();i++){
+    Energies_sorted[i] = Energies[Indexes[i]];
+    SourceID_sorted[i] = SourceID[Indexes[i]];
+    MinMax_sorted[i] = MinMax[Indexes[i]];
+  }
+
+  Energies = Energies_sorted;
+  SourceID = SourceID_sorted;
+  MinMax = MinMax_sorted;
+  
+  for(auto v: Indexes)
+    std::cout << v << std::endl;
+  
+  for(auto v: Energies)
+    std::cout << v << std::endl;
+  for(auto v: MinMax)
+    std::cout << v.first << " " << v.second << std::endl;
+  std::cout << std::endl;
+}
+
+void TExogamPhysics::InitFitParameters(){
+  Minimizer = "Minuit2";
+  Algorithm = "Migrad";
+  Tolerance = 0.1;
+  PrintLevel = 0;
+
+
+  // Fit Parameters
+  ROOT::Math::MinimizerOptions::SetDefaultMinimizer(Minimizer.c_str(),Algorithm.c_str());
+  ROOT::Math::MinimizerOptions::SetDefaultTolerance(Tolerance);
+  ROOT::Math::MinimizerOptions::SetDefaultPrintLevel(PrintLevel);
+  DefFWHM = 2;
+  DefFWHM_min = 1;
+  DefFWHM_max = 5;
+
+  UseLT = false;
+  LeftTailVal = 5;
+  LeftTailValMin = 2;
+  LeftTailValMax = 10;
+
+  UseRT = false;
+  RightTailVal = 2;
+  RightTailValMin = 0.1;
+  RightTailValMax = 5;
+
+  UseStep = false;
+  StepVal = 0.01;
+  StepValMin = -1.;
+  StepValMax = 1.;
+
+  BackgroundType = "exp";
+}
+
+void TExogamPhysics::FitFunction(TH1* Hist, int PeakID, double* Area){
+    // Somehow a copy of cubix fit function, but removing all the parts of the interface 
+  
+    InitFitParameters();
+
+    if(Energies.size() != MinMax.size())
+      {
+        std::cout << "Error: Energies and MinMax should have the same size !" << std::endl;
+        return;
+      }
+    // Int_t NPars = 4+6*Energies.size();
+      int NPars = 10;
+
+      delete fFitFunction;
+      fFitFunction = new TF1("MyFit", this, &TExogamPhysics::DoubleTailedStepedGaussian, MinMax[PeakID].first, MinMax[PeakID].second, NPars, "TExogamPhysicsFit", "DoubleTailedStepedGaussian");
+
+      // Changing parameter 0 so that its the peakID (nb of peaks always 1)
+      fFitFunction->SetParName(0, "PeakID");
+      fFitFunction->SetParName(1, "BkgConst");
+      fFitFunction->SetParName(2, "BkgSlope");
+      fFitFunction->SetParName(3, "BkgExp");
+
+      fFitFunction->SetParName(4+0, Form("Height"));
+      fFitFunction->SetParName(4+1, Form("Position"));
+      fFitFunction->SetParName(4+2, Form("FWHM"));
+      fFitFunction->SetParName(4+3, Form("LeftTail"));
+      fFitFunction->SetParName(4+4, Form("RightTail"));
+      fFitFunction->SetParName(4+5, Form("AmplitudeStep"));
+
+      fFitFunction->SetNpx(1000);
+      fFitFunction->SetLineColor(kRed);
+
+      fFitFunction->FixParameter(0, PeakID); // 1 peak
+
+      //Double_t x,y;
+      //x = fPad->GetUxmin();
+      //y = fPad->GetUxmax();
+
+      //Calc Bckd
+      fFitFunction->SetParameter(1, Hist->GetBinContent(Hist->FindBin(MinMax[PeakID].first)));
+      fFitFunction->SetParLimits(1, 0.,Hist->GetMaximum());
+
+      fFitFunction->SetParameter(2, 0);
+      fFitFunction->SetParLimits(2, -50., 50.);
+      fFitFunction->SetParameter(3, 0.);
+      fFitFunction->SetParLimits(3, -50., 50.);
+
+      if(BackgroundType == "pol1")
+          fFitFunction->FixParameter(3,0);
+      else if(BackgroundType == "exp")
+          fFitFunction->FixParameter(2,0);
+
+          //Height
+          fFitFunction->SetParameter(4+0, Hist->GetBinContent(Hist->FindBin(Energies[PeakID])) - (Hist->GetBinContent(Hist->FindBin(MinMax[PeakID].first))+Hist->GetBinContent(Hist->FindBin(MinMax[PeakID].first)))*0.5 );
+          fFitFunction->SetParLimits(4+0, fFitFunction->GetParameters()[4+0]*0.5, fFitFunction->GetParameters()[4+0]*1.5);
+          
+          //Position
+          fFitFunction->SetParameter(4+1, Energies[PeakID]);
+          // fFitFunction->SetParLimits(4+1, Energies[PeakID]-DefFWHM, Energies[PeakID]+DefFWHM);
+          fFitFunction->SetParLimits(4+1, MinMax[PeakID].first, MinMax[PeakID].second);
+          // In case there is a need to fix mean pos (not needed her)
+          //fFitFunction->FixParameter(4+i*6+1,fEnergies[i]);
+          
+          //FWHM
+          fFitFunction->SetParameter(4+2, DefFWHM);
+          fFitFunction->SetParLimits(4+2, DefFWHM_min, DefFWHM_max);
+          // In case there is a need to fix FWHM (not needed her)
+          //fFitFunction->FixParameter(4+i*6+2,DefFWHM);
+          
+          //LeftTail
+          fFitFunction->SetParameter(4+3, LeftTailVal);
+          fFitFunction->SetParLimits(4+3, LeftTailValMin, LeftTailValMax);
+          if(!UseLT)
+              fFitFunction->FixParameter(4+3,-5);
+          // In case there is a need to fix LT (not needed her)
+          //fFitFunction->FixParameter(4+3,LeftTailVal);
+          
+          //RightTail
+          fFitFunction->SetParameter(4+4, RightTailVal);
+          fFitFunction->SetParLimits(4+4, RightTailValMin, RightTailValMax);
+          if(!UseRT)
+              fFitFunction->FixParameter(4+4,5);
+          // In case there is a need to fix RT (not needed her)
+          // fFitFunction->FixParameter(4+4,RightTailVal);
+
+          //AmplitudeStep
+          fFitFunction->SetParameter(4+5, StepVal);
+          fFitFunction->SetParLimits(4+5, StepValMin, StepValMax);
+          if(!UseStep)
+              fFitFunction->FixParameter(4+5,0);
+     
+      // Hist->GetXaxis()->SetRangeUser(x,y);
+
+      TString FitOpt = "QR0S";
+      if(PrintLevel>0) FitOpt +="V";
+      FitOpt += FitOptions;
+      FitResult = Hist->Fit(fFitFunction,FitOpt.Data());
+      //auto fout = new TFile("./ssd/testbetamin.root","RECREATE");
+      //Hist->Write();
+      //exit(1);
+
+      // Not necessary for the moment, might as well comment it
+      //if(fPlayer->fFixAmpli->GetState() == kButtonDown) {
+
+      //    //Extract Background
+      //    delete fBackFunction;
+      //    fBackFunction = new TF1("Background", this, &CXFit::StepedBackground, fBackgd[0], fBackgd[1], NPars, "CXFit", "StepedBackground");
+      //    fBackFunction->SetParameters(fFitFunction->GetParameters());
+
+      //    for(auto i=0U ; i<fEnergies.size() ; i++) {
+      //        Double_t Ampli = fHistogram->GetBinContent(fHistogram->FindBin(fEnergies[i]))- fBackFunction->Eval(fEnergies[i]);
+      //        fFitFunction->FixParameter(4+i*6+0,Ampli);
+      //    }
+
+      //    r = fHistogram->Fit(fFitFunction,FitOpt.Data());
+      //}
+
+      if(FitResult.Get() == nullptr)
+      {
+        std::cout << "Fit result empty, exitting" << std::endl;
+        return;
+      }
+
+      //Extract Background
+      delete fBackFunction;
+      fBackFunction = new TF1("Background", this, &TExogamPhysics::StepedBackground, MinMax[PeakID].first, MinMax[PeakID].second, NPars, "TExogamPhysicsFit", "StepedBackground");
+      fBackFunction->SetParameters(fFitFunction->GetParameters());
+      fBackFunction->SetNpx(1000);
+
+      fBackFunction->SetLineColor(kBlue);
+      fBackFunction->DrawCopy("same");
+
+      //Extract Residue
+      fHistogram = Hist;
+      delete fResidue;
+      fResidue = new TF1("Residue", this, &TExogamPhysics::Residue, MinMax[PeakID].first, MinMax[PeakID].second, NPars, "TExogamPhysicsFit", "Residue");
+      fResidue->SetParameters(fFitFunction->GetParameters());
+      fResidue->SetNpx(1000);
+
+      fResidue->SetLineWidth(1);
+      fResidue->SetLineColor(kBlack);
+      fResidue->DrawCopy("same");
+
+      ostringstream text;
+
+      text << "Fit results :";
+      text << "Status: ";
+      if(FitResult->Status()==0)
+          text << " Successeful" << endl;
+      else
+          text << " Failed" << endl;
+      std::cout<<text.str();
+      text.str("");
+
+      text << "Chi2  = "<< FitResult->Chi2();
+      text << "Ndf   = "<< FitResult->Ndf();
+      text << "P val = "<< FitResult->Prob();
+      std::cout<<text.str()<<endl;
+
+      // fListOfPeaks->Clear();
+
+          text<<"Peak :";
+          std::cout<<text.str()<<endl;
+
+          TF1 *peak = new TF1("Peak", this, &TExogamPhysics::PeakFunction, MinMax[PeakID].first, MinMax[PeakID].second, NPars, "TExogamPhysicsFit", "PeakFunction");
+          peak->SetParameters(fFitFunction->GetParameters());
+          peak->SetParErrors(fFitFunction->GetParErrors());
+          peak->SetParameter(1,1);//with backgroud
+          peak->SetParameter(0,PeakID);
+          peak->SetNpx(1000);
+
+          peak->SetLineColor(kGreen);
+          peak->SetLineStyle(kDashed);
+          peak->DrawCopy("same");
+
+
+          Area[0]     = (peak->Integral(MinMax[PeakID].first,MinMax[PeakID].second,1e-6)-fBackFunction->Integral(MinMax[PeakID].first,MinMax[PeakID].second,1e-6))/fHistogram->GetBinWidth(1);
+          Area[1]  = 2*sqrt(Area[0]);
+          Double_t Mean     = peak->GetParameter(4+1);
+          Double_t MeanErr  = peak->GetParError(4+1);
+          Double_t FWHM     = peak->GetParameter(4+2);
+          Double_t FWHMErr  = peak->GetParError(4+2);
+//          Double_t LeftT    = TMath::Abs(peak->GetParameter(4+i*6+3));
+//          Double_t LeftTErr = peak->GetParError(4+i*6+3);
+//          Double_t Right    = peak->GetParameter(4+i*6+4);
+//          Double_t RightErr = peak->GetParError(4+i*6+4);
+
+          peak->SetParameter(1,0);//without backgroud
+          Double_t Max      = peak->GetParameter(4+0);
+          Double_t MaxErr   = peak->GetParError(4+0);
+
+          Double_t FWHM_L     = peak->GetX(Max/2,MinMax[PeakID].first,Mean,1e-6);
+          Double_t FWHM_L_err = peak->GetX((Max-MaxErr)/2,MinMax[PeakID].first,Mean,1e-6);
+
+          Double_t F01_L     = Mean-peak->GetX(Max/10.,MinMax[PeakID].first,Mean,1e-6);
+          Double_t F01_R     = peak->GetX(Max/10.,Mean,MinMax[PeakID].second,1e-6)-Mean;
+
+          Double_t FWHM_R     = peak->GetX(Max/2,Mean,MinMax[PeakID].second,1e-6);
+          Double_t FWHM_R_err = peak->GetX((Max-MaxErr)/2,Mean,MinMax[PeakID].second,1e-6);
+
+
+          Double_t LeftTailParam = F01_L/(FWHM*0.5);
+          Double_t RightTailParam = F01_R/(FWHM*0.5);
+          std::cout<<F01_L<<" "<<FWHM<<" "<<endl;
+          Double_t FWHM_Real     = FWHM_R-FWHM_L;
+          Double_t FWHM_Real_err = (FWHM_R_err-FWHM_L_err)-FWHM_Real;
+          peak->SetParameter(1,1);//with backgroud
+
+          text<<left<<setw(11)<<"Mean"<<": "<<setprecision(7)<<setw(10)<<Mean<<" ("<<setprecision(7)<<setw(10)<<MeanErr<<")";
+          std::cout<<text.str()<<endl;
+          text.str("");
+
+          text<<left<<setw(11)<<"Amplitude"<<": "<<setprecision(7)<<setw(10)<<Max<<" ("<<setprecision(7)<<setw(10)<<MaxErr<<")";
+          std::cout<<text.str()<<endl;
+          text.str("");
+
+          text<<left<<setw(11)<<"FWHM (gaus)"<<": "<<setprecision(7)<<setw(10)<<FWHM<<" ("<<setprecision(7)<<setw(10)<<FWHMErr<<")";
+          std::cout<<text.str()<<endl;
+          text.str("");
+
+          text<<left<<setw(11)<<"FWHM (real)"<<": "<<setprecision(7)<<setw(10)<<FWHM_Real<<" ("<<setprecision(7)<<setw(10)<<FWHM_Real_err<<")";
+          std::cout<<text.str()<<endl;
+          text.str("");
+
+          text<<left<<setw(11)<<"L Tail"<<": "<<setprecision(7)<<setw(10)<<LeftTailParam;
+          std::cout<<text.str()<<endl;
+          text.str("");
+
+          text<<left<<setw(11)<<"R Tail"<<": "<<setprecision(7)<<setw(10)<<RightTailParam;
+          std::cout<<text.str()<<endl;
+          text.str("");
+
+          text<<left<<setw(11)<<"Area"<<": "<<setprecision(7)<<setw(10)<<Area[0]<<" ("<<setprecision(7)<<setw(10)<<Area[1]<<")";
+          std::cout<<text.str()<<endl;
+          text.str("");
+
+      fFitFunction->DrawCopy("same");
+
+}
+
+double TExogamPhysics::DoubleTailedStepedGaussian(Double_t*xx,Double_t*pp)
+{
+    Double_t x   = xx[0];
+
+    int    PeakID = (int)pp[0]; //Number of subpeaks in the peak range
+
+    Double_t f_tot = 0.;
+
+    Int_t Npar = 6;
+
+    Double_t Back_const = pp[1];
+    Double_t Back_slope = pp[2];
+    Double_t Back_Exp = pp[3];
+
+    f_tot += (Back_const + (x-MinMax[PeakID].first)*Back_slope)*exp((x-MinMax[PeakID].first)*Back_Exp);
+      Double_t Ampli     = pp[4+0];
+      Double_t Mean      = pp[4+1];
+      Double_t Sigma     = pp[4+2]*1./sqrt(8.*log(2.));
+      Double_t Lambda    = pp[4+3];
+      Double_t Rho       = pp[4+4];
+      Double_t S         = pp[4+5];
+    
+    // std::cout << Back_const << " " << Back_slope << " " << Back_Exp << " " << Ampli <<  std::endl;
+
+
+      Double_t U         = (x-Mean)/Sigma;
+      Double_t f_g       = Ampli*TMath::Exp(-U*U*0.5);
+      Double_t f_lambda  = Ampli*TMath::Exp(-0.5*Lambda*(2.*U-Lambda));
+      Double_t f_rho     = Ampli*TMath::Exp(-0.5*Rho*(2.*U-Rho));
+      Double_t f_S       = Ampli*S*1./((1+TMath::Exp(U))*(1+TMath::Exp(U)));
+
+      if(U<Lambda) f_tot += f_lambda;
+      else if(U>Rho) f_tot += f_rho;
+      else f_tot += f_g;
+
+      f_tot += f_S;
+
+    return f_tot;
+}
+
+double TExogamPhysics::StepedBackground(Double_t*xx,Double_t*pp)
+{
+    Double_t x   = xx[0];
+
+    Double_t f_tot = 0.;
+
+    int    PeakID = (int)pp[0]; //Number of subpeaks in the peak range
+
+    Double_t Back_const = pp[1];
+    Double_t Back_slope = pp[2];
+    Double_t Back_Exp = pp[3];
+
+    Int_t Npar = 6;
+
+    f_tot += (Back_const + (x-MinMax[PeakID].first)*Back_slope)*exp((x-MinMax[PeakID].first)*Back_Exp);
+
+        Double_t Ampli = pp[4+0];
+        Double_t Mean  = pp[4+1];
+        Double_t Sigma = pp[4+2]*1./sqrt(8.*log(2.));
+        Double_t S     = pp[4+5];
+
+        f_tot += Ampli*S*1./((1+TMath::Exp((x-Mean)/Sigma))*(1+TMath::Exp((x-Mean)/Sigma)));
+
+    return f_tot;
+}
+
+double TExogamPhysics::Residue(Double_t*xx,Double_t*/*pp*/)
+{
+    Double_t x   = xx[0];
+
+    return fFitFunction->Eval(fHistogram->GetBinCenter(fHistogram->FindBin(x))) - fHistogram->GetBinContent(fHistogram->FindBin(x));
+}
+
+double TExogamPhysics::PeakFunction(Double_t*xx,Double_t*pp)
+{
+    Double_t x   = xx[0];
+
+
+    Double_t f_tot = 0.;
+
+    Int_t Npar = 6;
+
+    Bool_t WithBackground = true;
+    if(pp[1]==0)
+        WithBackground = false;
+
+    Double_t BackGround = fBackFunction->Eval(x);
+
+    if(WithBackground)
+        f_tot += BackGround;
+
+    Double_t Ampli     = pp[4+0];
+    Double_t Mean      = pp[4+1];
+    Double_t Sigma     = pp[4+2]*1./sqrt(8.*log(2.));
+    Double_t Lambda    = pp[4+3];
+    Double_t Rho       = pp[4+4];
+    Double_t S         = 0;
+
+    Double_t U         = (x-Mean)/Sigma;
+    Double_t f_g       = Ampli*TMath::Exp(-U*U*0.5);
+    Double_t f_lambda  = Ampli*TMath::Exp(-0.5*Lambda*(2.*U-Lambda));
+    Double_t f_rho     = Ampli*TMath::Exp(-0.5*Rho*(2.*U-Rho));
+    Double_t f_S       = Ampli*S*1./((1+TMath::Exp(U))*(1+TMath::Exp(U)));
+
+    if(U<Lambda) f_tot += f_lambda;
+    else if(U>Rho) f_tot += f_rho;
+    else f_tot += f_g;
+
+    f_tot += f_S;
+
+    return f_tot;
+}
+
 ///////////////////////////////////////////////////////////////////////////
 namespace EXOGAM_LOCAL {
   //	tranform an integer to a string
diff --git a/NPLib/Detectors/Exogam/TExogamPhysics.h b/NPLib/Detectors/Exogam/TExogamPhysics.h
index 4c72dda7117f3051b56e3045b0d836c101cd9db8..fbd315a1967d1dc074d2c52db0a908df95a766fc 100644
--- a/NPLib/Detectors/Exogam/TExogamPhysics.h
+++ b/NPLib/Detectors/Exogam/TExogamPhysics.h
@@ -32,6 +32,7 @@
 #include "NPVDetector.h"
 #include "NPVTreeReader.h"
 #include "Geometry_Clover_Exogam.h"
+#include "TExogamGeo.h"
 #include "TExogamData.h"
 #include "TExogamCalData.h"
 #include "TExogamSpectra.h"
@@ -44,6 +45,9 @@
 #include "TVector2.h" 
 #include "TVector3.h" 
 #include "TObject.h"
+#include "Math/MinimizerOptions.h"
+#include "TFitResultPtr.h"
+#include "TFitResult.h"
 //#include "TH1.h"
 //Cubix
 #if CUBIX
@@ -175,10 +179,7 @@ class TExogamPhysics : public TObject, public NPL::VDetector, public TExogamPhys
   //	NB: This method can eventually be the same as BuildPhysicalEvent.
   void BuildSimplePhysicalEvent()	       ; //!
 
-  double DopplerCorrection(double Energy, double Theta); //!
-  
-  /// Routine for doppler correction
-  double CorrectionDoppler(double theta_gamma, double phi_gamma, double theta_part, double phi_part, double beta_part, double E); //!
+  double DopplerCorrection(double theta, double beta, double E); //!
   
   bool TDCMatch(unsigned int event); //!
 
@@ -222,7 +223,7 @@ class TExogamPhysics : public TObject, public NPL::VDetector, public TExogamPhys
     
     void DoCalibrationOuter_F(unsigned int  Detector_Nbr, unsigned int Outer_Nbr, ofstream* calib_file, ofstream* dispersion_file){}; //!
       
-    void MakeInitialCalibFolder(std::string make_folder); //!
+    void MakeFolder(std::string make_folder); //!
     
     void MakeECalibFolders(std::string make_folder); //!
     
@@ -238,13 +239,39 @@ class TExogamPhysics : public TObject, public NPL::VDetector, public TExogamPhys
     
     void CreateCalibrationOuterFiles(ofstream* calib_file,ofstream* dispersion_file); //!
 
-
     void ReadDoCalibration(NPL::InputParser parser); //!
 
     void WriteHistogramsCalib(); //!
     
+    void WriteHistogramsEfficiency(); //!
+    
     void WriteHistogramsE(); //!
 
+    
+    void InitializeRootHistogramsEfficiency(); //!
+
+    void Efficiency();
+    
+    void FitFunction(TH1* Histogram, int PeakId, double* Area);
+
+    void InitFitParameters();
+
+    void EvaluateEfficiency_F(std::string DetectorID, ofstream* efficiency_file, double Source_activity); //!
+    
+    void ReadEfficiency(NPL::InputParser parser); //!
+    
+    void CreateEfficiencyFile(ofstream* efficiency_file); //!
+
+    unsigned long long FindFirstExoTS(); //!
+    
+    unsigned long long FindLastExoTS(); //!
+    
+    void FillHistogramsEfficiency(); //!
+
+    void FindPeaks(TH1* Hist);//!
+
+    int FindMatchingEnergy(double Energy);//!
+
     // Setting TS Reference
     void SetRefTS(std::string TSRef_Name, unsigned long long TSRef);//!
 
@@ -310,6 +337,8 @@ class TExogamPhysics : public TObject, public NPL::VDetector, public TExogamPhys
   vector<int> m_flange;//!
   map<unsigned int, int> MapFlangeToCloverNumber;//!
   Clover_struc Exogam_struc;//!
+  TExogamGeo* ExogamGeo;//!
+  std::map<unsigned int, double> MapFlangeRadius;//!
   
   std::map<unsigned int,std::pair<unsigned int,unsigned int>> MapCrystalFlangeCLover;//! Map key is raw crystal nbr, pair associated is flange nbr and crystal nbr in the flange
   
@@ -331,12 +360,67 @@ class TExogamPhysics : public TObject, public NPL::VDetector, public TExogamPhys
   std::vector<double> Source_E;                                     //!
   std::vector<double> Source_Sig;                                   //!
   std::vector<double> Source_branching_ratio;                       //!
+  std::vector<double> Source_branching_ratio_err;                       //!
   std::string Source_name;//!
+  double Source_activity;//!
+  double Time;//!
   unsigned int FitPolOrder;//!
   
 #if CUBIX
   CXRecalEnergy* CubixEnergyCal = new CXRecalEnergy();//!
 #endif
+  
+  // Efficiency variables
+  map<int, bool> DoEfficiency;                                    //!
+  std::vector<double> Energies;//!
+  std::vector<int> SourceID;//!
+  std::vector<std::pair<double, double>> MinMax;//!
+  double sigma;//!
+  double threshold;//!
+  int peaks_nb;//!
+  double minmax;//!
+  
+  private:
+  // Fit parameters
+  std::string Minimizer;//!
+  std::string Algorithm;//!
+  double Tolerance;//!
+  int PrintLevel;//!
+  std::string FitOptions;//!
+
+  Double_t DefFWHM;//!
+  Double_t DefFWHM_min;//!
+  Double_t DefFWHM_max;//!
+  
+  Double_t LeftTailVal;//!
+  Double_t LeftTailValMin;//!
+  Double_t LeftTailValMax;//!
+
+  Double_t RightTailVal;//!
+  Double_t RightTailValMin;//!
+  Double_t RightTailValMax;//!
+
+  Double_t StepVal;//!
+  Double_t StepValMin;//!
+  Double_t StepValMax;//!
+    
+  bool UseLT;//!
+  bool UseRT;//!
+  bool UseStep;//!
+
+  TF1         *fFitFunction       = nullptr;//!
+  TF1         *fBackFunction      = nullptr;//!
+  TF1         *fResidue           = nullptr;//!
+  TH1         *fHistogram       = nullptr;//!
+  
+  double DoubleTailedStepedGaussian(Double_t*xx,Double_t*pp);//!
+  double StepedBackground(Double_t*xx,Double_t*pp);//!
+  double PeakFunction(Double_t*xx,Double_t*pp);//!
+  double Residue(Double_t*xx,Double_t*pp);//!
+  
+  std::string BackgroundType;//!
+  
+  TFitResultPtr FitResult= nullptr;//!
 
   private: // Spectra Class   
     TExogamSpectra*      m_Spectra;//! 
diff --git a/NPLib/Detectors/Exogam/testExo b/NPLib/Detectors/Exogam/testExo
new file mode 100755
index 0000000000000000000000000000000000000000..85b33c0ebf7d3988b6ecbee56e87c9a4bfe7215c
Binary files /dev/null and b/NPLib/Detectors/Exogam/testExo differ
diff --git a/NPLib/Detectors/Minos/TMinosPhysics.cxx b/NPLib/Detectors/Minos/TMinosPhysics.cxx
index 04ccd7800a1aceb1e21662b9586040bf2f712bbd..630bdbb67c6f00941d7f0ad5e0a419f228f2842b 100644
--- a/NPLib/Detectors/Minos/TMinosPhysics.cxx
+++ b/NPLib/Detectors/Minos/TMinosPhysics.cxx
@@ -68,7 +68,7 @@ void TMinosPhysics::BuildPhysicalEvent() {
     Tracks_P0.push_back(clusters[i].GetP0());
     Tracks_Dir.push_back(clusters[i].GetDir());
   }
-
+ 
   if (sizeC == 2) {
     static TVector3 Vertex, delta;
     Delta_Vertex = MinimumDistanceTwoLines(Tracks_P0[0], Tracks_P0[0] + Tracks_Dir[0], Tracks_P0[1],
@@ -90,9 +90,11 @@ void TMinosPhysics::PreTreat() {
   static string cal_v, cal_o;
 
   sizePad = m_EventData->GetPadMult();
+ 
   if (sizePad > 20) {
     for (unsigned int i = 0; i < sizePad; i++) {
       vector<unsigned short>* Charge = m_EventData->GetChargePtr(i);
+      
       if (Charge->size() > 40) {
         vector<unsigned short>* Time = m_EventData->GetTimePtr(i);
         m_utility.Calibrate(Time, Charge, i, T, Q);
@@ -209,11 +211,11 @@ void TMinosPhysics::Clear() {
   Tracks_Dir.clear();
 
   // Vertex information
-  X_Vertex = -1000;
-  Y_Vertex = -1000;
-  Z_Vertex = -1000;
-  Theta_12 = -1000;
-  Delta_Vertex = -1000;
+  X_Vertex = -10000;
+  Y_Vertex = -10000;
+  Z_Vertex = -10000;
+  Theta_12 = -10000;
+  Delta_Vertex = -10000;
 }
 
 ///////////////////////////////////////////////////////////////////////////
@@ -235,6 +237,7 @@ void TMinosPhysics::ReadConfiguration(NPL::InputParser parser) {
       m_utility.SetParameters(m_TimeBin, m_ShapingTime, m_Baseline, m_Sampling);
       m_Position = blocks[i]->GetTVector3("Position", "mm");
       m_ZRotation = blocks[i]->GetDouble("ZRotation", "deg");
+      m_TargetLength = blocks[i]->GetDouble("TargetLength","mm");
       string xmlpath = blocks[i]->GetString("XML");
       NPL::XmlParser xml;
       xml.LoadFile(xmlpath);
diff --git a/NPLib/Detectors/Minos/TMinosPhysics.h b/NPLib/Detectors/Minos/TMinosPhysics.h
index f9ce20ac5fb8f8261674c2cb3f9d6f89a8b55741..6c230a6723541ad8513b7815ba222c1cc0855189 100644
--- a/NPLib/Detectors/Minos/TMinosPhysics.h
+++ b/NPLib/Detectors/Minos/TMinosPhysics.h
@@ -84,7 +84,7 @@ class TMinosPhysics : public TObject, public NPL::VDetector {
     unsigned int m_Sampling;//!
     TVector3 m_Position;//!
     double   m_ZRotation;//!
-
+    double m_TargetLength;//!
 
     NPL::MinosUtility m_utility;//! // an utility to fit the pad signal
     NPL::LinearRansac3D m_ransac;//! // a linear ransac to build the 3D tracks
@@ -157,6 +157,8 @@ class TMinosPhysics : public TObject, public NPL::VDetector {
     vector<double> GetPad_Y()  {return Y_Pad;} //!
     vector<double> GetPad_Z()  {return Z_Pad;} //!
     vector<double> GetPad_T()  {return T_Pad;} //!
+
+    TVector3 GetVertex() {return TVector3(X_Vertex, Y_Vertex, Z_Vertex);}//!
     double GetVertexX()  {return X_Vertex;} //!
     double GetVertexY()  {return Y_Vertex;} //!
     double GetVertexZ()  {return Z_Vertex;} //!
@@ -164,11 +166,15 @@ class TMinosPhysics : public TObject, public NPL::VDetector {
     double GetDeltaVertex()  {return Delta_Vertex;} //!
     double GetTheta12()  {return Theta_12;} //!
   
-    int GetNbrOfTracks(){return Tracks_P0.size();}
+    int GetNbrOfTracks(){return Tracks_P0.size();}//!
       
     TVector3 GetTracksP0(unsigned int i){return Tracks_P0[i];}//!
     TVector3 GetTracksDir(unsigned int i){return Tracks_Dir[i];}//!
     double Angle(unsigned int i, unsigned j){return Tracks_Dir[i].Angle(Tracks_Dir[j]);};
+
+    TVector3 GetMinosPosition() {return m_Position;}//!
+    double GetTargetLength() {return m_TargetLength;}//!
+  
   // Static constructor to be passed to the Detector Factory
   public:
     static NPL::VDetector* Construct();
diff --git a/NPLib/Detectors/Nebula/TNebulaData.h b/NPLib/Detectors/Nebula/TNebulaData.h
index 54eaea6e3fd846bca0b4665c72960171d294e31d..70dd23e5dd50c72bca97611e4a17697e15a4c317 100644
--- a/NPLib/Detectors/Nebula/TNebulaData.h
+++ b/NPLib/Detectors/Nebula/TNebulaData.h
@@ -51,7 +51,6 @@ class TNebulaData : public TObject {
     // Time
     vector<UShort_t>   fNebula_Td_ID;
     vector<Double_t>   fNebula_Td_Time;
- 
 
   //////////////////////////////////////////////////////////////
   // Constructor and destructor
diff --git a/NPLib/Detectors/Nebula/TNebulaPhysics.cxx b/NPLib/Detectors/Nebula/TNebulaPhysics.cxx
index 6a9202c7a4136d8c325bf277e154d9e73e9e9deb..88999657a592b147b8fcda25b84398b127d1f71a 100644
--- a/NPLib/Detectors/Nebula/TNebulaPhysics.cxx
+++ b/NPLib/Detectors/Nebula/TNebulaPhysics.cxx
@@ -36,21 +36,27 @@ using namespace std;
 #include "NPDetectorFactory.h"
 #include "NPOptionManager.h"
 #include "NPSystemOfUnits.h"
+
 //   ROOT
 #include "TChain.h"
 
-ClassImp(TNebulaPhysics)
+//To get light speed
+#include "NPPhysicalConstants.h"
 
+ClassImp(TNebulaPhysics)
 
   ///////////////////////////////////////////////////////////////////////////
 TNebulaPhysics::TNebulaPhysics()
   : m_EventData(new TNebulaData),
   m_EventPhysics(this),
   m_Spectra(0),
-  m_Q_RAW_Threshold(0), // adc channels
-  m_Q_Threshold(7),     // normal bars in MeV
+  m_Q_RAW_Threshold(1), // adc channels
+  m_Q_Threshold(6),     // normal bars in MeV
   m_V_Threshold(1),     // veto bars in MeV
-  m_NumberOfBars(0) {
+  m_NumberOfBars(0)
+{
+  m_Material_Index = 1.58;  
+  m_Signal_Effective_Velocity = (299792458/m_Material_Index)*NPUNITS::m/NPUNITS::s;
   }
 
 ///////////////////////////////////////////////////////////////////////////
@@ -63,9 +69,11 @@ void TNebulaPhysics::ReadXML(NPL::XmlParser xml){
     unsigned int id = b[i]->AsInt("ID");
 
     // position
-    PositionX[id] = b[i]->AsDouble("PosX"); 
-    PositionY[id] = b[i]->AsDouble("PosY"); 
+    PositionX[id] = b[i]->AsDouble("PosX");
+    PositionY[id] = b[i]->AsDouble("PosY");
     PositionZ[id] = b[i]->AsDouble("PosZ"); 
+    SubLayer[id]  = b[i]->AsInt("SubLayer");
+    
     std::string tree_name = RootInput::getInstance()->GetChain()->GetName();
     if(tree_name!="SimulatedTree"){
       // linear cal
@@ -88,7 +96,9 @@ void TNebulaPhysics::ReadXML(NPL::XmlParser xml){
       // DT position cal
       DTa[id] = b[i]->AsDouble("DTCal");//!
       DTb[id] = b[i]->AsDouble("DTOff");//!
+      
     }
+    
     else{
       // linear cal
       aQu[id] =1; 
@@ -101,18 +111,19 @@ void TNebulaPhysics::ReadXML(NPL::XmlParser xml){
       bTd[id] =0; 
 
       // T average offset
-      avgT0[id]= 0;
+      //avgT0[id]= 0;
+      avgT0[id]= -4.743;
 
       // slew correction T= tcal +slwT/sqrt(Qcal)
       slwTu[id] = 0;
       slwTd[id] = 0;
 
       // DT position cal
-      DTa[id] = 1;//!
+      // DTa[id] = 1;//!
       DTb[id] = 0;//!
-
-
+      DTa[id] = 0.5*m_Signal_Effective_Velocity;//!
       }
+      
 
   } 
   cout << " -> " << m_NumberOfBars << " bars found" << endl;;
@@ -129,17 +140,25 @@ void TNebulaPhysics::BuildSimplePhysicalEvent() {
 void TNebulaPhysics::BuildPhysicalEvent() {
   // apply thresholds and calibration
 
+
   // instantiate CalibrationManager
   static CalibrationManager* Cal = CalibrationManager::getInstance();
   static double rawQup,calQup,rawQdown,calQdown,rawTup,calTup,rawTdown,calTdown,calQ,calT,Y;
   static unsigned int ID;
+
+  
+  static double neutron_mass = 939.57; //  MeV/c^2
+  static double c_light = 299792458;    //m.s-1
+  
   // All vector size 
   static unsigned int QUsize, QDsize, TUsize, TDsize ; 
   QUsize = m_EventData->GetChargeUpMult();
   QDsize = m_EventData->GetChargeDownMult();
   TUsize = m_EventData->GetTimeUpMult();
   TDsize = m_EventData->GetTimeDownMult();
+ 
   static double threshold;
+
   // loop on Qup
   for (unsigned int qup = 0; qup < QUsize ; qup++) {
     rawQup = m_EventData->GetChargeUp(qup);
@@ -208,14 +227,16 @@ void TNebulaPhysics::BuildPhysicalEvent() {
           DetectorNumber.push_back(ID);
           Charge.push_back(calQ);
           TOF.push_back(calT);
-          PosY.push_back(Y+PositionY[ID]);
+          PosY.push_back(Y+PositionY[ID]);	
           PosX.push_back(PositionX[ID]);
-          PosZ.push_back(PositionZ[ID]);
+          PosZ.push_back(PositionZ[ID] + m_offset[0][2]); // [0]-> only one Nebula detector    [2]-> z position
 
-          if(ID<121)
-            IsVeto.push_back(0);
-          else
+	  if(SubLayer[ID]!=0){
+            IsVeto.push_back(0);          
+          }
+          else{
             IsVeto.push_back(1);
+          }
 
         }
       }
diff --git a/NPLib/Detectors/Nebula/TNebulaPhysics.h b/NPLib/Detectors/Nebula/TNebulaPhysics.h
index 5e1499b8ee42b0a6d6e6bfcecedf0aa364efbd6d..ea13da12312862c44b196db1ee716ef720ed66b5 100644
--- a/NPLib/Detectors/Nebula/TNebulaPhysics.h
+++ b/NPLib/Detectors/Nebula/TNebulaPhysics.h
@@ -74,7 +74,22 @@ class TNebulaPhysics : public TObject, public NPL::VDetector {
   public:
     TVector3 GetPos(const unsigned int& i) const{
       return TVector3(PosX[i],PosY[i],PosZ[i]);
-    }
+    };
+
+    double GetCharge(const unsigned int& i) const{
+      return Charge[i];
+    };
+    int GetChargeMult() const{
+      return Charge.size();
+    };
+  
+    double GetDetectorNumber(const unsigned int& i) const{
+      return DetectorNumber[i];
+    };
+  
+    int GetDetectorNumberMult() const{
+      return DetectorNumber.size();
+    };
 
     // Return true if one veto fired
     bool HasVeto(){
@@ -193,6 +208,10 @@ class TNebulaPhysics : public TObject, public NPL::VDetector {
     double m_Q_Threshold;     //!
     double m_V_Threshold;     //!
 
+    //effective velocity of signal inside bar
+    double m_Material_Index; //!
+    double m_Signal_Effective_Velocity; //!
+
   public: 
     void SetQThreshold(double t) {m_Q_Threshold=t;};
     void SetVThreshold(double t) {m_V_Threshold=t;};
@@ -200,6 +219,9 @@ class TNebulaPhysics : public TObject, public NPL::VDetector {
   private:
     int m_NumberOfBars;  //!
 
+  private:
+    std::map<unsigned int , unsigned int> SubLayer;//!
+
   private: // offset and inversion 
     std::map<unsigned int, TVector3> m_offset;//!
     std::map<unsigned int, bool> m_invertX;//!
diff --git a/NPLib/Detectors/NeuLAND/CMakeLists.txt b/NPLib/Detectors/NeuLAND/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1898430d9bfeae35030990dd5aa1e6066743ac99
--- /dev/null
+++ b/NPLib/Detectors/NeuLAND/CMakeLists.txt
@@ -0,0 +1,6 @@
+add_custom_command(OUTPUT TNeuLANDPhysicsDict.cxx COMMAND ${CMAKE_BINARY_DIR}/scripts/build_dict.sh TNeuLANDPhysics.h TNeuLANDPhysicsDict.cxx TNeuLANDPhysics.rootmap libNPNeuLAND.dylib DEPENDS TNeuLANDPhysics.h)
+add_custom_command(OUTPUT TNeuLANDDataDict.cxx COMMAND ${CMAKE_BINARY_DIR}/scripts/build_dict.sh TNeuLANDData.h TNeuLANDDataDict.cxx TNeuLANDData.rootmap libNPNeuLAND.dylib DEPENDS TNeuLANDData.h)
+add_library(NPNeuLAND SHARED TNeuLANDSpectra.cxx TNeuLANDData.cxx TNeuLANDPhysics.cxx TNeuLANDDataDict.cxx TNeuLANDPhysicsDict.cxx )
+target_link_libraries(NPNeuLAND ${ROOT_LIBRARIES} NPCore) 
+install(FILES TNeuLANDData.h TNeuLANDPhysics.h TNeuLANDSpectra.h DESTINATION ${CMAKE_INCLUDE_OUTPUT_DIRECTORY})
+
diff --git a/NPLib/Detectors/NeuLAND/TNeuLANDData.cxx b/NPLib/Detectors/NeuLAND/TNeuLANDData.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..5dbaec95834bef96f8e575f7ee2bb4f06c6f91f7
--- /dev/null
+++ b/NPLib/Detectors/NeuLAND/TNeuLANDData.cxx
@@ -0,0 +1,92 @@
+/*****************************************************************************
+ * Copyright (C) 2009-2019   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: Adrien Matta  contact address: matta@lpccaen.in2p3.fr    *
+ *                                                                           *
+ * Creation Date  : December 2019                                            *
+ * Last update    :                                                          *
+ *---------------------------------------------------------------------------*
+ * Decription:                                                               *
+ *  This class hold NeuLAND Raw data                                          *
+ *                                                                           *
+ *---------------------------------------------------------------------------*
+ * Comment:                                                                  *
+ *                                                                           *   
+ *                                                                           *
+ *****************************************************************************/
+
+#include "TNeuLANDData.h"
+
+#include <iostream>
+#include <fstream>
+#include <sstream>
+#include <string>
+using namespace std; 
+
+ClassImp(TNeuLANDData)
+
+
+//////////////////////////////////////////////////////////////////////
+TNeuLANDData::TNeuLANDData() {
+}
+
+
+
+//////////////////////////////////////////////////////////////////////
+TNeuLANDData::~TNeuLANDData() {
+}
+
+
+
+//////////////////////////////////////////////////////////////////////
+void TNeuLANDData::Clear() {
+    // UP // 
+    // Charge 
+    fNeuLAND_Qu_ID.clear();
+    fNeuLAND_Qu_Charge.clear();
+    
+    // Time
+    fNeuLAND_Tu_ID.clear();
+    fNeuLAND_Tu_Time.clear();
+    
+    // DOWN // 
+    // Charge 
+    fNeuLAND_Qd_ID.clear();
+    fNeuLAND_Qd_Charge.clear();
+    
+    // Time
+    fNeuLAND_Td_ID.clear();
+    fNeuLAND_Td_Time.clear();
+}
+
+
+
+//////////////////////////////////////////////////////////////////////
+void TNeuLANDData::Dump() const {
+   // This method is very useful for debuging and worth the dev.
+  cout << "XXXXXXXXXXXXXXXXXXXXXXXX New Event [TNeuLANDData::Dump()] XXXXXXXXXXXXXXXXX" << endl;
+  /*
+  // Energy
+  size_t mysize = fNeuLAND_E_DetectorNbr.size();
+  cout << "NeuLAND_E_Mult: " << mysize << endl;
+ 
+  for (size_t i = 0 ; i < mysize ; i++){
+    cout << "DetNbr: " << fNeuLAND_E_DetectorNbr[i]
+         << " Energy: " << fNeuLAND_Energy[i];
+  }
+  
+  // Time
+  mysize = fNeuLAND_T_DetectorNbr.size();
+  cout << "NeuLAND_T_Mult: " << mysize << endl;
+ 
+  for (size_t i = 0 ; i < mysize ; i++){
+    cout << "DetNbr: " << fNeuLAND_T_DetectorNbr[i]
+         << " Time: " << fNeuLAND_Time[i];
+  }
+  */
+}
diff --git a/NPLib/Detectors/NeuLAND/TNeuLANDData.h b/NPLib/Detectors/NeuLAND/TNeuLANDData.h
new file mode 100644
index 0000000000000000000000000000000000000000..4f6f274c11244a584644af1a6e1ff40ada9981be
--- /dev/null
+++ b/NPLib/Detectors/NeuLAND/TNeuLANDData.h
@@ -0,0 +1,147 @@
+#ifndef __NeuLANDDATA__
+#define __NeuLANDDATA__
+/*****************************************************************************
+ * Copyright (C) 2009-2019   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: Adrien Matta  contact address: matta@lpccaen.in2p3.fr    *
+ *                                                                           *
+ * Creation Date  : December 2019                                            *
+ * Last update    :                                                          *
+ *---------------------------------------------------------------------------*
+ * Decription:                                                               *
+ *  This class hold NeuLAND Raw data                                          *
+ *                                                                           *
+ *---------------------------------------------------------------------------*
+ * Comment:                                                                  *
+ *                                                                           *   
+ *                                                                           *
+ *****************************************************************************/
+
+// STL
+#include <vector>
+using namespace std;
+
+// ROOT
+#include "TObject.h"
+
+class TNeuLANDData : public TObject {
+  //////////////////////////////////////////////////////////////
+  // data members are hold into vectors in order 
+  // to allow multiplicity treatment
+  private: 
+    // UP // 
+    // Charge 
+    vector<UShort_t>   fNeuLAND_Qu_ID;
+    vector<Double_t>   fNeuLAND_Qu_Charge;
+    
+    // Time
+    vector<UShort_t>   fNeuLAND_Tu_ID;
+    vector<Double_t>   fNeuLAND_Tu_Time;
+    
+    // DOWN // 
+    // Charge 
+    vector<UShort_t>   fNeuLAND_Qd_ID;
+    vector<Double_t>   fNeuLAND_Qd_Charge;
+    
+    // Time
+    vector<UShort_t>   fNeuLAND_Td_ID;
+    vector<Double_t>   fNeuLAND_Td_Time;
+ 
+
+  //////////////////////////////////////////////////////////////
+  // Constructor and destructor
+  public: 
+    TNeuLANDData();
+    ~TNeuLANDData();
+    
+
+  //////////////////////////////////////////////////////////////
+  // Inherited from TObject and overriden to avoid warnings
+  public:
+    void Clear();
+    void Clear(const Option_t*) {};
+    void Dump() const;
+
+
+  //////////////////////////////////////////////////////////////
+  // Getters and Setters
+  // Prefer inline declaration to avoid unnecessary called of 
+  // frequently used methods
+  // add //! to avoid ROOT creating dictionnary for the methods
+  public:
+    //////////////////////    SETTERS    ////////////////////////
+    // UP // 
+    // Charge
+    inline void SetChargeUp(const Double_t& ID, const Double_t& Charge){
+    fNeuLAND_Qu_ID.push_back(ID);
+    fNeuLAND_Qu_Charge.push_back(Charge);
+    };//!
+
+    // Time
+    inline void SetTimeUp(const Double_t& ID, const Double_t& Time){
+    fNeuLAND_Tu_ID.push_back(ID);
+    fNeuLAND_Tu_Time.push_back(Time);
+    };//!
+
+    // DOWN // 
+    // Charge
+    inline void SetChargeDown(const Double_t& ID, const Double_t& Charge){
+    fNeuLAND_Qd_ID.push_back(ID);
+    fNeuLAND_Qd_Charge.push_back(Charge);
+    };//!
+
+    // Time
+    inline void SetTimeDown(const Double_t& ID, const Double_t& Time){
+    fNeuLAND_Td_ID.push_back(ID);
+    fNeuLAND_Td_Time.push_back(Time);
+    };//!
+
+    //////////////////////    GETTERS    ////////////////////////
+    // MULT //
+    // Charge 
+    inline unsigned int GetChargeUpMult() const
+      {return fNeuLAND_Qu_ID.size();};
+    // Time
+    inline unsigned int GetTimeUpMult() const
+      {return fNeuLAND_Tu_ID.size();};
+    // Charge
+    inline unsigned int GetChargeDownMult() const
+      {return fNeuLAND_Qd_ID.size();};
+    // Time
+    inline unsigned int GetTimeDownMult() const
+      {return fNeuLAND_Td_ID.size();};
+
+    // Value // 
+    // Charge 
+    inline UShort_t GetChargeUpID(unsigned int& i) const
+      {return fNeuLAND_Qu_ID[i];};
+    inline double GetChargeUp(unsigned int& i) const
+      {return fNeuLAND_Qu_Charge[i];};
+    // Time 
+    inline UShort_t GetTimeUpID(unsigned int& i) const
+      {return fNeuLAND_Tu_ID[i];};
+    inline double GetTimeUp(unsigned int& i) const
+      {return fNeuLAND_Tu_Time[i];};
+    // Charge 
+    inline UShort_t GetChargeDownID(unsigned int& i) const
+      {return fNeuLAND_Qd_ID[i];};
+    inline double GetChargeDown(unsigned int& i) const
+      {return fNeuLAND_Qd_Charge[i];};
+    // Time 
+    inline UShort_t GetTimeDownID(unsigned int& i) const
+      {return fNeuLAND_Td_ID[i];};
+    inline double GetTimeDown(unsigned int& i) const
+      {return fNeuLAND_Td_Time[i];};
+
+
+  //////////////////////////////////////////////////////////////
+  // Required for ROOT dictionnary
+  ClassDef(TNeuLANDData,1)  // NeuLANDData structure
+};
+
+#endif
diff --git a/NPLib/Detectors/NeuLAND/TNeuLANDPhysics.cxx b/NPLib/Detectors/NeuLAND/TNeuLANDPhysics.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..baf075286cb986c0a15fc729c99cc0e6ac606919
--- /dev/null
+++ b/NPLib/Detectors/NeuLAND/TNeuLANDPhysics.cxx
@@ -0,0 +1,415 @@
+/*****************************************************************************
+ * Copyright (C) 2009-2019   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: Audrey ANNE  contact address: anne@lpccaen.in2p3.fr      *
+ *                                                                           *
+ * Creation Date  : November 2023                                            *
+ * Last update    :                                                          *
+ *---------------------------------------------------------------------------*
+ * Decription:                                                               *
+ *  This class hold NeuLAND Treated data                                     *
+ *                                                                           *
+ *---------------------------------------------------------------------------*
+ * Comment:                                                                  *
+ *                                                                           *   
+ *                                                                           *
+ *****************************************************************************/
+
+#include "TNeuLANDPhysics.h"
+
+//   STL
+#include <sstream>
+#include <iostream>
+#include <cmath>
+#include <stdlib.h>
+#include <limits>
+using namespace std;
+
+//   NPL
+#include "RootInput.h"
+#include "RootOutput.h"
+#include "NPDetectorFactory.h"
+#include "NPOptionManager.h"
+#include "NPSystemOfUnits.h"
+//   ROOT
+#include "TChain.h"
+
+ClassImp(TNeuLANDPhysics)
+
+
+  ///////////////////////////////////////////////////////////////////////////
+TNeuLANDPhysics::TNeuLANDPhysics()
+  : m_EventData(new TNeuLANDData),
+  m_EventPhysics(this),
+  m_Spectra(0),
+  m_Q_RAW_Threshold(0), // adc channels
+  m_Q_Threshold(7),     // normal bars in MeV
+  m_V_Threshold(1),     // veto bars in MeV
+  m_NumberOfBars(0)
+  {
+  m_Material_Index = 1.58;
+  m_Signal_Effective_Velocity = (3.0e8/m_Material_Index)*NPUNITS::m/NPUNITS::s;  
+  }
+
+///////////////////////////////////////////////////////////////////////////
+/// A usefull method to bundle all operation to add a detector
+void TNeuLANDPhysics::ReadXML(NPL::XmlParser xml){ 
+  std::vector<NPL::XML::block*> b = xml.GetAllBlocksWithName("NEULAND");  
+
+  for(unsigned int i = 0 ; i < b.size() ; i++){
+    m_NumberOfBars++;
+    unsigned int id = b[i]->AsInt("ID");
+
+    // position
+    PositionX[id] = b[i]->AsDouble("xpos");
+    PositionY[id] = b[i]->AsDouble("ypos"); 
+    PositionZ[id] = b[i]->AsDouble("zpos");
+
+    // bar direction
+    DirectionBar[id] = b[i]->AsString("direction");
+    
+    std::string tree_name = RootInput::getInstance()->GetChain()->GetName();
+
+    if(tree_name!="SimulatedTree"){
+      // linear cal
+      aQu[id] = b[i]->AsDouble("QUCal");
+      bQu[id] = b[i]->AsDouble("QUPed");
+      aQd[id] = b[i]->AsDouble("QDCal");
+      bQd[id] = b[i]->AsDouble("QDPed");
+      aTu[id] = b[i]->AsDouble("TUCal");
+      bTu[id] = b[i]->AsDouble("TUOff");
+      aTd[id] = b[i]->AsDouble("TDCal");
+      bTd[id] = b[i]->AsDouble("TDOff");
+
+      // T average offset
+      avgT0[id] = b[i]->AsDouble("TAveOff");
+
+      // slew correction T= tcal +slwT/sqrt(Qcal)
+      slwTu[id] = b[i]->AsDouble("TUSlw");
+      slwTd[id] = b[i]->AsDouble("TDSlw");
+
+      // DT position cal
+      DTa[id] = b[i]->AsDouble("DTCal");//!
+      DTb[id] = b[i]->AsDouble("DTOff");//!
+    }
+    else{
+      // linear cal
+      aQu[id] =1;
+      bQu[id] =0; 
+      aQd[id] =1;
+      bQd[id] =0; 
+      aTu[id] =1; 
+      bTu[id] =0; 
+      aTd[id] =1; 
+      bTd[id] =0; 
+
+      // T average offset
+      //avgT0[id]= 0.0;
+      avgT0[id]= -6.5833;
+
+      // slew correction T= tcal +slwT/sqrt(Qcal)
+      slwTu[id] = 0;
+      slwTd[id] = 0;
+
+      // DT position cal
+      // DTa[id] = 1;//!
+      DTb[id] = 0;//!
+
+      DTa[id] = 0.5*m_Signal_Effective_Velocity;//!
+      //DTa[id] = 94.87;//!
+
+
+      }
+
+  } 
+  cout << " -> " << m_NumberOfBars << " bars found" << endl;
+} 
+
+///////////////////////////////////////////////////////////////////////////
+void TNeuLANDPhysics::BuildSimplePhysicalEvent() {
+  BuildPhysicalEvent();
+}
+
+
+
+///////////////////////////////////////////////////////////////////////////
+void TNeuLANDPhysics::BuildPhysicalEvent() {
+  // apply thresholds and calibration
+
+  // instantiate CalibrationManager
+  static CalibrationManager* Cal = CalibrationManager::getInstance();
+  static double rawQup,calQup,rawQdown,calQdown,rawTup,calTup,rawTdown,calTdown,calQ,calT,X,Y;
+  static unsigned int ID;
+
+  static double neutron_mass = 939.57; //  MeV/c^2
+  static double c_light = 299792458;    //m.s-1
+
+  // All vector size 
+  static unsigned int QUsize, QDsize, TUsize, TDsize ; 
+  QUsize = m_EventData->GetChargeUpMult();
+  QDsize = m_EventData->GetChargeDownMult();
+  TUsize = m_EventData->GetTimeUpMult();
+  TDsize = m_EventData->GetTimeDownMult();
+  static double threshold;
+  // loop on Qup
+  for (unsigned int qup = 0; qup < QUsize ; qup++) {
+    rawQup = m_EventData->GetChargeUp(qup);
+    rawTup=-1;
+    rawQdown=-1;
+    rawTdown=-1;
+    if (rawQup > m_Q_RAW_Threshold) {
+      ID = m_EventData->GetChargeUpID(qup);
+      if(ID<401)
+        threshold=m_Q_Threshold;
+      else
+        threshold=m_V_Threshold;
+
+      // look for associated Charge down
+      for(unsigned int qdown = 0 ; qdown < QDsize ; qdown++){
+        if(m_EventData->GetChargeDownID(qdown)==ID){
+          rawQdown=m_EventData->GetChargeDown(qdown); 
+          if(rawQdown > m_Q_RAW_Threshold)
+	    {
+	      // Look for the associate time 
+	      for(unsigned int tdown = 0 ; tdown < TDsize; tdown++)
+		{
+		  if(m_EventData->GetTimeDownID(qdown)==ID)
+		    {
+		      rawTdown=m_EventData->GetTimeDown(qdown);
+		      break;
+		    }
+		}// TDown
+	    }//if raw threshold down
+          break;
+        } //if match ID 
+
+      }// Qdwown 
+
+      if(rawTdown>0){ // Tdown is found, means Qdown as well
+        // look for Tup  
+        for(unsigned int tup = 0 ; tup < TUsize ; tup++){
+          if(m_EventData->GetTimeUpID(tup)==ID){
+            rawTup = m_EventData->GetTimeUp(tup);
+            break;
+          }
+        }
+      }
+      // Got everything, do the math
+      if(rawTup>0){
+        // cal Q Up and Down
+        calQup=aQu[ID]*(rawQup-bQu[ID]);
+        calQdown=aQd[ID]*(rawQdown-bQd[ID]);
+
+        // average value of Up and Down
+        calQ=sqrt(calQup*calQdown); 
+
+        // cal T  Up
+        calTup=aTu[ID]*rawTup+bTu[ID];
+        // slew correction
+        calTup -= slwTu[ID]/sqrt(rawQup-bQu[ID]);
+
+        // cal T Down
+        calTdown=aTd[ID]*rawTdown+bTd[ID];
+        // slew correction
+        calTdown -= slwTd[ID]/sqrt(rawQdown-bQd[ID]);
+    
+        if(calQ>threshold){
+          calT= (calTdown+calTup)*0.5+avgT0[ID]+Cal->GetPedestal("NEULAND_T_ID"+NPL::itoa(ID));
+
+	  if(DirectionBar[ID]=='H')
+	    {
+	      X = (calTdown-calTup)*DTa[ID]+DTb[ID]+Cal->GetPedestal("NEULAND_X_ID"+NPL::itoa(ID));
+	      Y = 0.0;
+	    }
+	      
+	  if(DirectionBar[ID]=='V')
+	    {
+	      X = 0.0;
+	      Y=(calTdown-calTup)*DTa[ID]+DTb[ID]+Cal->GetPedestal("NEULAND_Y_ID"+NPL::itoa(ID));     
+	    }
+	   
+          DetectorNumber.push_back(ID);
+          Charge.push_back(calQ);
+          TOF.push_back(calT);
+          PosY.push_back(Y+PositionY[ID]);
+          PosX.push_back(X+PositionX[ID]);
+          PosZ.push_back(PositionZ[ID] + m_offset[0][2]); // [0]-> only one Nebula detector    [2]-> z position
+
+          if(ID<401)
+	    {
+            IsVeto.push_back(0);
+	    }
+          else
+            IsVeto.push_back(1);
+
+	  X = 0.0;
+	  Y = 0.0;
+
+        }
+      }
+
+    }// if raw threshold up
+  } // Qup
+}
+
+///////////////////////////////////////////////////////////////////////////
+void TNeuLANDPhysics::PreTreat() {
+
+}
+
+
+
+///////////////////////////////////////////////////////////////////////////
+void TNeuLANDPhysics::ReadAnalysisConfig() {
+}
+
+///////////////////////////////////////////////////////////////////////////
+void TNeuLANDPhysics::Clear() {
+  DetectorNumber.clear();
+  Charge.clear();
+  TOF.clear();
+  PosY.clear();
+  PosX.clear();
+  PosZ.clear();
+  IsVeto.clear();
+}
+
+///////////////////////////////////////////////////////////////////////////
+void TNeuLANDPhysics::ReadConfiguration(NPL::InputParser parser) {
+  vector<NPL::InputBlock*> blocks = parser.GetAllBlocksWithToken("NEULAND");
+  if(NPOptionManager::getInstance()->GetVerboseLevel())
+    cout << "//// " << blocks.size() << " detector(s) found " << endl; 
+
+  vector<string> token= {"XML","Offset","InvertX","InvertY"};
+
+  for(unsigned int i = 0 ; i < blocks.size() ; i++){
+    if(blocks[i]->HasTokenList(token)){
+      cout << endl << "////  NeuLAND (" << i+1 << ")" << endl;
+      unsigned int det = std::atoi(blocks[i]->GetMainValue().c_str());
+      string xmlpath = blocks[i]->GetString("XML");
+      NPL::XmlParser xml;
+      xml.LoadFile(xmlpath);
+      ReadXML(xml);
+      TVector3 offset = blocks[i]->GetTVector3("Offset","mm"); 
+      bool invertX = blocks[i]->GetInt("InvertX"); 
+      bool invertY = blocks[i]->GetInt("InvertY"); 
+      m_offset[det] = offset;
+      m_invertX[det] = invertX;
+      m_invertY[det] = invertY;
+    }
+  }
+}
+
+///////////////////////////////////////////////////////////////////////////
+void TNeuLANDPhysics::InitSpectra() {
+  m_Spectra = new TNeuLANDSpectra(m_NumberOfBars);
+}
+
+
+
+///////////////////////////////////////////////////////////////////////////
+void TNeuLANDPhysics::FillSpectra() {
+  m_Spectra -> FillRawSpectra(m_EventData);
+  m_Spectra -> FillPhysicsSpectra(m_EventPhysics);
+}
+
+
+
+///////////////////////////////////////////////////////////////////////////
+void TNeuLANDPhysics::CheckSpectra() {
+  m_Spectra->CheckSpectra();
+}
+
+
+
+///////////////////////////////////////////////////////////////////////////
+void TNeuLANDPhysics::ClearSpectra() {
+}
+
+
+
+///////////////////////////////////////////////////////////////////////////
+map< string , TH1*> TNeuLANDPhysics::GetSpectra() {
+  if(m_Spectra)
+    return m_Spectra->GetMapHisto();
+  else{
+    map< string , TH1*> empty;
+    return empty;
+  }
+}
+
+///////////////////////////////////////////////////////////////////////////
+void TNeuLANDPhysics::WriteSpectra() {
+  m_Spectra->WriteSpectra();
+}
+
+
+
+///////////////////////////////////////////////////////////////////////////
+void TNeuLANDPhysics::AddParameterToCalibrationManager() {
+  CalibrationManager* Cal = CalibrationManager::getInstance();
+
+  vector<double> standardO={0};
+  for (int i = 0; i < m_NumberOfBars; ++i) {
+    Cal->AddParameter("NEULAND_T_ID"+ NPL::itoa(i+1),standardO);
+    Cal->AddParameter("NEULAND_X_ID"+ NPL::itoa(i+1),standardO);
+    Cal->AddParameter("NEULAND_Y_ID"+ NPL::itoa(i+1),standardO);
+  }
+}
+
+
+
+///////////////////////////////////////////////////////////////////////////
+void TNeuLANDPhysics::InitializeRootInputRaw() {
+  TChain* inputChain = RootInput::getInstance()->GetChain();
+  inputChain->SetBranchStatus("NeuLAND",  true );
+  inputChain->SetBranchAddress("NeuLAND", &m_EventData );
+}
+
+
+
+///////////////////////////////////////////////////////////////////////////
+void TNeuLANDPhysics::InitializeRootInputPhysics() {
+  TChain* inputChain = RootInput::getInstance()->GetChain();
+  inputChain->SetBranchAddress("NeuLAND", &m_EventPhysics);
+}
+
+
+
+///////////////////////////////////////////////////////////////////////////
+void TNeuLANDPhysics::InitializeRootOutput() {
+  TTree* outputTree = RootOutput::getInstance()->GetTree("NeuLAND");
+  outputTree->Branch("NeuLAND", "TNeuLANDPhysics", &m_EventPhysics);
+}
+
+
+
+////////////////////////////////////////////////////////////////////////////////
+//            Construct Method to be pass to the DetectorFactory              //
+////////////////////////////////////////////////////////////////////////////////
+NPL::VDetector* TNeuLANDPhysics::Construct() {
+  return (NPL::VDetector*) new TNeuLANDPhysics();
+}
+
+
+
+////////////////////////////////////////////////////////////////////////////////
+//            Registering the construct method to the factory                 //
+////////////////////////////////////////////////////////////////////////////////
+extern "C"{
+  class proxy_NeuLAND{
+    public:
+      proxy_NeuLAND(){
+        NPL::DetectorFactory::getInstance()->AddToken("NEULAND","NeuLAND");
+        NPL::DetectorFactory::getInstance()->AddDetector("NEULAND",TNeuLANDPhysics::Construct);
+      }
+  };
+
+  proxy_NeuLAND p_NeuLAND;
+}
+
diff --git a/NPLib/Detectors/NeuLAND/TNeuLANDPhysics.h b/NPLib/Detectors/NeuLAND/TNeuLANDPhysics.h
new file mode 100644
index 0000000000000000000000000000000000000000..eded36d184f9e36e57d7cb2985c7239f87d9a07e
--- /dev/null
+++ b/NPLib/Detectors/NeuLAND/TNeuLANDPhysics.h
@@ -0,0 +1,257 @@
+#ifndef TNeuLANDPHYSICS_H
+#define TNeuLANDPHYSICS_H
+/*****************************************************************************
+ * Copyright (C) 2009-2019   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: Audrey ANNE  contact address: anne@lpccaen.in2p3.fr      *
+ *                                                                           *
+ * Creation Date  : November 2023                                            *
+ * Last update    :                                                          *
+ *---------------------------------------------------------------------------*
+ * Decription:                                                               *
+ *  This class hold NeuLAND Treated data                                     *
+ *                                                                           *
+ *---------------------------------------------------------------------------*
+ * Comment:                                                                  *
+ *                                                                           *   
+ *                                                                           *
+ *****************************************************************************/
+
+// C++ headers 
+#include <vector>
+#include <map>
+#include <string>
+using namespace std;
+
+// ROOT headers
+#include "TObject.h"
+#include "TH1.h"
+#include "TVector3.h"
+// NPTool headers
+#include "TNeuLANDData.h"
+#include "TNeuLANDSpectra.h"
+#include "NPCalibrationManager.h"
+#include "NPVDetector.h"
+#include "NPInputParser.h"
+#include "NPXmlParser.h"
+// forward declaration
+class TNeuLANDSpectra;
+
+
+
+class TNeuLANDPhysics : public TObject, public NPL::VDetector {
+  //////////////////////////////////////////////////////////////
+  // constructor and destructor
+  public:
+    TNeuLANDPhysics();
+    ~TNeuLANDPhysics() {};
+
+
+    //////////////////////////////////////////////////////////////
+    // Inherited from TObject and overriden to avoid warnings
+  public: 
+    void Clear();   
+    void Clear(const Option_t*) {};
+
+
+    //////////////////////////////////////////////////////////////
+    // data obtained after BuildPhysicalEvent() and stored in
+    // output ROOT file
+  public:
+    vector<int>      DetectorNumber;
+    vector<double>   Charge;
+    vector<double>   TOF;
+    vector<double>   PosY;
+    vector<double>   PosX;
+    vector<double>   PosZ;
+    vector<bool>     IsVeto;
+
+  public:
+    TVector3 GetPos(const unsigned int& i) const{
+      return TVector3(PosX[i],PosY[i],PosZ[i]);
+    }
+
+    // Return true if one veto fired
+    bool HasVeto(){
+      unsigned int size = IsVeto.size();
+      for(unsigned int i = 0 ; i < size ; i++){
+        if(IsVeto[i])
+          return true;
+      }
+      return false;
+    };
+
+    /////////// Get index of fastest neutron
+    int GetFirstHit(){
+      unsigned int size = TOF.size();
+      unsigned int index=0;
+
+      if(!size)
+        return -1;
+
+      double tof = TOF[0];
+      for(unsigned int i = 1 ; i < size ; i++){
+        if(tof<TOF[i]){
+          tof=TOF[i];
+          index=i;
+        }
+      }
+      return index;
+    };
+
+  public:
+    /// A usefull method to bundle all operation to add a detector
+    void ReadXML(NPL::XmlParser); 
+
+    //////////////////////////////////////////////////////////////
+    // methods inherited from the VDetector ABC class
+  public:
+    // read stream from ConfigFile to pick-up detector parameters
+    void ReadConfiguration(NPL::InputParser);
+
+    // add parameters to the CalibrationManger
+    void AddParameterToCalibrationManager();
+
+    // method called event by event, aiming at extracting the 
+    // physical information from detector
+    void BuildPhysicalEvent();
+
+    // same as BuildPhysicalEvent() method but with a simpler
+    // treatment
+    void BuildSimplePhysicalEvent();
+
+    // same as above but for online analysis
+    void BuildOnlinePhysicalEvent()  {BuildPhysicalEvent();};
+
+    // activate raw data object and branches from input TChain
+    // in this method mother branches (Detector) AND daughter leaves 
+    // (fDetector_parameter) have to be activated
+    void InitializeRootInputRaw();
+
+    // activate physics data object and branches from input TChain
+    // in this method mother branches (Detector) AND daughter leaves 
+    // (fDetector_parameter) have to be activated
+    void InitializeRootInputPhysics();
+
+    // create branches of output ROOT file
+    void InitializeRootOutput();
+
+    // clear the raw and physical data objects event by event
+    void ClearEventPhysics() {Clear();}      
+    void ClearEventData()    {m_EventData->Clear();}   
+
+    // methods related to the TNeuLANDSpectra class
+    // instantiate the TNeuLANDSpectra class and 
+    // declare list of histograms
+    void InitSpectra();
+
+    // fill the spectra
+    void FillSpectra();
+
+    // used for Online mainly, sanity check for histograms and 
+    // change their color if issues are found, for example
+    void CheckSpectra();
+
+    // used for Online only, clear all the spectra
+    void ClearSpectra();
+
+    // write spectra to ROOT output file
+    void WriteSpectra();
+
+
+    //////////////////////////////////////////////////////////////
+    // specific methods to NeuLAND array
+  public:
+    // remove bad channels, calibrate the data and apply thresholds
+    void PreTreat();
+
+    // read the user configuration file. If no file is found, load standard one
+    void ReadAnalysisConfig();
+
+    // give and external TNeuLANDData object to TNeuLANDPhysics. 
+    // needed for online analysis for example
+    void SetRawDataPointer(TNeuLANDData* rawDataPointer) {m_EventData = rawDataPointer;}
+
+    // objects are not written in the TTree
+  private:
+    TNeuLANDData*         m_EventData;        //!
+    TNeuLANDPhysics*      m_EventPhysics;     //!
+
+    // getters for raw and pre-treated data object
+  public:
+    TNeuLANDData* GetRawData()        const {return m_EventData;}
+
+    // parameters used in the analysis
+  private:
+    // thresholds
+    double m_Q_RAW_Threshold; //!
+    double m_Q_Threshold;     //!
+    double m_V_Threshold;     //!
+
+    //effective velocity of signal inside bar
+    double m_Material_Index; //!
+    double m_Signal_Effective_Velocity; //!
+
+  public: 
+    void SetQThreshold(double t) {m_Q_Threshold=t;};
+    void SetVThreshold(double t) {m_V_Threshold=t;};
+    // number of detectors
+  private:
+    int m_NumberOfBars;  //!
+
+  private: // offset and inversion 
+    std::map<unsigned int, TVector3> m_offset;//!
+    std::map<unsigned int, bool> m_invertX;//!
+    std::map<unsigned int, bool> m_invertY;//!
+
+  private: // xml calibration
+    // position
+    std::map<unsigned int , double > PositionX;//!
+    std::map<unsigned int , double > PositionY;//!
+    std::map<unsigned int , double > PositionZ;//!
+
+    //Horizontal or Vertical
+    std::map<unsigned int, string> DirectionBar;//!
+  
+    // linear cal
+    std::map<unsigned int , double > aQu;//!
+    std::map<unsigned int , double > bQu;//!
+    std::map<unsigned int , double > aQd;//!
+    std::map<unsigned int , double > bQd;//!
+    std::map<unsigned int , double > aTu;//!
+    std::map<unsigned int , double > bTu;//!
+    std::map<unsigned int , double > aTd;//!
+    std::map<unsigned int , double > bTd;//!
+
+    // T average offset
+    std::map<unsigned int , double > avgT0;//!
+
+    // slew correction T= tcal +slwT/sqrt(Qcal)
+    std::map<unsigned int , double > slwTu;//!
+    std::map<unsigned int , double > slwTd;//!
+
+    // DT position cal
+    std::map<unsigned int , double > DTa;//!
+    std::map<unsigned int , double > DTb;//!
+
+
+    // spectra class
+  private:
+    TNeuLANDSpectra* m_Spectra; // !
+
+    // spectra getter
+  public:
+    map<string, TH1*>   GetSpectra(); 
+  
+    // Static constructor to be passed to the Detector Factory
+  public:
+    static NPL::VDetector* Construct();
+
+    ClassDef(TNeuLANDPhysics,1)  // NeuLANDPhysics structure
+};
+#endif
diff --git a/NPLib/Detectors/NeuLAND/TNeuLANDSpectra.cxx b/NPLib/Detectors/NeuLAND/TNeuLANDSpectra.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..2e3591a140990eeed2aad3fb01459c09b09e8b93
--- /dev/null
+++ b/NPLib/Detectors/NeuLAND/TNeuLANDSpectra.cxx
@@ -0,0 +1,174 @@
+/*****************************************************************************
+ * Copyright (C) 2009-2019   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: Adrien Matta  contact address: matta@lpccaen.in2p3.fr    *
+ *                                                                           *
+ * Creation Date  : December 2019                                            *
+ * Last update    :                                                          *
+ *---------------------------------------------------------------------------*
+ * Decription:                                                               *
+ *  This class hold NeuLAND Spectra                                           *
+ *                                                                           *
+ *---------------------------------------------------------------------------*
+ * Comment:                                                                  *
+ *                                                                           *   
+ *                                                                           *
+ *****************************************************************************/
+
+// class header 
+#include "TNeuLANDSpectra.h"
+
+// STL
+#include <iostream>  
+#include <string>
+using namespace std;
+
+// NPTool header
+#include "NPOptionManager.h"
+
+
+
+////////////////////////////////////////////////////////////////////////////////
+TNeuLANDSpectra::TNeuLANDSpectra() 
+   : fNumberOfDetectors(0) {
+  SetName("NeuLAND");
+}
+
+
+
+////////////////////////////////////////////////////////////////////////////////
+TNeuLANDSpectra::TNeuLANDSpectra(unsigned int NumberOfDetectors) {
+  if(NPOptionManager::getInstance()->GetVerboseLevel()>0)
+    cout << "************************************************" << endl
+      << "TNeuLANDSpectra : Initalizing control spectra for " 
+      << NumberOfDetectors << " Detectors" << endl
+      << "************************************************" << endl ;
+  SetName("NeuLAND");
+  fNumberOfDetectors = NumberOfDetectors;
+
+  InitRawSpectra();
+  InitPreTreatedSpectra();
+  InitPhysicsSpectra();
+}
+
+
+
+////////////////////////////////////////////////////////////////////////////////
+TNeuLANDSpectra::~TNeuLANDSpectra() {
+}
+
+
+
+////////////////////////////////////////////////////////////////////////////////
+void TNeuLANDSpectra::InitRawSpectra() {
+  static string name;
+  for (unsigned int i = 0; i < fNumberOfDetectors; i++) { // loop on number of detectors
+    // Energy 
+    name = "NeuLAND"+NPL::itoa(i+1)+"_ENERGY_RAW";
+    AddHisto1D(name, name, 4096, 0, 16384, "NeuLAND/RAW");
+    // Time 
+    name = "NeuLAND"+NPL::itoa(i+1)+"_TIME_RAW";
+    AddHisto1D(name, name, 4096, 0, 16384, "NeuLAND/RAW");
+  } // end loop on number of detectors
+}
+
+
+
+////////////////////////////////////////////////////////////////////////////////
+void TNeuLANDSpectra::InitPreTreatedSpectra() {
+  static string name;
+  for (unsigned int i = 0; i < fNumberOfDetectors; i++) { // loop on number of detectors
+    // Energy 
+    name = "NeuLAND"+NPL::itoa(i+1)+"_ENERGY_CAL";
+    AddHisto1D(name, name, 500, 0, 25, "NeuLAND/CAL");
+    // Time
+    name = "NeuLAND"+NPL::itoa(i+1)+"_TIME_CAL";
+    AddHisto1D(name, name, 500, 0, 25, "NeuLAND/CAL");
+
+  
+  }  // end loop on number of detectors
+}
+
+
+
+////////////////////////////////////////////////////////////////////////////////
+void TNeuLANDSpectra::InitPhysicsSpectra() {
+  static string name;
+  // Kinematic Plot 
+  name = "NeuLAND_ENERGY_TIME";
+  AddHisto2D(name, name, 500, 0, 500, 500, 0, 50, "NeuLAND/PHY");
+}
+
+
+
+////////////////////////////////////////////////////////////////////////////////
+void TNeuLANDSpectra::FillRawSpectra(TNeuLANDData* RawData) {
+/*  static string name;
+  static string family;
+
+  // Energy 
+  unsigned int sizeE = RawData->GetMultEnergy();
+  for (unsigned int i = 0; i < sizeE; i++) {
+    name = "NeuLAND"+NPL::itoa(RawData->GetE_DetectorNbr(i))+"_ENERGY_RAW";
+    family = "NeuLAND/RAW";
+
+    FillSpectra(family,name,RawData->Get_Energy(i));
+  }
+
+  // Time
+  unsigned int sizeT = RawData->GetMultTime();
+  for (unsigned int i = 0; i < sizeT; i++) {
+    name = "NeuLAND"+NPL::itoa(RawData->GetT_DetectorNbr(i))+"_TIME_RAW";
+    family = "NeuLAND/RAW";
+
+    FillSpectra(family,name,RawData->Get_Time(i));
+  }*/
+}
+
+
+
+////////////////////////////////////////////////////////////////////////////////
+void TNeuLANDSpectra::FillPreTreatedSpectra(TNeuLANDData* PreTreatedData) {
+/*  static string name;
+  static string family;
+  
+  // Energy 
+  unsigned int sizeE = PreTreatedData->GetMultEnergy();
+  for (unsigned int i = 0; i < sizeE; i++) {
+    name = "NeuLAND"+NPL::itoa(PreTreatedData->GetE_DetectorNbr(i))+"_ENERGY_CAL";
+    family = "NeuLAND/CAL";
+
+    FillSpectra(family,name,PreTreatedData->Get_Energy(i));
+  }
+
+  // Time
+  unsigned int sizeT = PreTreatedData->GetMultTime();
+  for (unsigned int i = 0; i < sizeT; i++) {
+    name = "NeuLAND"+NPL::itoa(PreTreatedData->GetT_DetectorNbr(i))+"_TIME_CAL";
+    family = "NeuLAND/CAL";
+
+    FillSpectra(family,name,PreTreatedData->Get_Time(i));
+  }*/
+}
+
+
+
+////////////////////////////////////////////////////////////////////////////////
+void TNeuLANDSpectra::FillPhysicsSpectra(TNeuLANDPhysics* Physics) {
+/*  static string name;
+  static string family;
+  family= "NeuLAND/PHY";
+
+  // Energy vs time
+  unsigned int sizeE = Physics->Energy.size();
+  for(unsigned int i = 0 ; i < sizeE ; i++){
+    name = "NeuLAND_ENERGY_TIME";
+    FillSpectra(family,name,Physics->Energy[i],Physics->Time[i]);
+  }*/
+}
+
diff --git a/NPLib/Detectors/NeuLAND/TNeuLANDSpectra.h b/NPLib/Detectors/NeuLAND/TNeuLANDSpectra.h
new file mode 100644
index 0000000000000000000000000000000000000000..343a01404aca10249cb13a637b38497cb8dd8b5f
--- /dev/null
+++ b/NPLib/Detectors/NeuLAND/TNeuLANDSpectra.h
@@ -0,0 +1,62 @@
+#ifndef TNeuLANDSPECTRA_H
+#define TNeuLANDSPECTRA_H
+/*****************************************************************************
+ * Copyright (C) 2009-2019   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: Adrien Matta  contact address: matta@lpccaen.in2p3.fr                        *
+ *                                                                           *
+ * Creation Date  : December 2019                                           *
+ * Last update    :                                                          *
+ *---------------------------------------------------------------------------*
+ * Decription:                                                               *
+ *  This class hold NeuLAND Spectra                                     *
+ *                                                                           *
+ *---------------------------------------------------------------------------*
+ * Comment:                                                                  *
+ *                                                                           *   
+ *                                                                           *
+ *****************************************************************************/
+
+// NPLib headers
+#include "NPVSpectra.h"
+#include "TNeuLANDData.h"
+#include "TNeuLANDPhysics.h"
+
+// Forward Declaration
+class TNeuLANDPhysics;
+
+
+class TNeuLANDSpectra : public VSpectra {
+  //////////////////////////////////////////////////////////////
+  // constructor and destructor
+  public:
+    TNeuLANDSpectra();
+    TNeuLANDSpectra(unsigned int NumberOfDetectors);
+    ~TNeuLANDSpectra();
+
+  //////////////////////////////////////////////////////////////
+  // Initialization methods
+  private:
+    void InitRawSpectra();
+    void InitPreTreatedSpectra();
+    void InitPhysicsSpectra();
+
+  //////////////////////////////////////////////////////////////
+  // Filling methods
+  public:
+    void FillRawSpectra(TNeuLANDData*);
+    void FillPreTreatedSpectra(TNeuLANDData*);
+    void FillPhysicsSpectra(TNeuLANDPhysics*);
+
+  //////////////////////////////////////////////////////////////
+  // Detector parameters 
+  private:
+    unsigned int fNumberOfDetectors;
+};
+
+#endif
diff --git a/NPLib/Detectors/PISTA/CMakeLists.txt b/NPLib/Detectors/PISTA/CMakeLists.txt
index 41848764389a46d338eae0aa8d60b5e782d863c2..b0b2938ab4cecab4d566f682e9c56311ac2999f0 100644
--- a/NPLib/Detectors/PISTA/CMakeLists.txt
+++ b/NPLib/Detectors/PISTA/CMakeLists.txt
@@ -21,5 +21,6 @@ add_library(NPPISTA SHARED TPISTASpectra.cxx TPISTAData.cxx TPISTAPhysics.cxx
 
 target_link_libraries(NPPISTA ${ROOT_LIBRARIES} NPCore) 
 
-install(FILES TPISTAData.h TPISTAPhysics.h TPISTASpectra.h TFPMWData.h TFPMWPhysics.h TICData.h TICPhysics.h TVamosReconstruction.h TTimeData.h DESTINATION ${CMAKE_INCLUDE_OUTPUT_DIRECTORY})
+install(FILES TPISTAData.h TPISTAPhysics.h TPISTASpectra.h TFPMWData.h TFPMWPhysics.h TICData.h TICPhysics.h
+    TVamosReconstruction.h TTimeData.h TProfileEvaluator.h DESTINATION ${CMAKE_INCLUDE_OUTPUT_DIRECTORY})
 
diff --git a/NPLib/Detectors/PISTA/TICPhysics.cxx b/NPLib/Detectors/PISTA/TICPhysics.cxx
index c905cf16a25a1716af8a7b21396c65017eebfacb..6d4152c9f89a59e9428e9dc0c80324d15f8fbb8f 100644
--- a/NPLib/Detectors/PISTA/TICPhysics.cxx
+++ b/NPLib/Detectors/PISTA/TICPhysics.cxx
@@ -9,10 +9,10 @@
  * Original Author: P. Morfouace  contact address: pierre.morfouace@cea.fr   *
  *                                                                           *
  * Creation Date  : October 2023                                             *
- * Last update    :                                                          *
+ * Last update    : 22/01/24                                                 *
  *---------------------------------------------------------------------------*
  * Decription:                                                               *
- *  This class hold IC Treated  data                                    *
+ *  This class hold IC Treated  data                                         *
  *                                                                           *
  *---------------------------------------------------------------------------*
  * Comment:                                                                  *
@@ -38,6 +38,7 @@ using namespace std;
 
 //   ROOT
 #include "TChain.h"
+#include "TKey.h"
 
 ClassImp(TICPhysics);
 
@@ -47,7 +48,6 @@ TICPhysics::TICPhysics()
   m_PreTreatedData(new TICData),
   m_EventPhysics(this),
   m_FPMW_Section(-1),
-  m_number_of_splines(34),
   m_Eres_Threshold(3000),
   m_Z_SPLINE_CORRECTION(false),
   m_NumberOfDetectors(0){
@@ -94,11 +94,29 @@ void TICPhysics::BuildPhysicalEvent() {
     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);
+    
+    if(i < 4){
+        fIC_PID[i] = 0.5* m_PreTreatedData->GetIC_Charge(i);
+    }
+    else if(i >= 6 && m_Data_Year==2024){
+        fIC_PID[i] = 2*m_PreTreatedData->GetIC_Charge(i);
+    }
+    else if((i==4 || i==5) && m_Data_Year==2024){
+        fIC_PID[i] = m_PreTreatedData->GetIC_Charge(i);
+    }
+    else if(i >= 4 && m_Data_Year==2023){
+        fIC_PID[i] = m_PreTreatedData->GetIC_Charge(i);
+    }
+ 
     fIC_Init[i] = GainInit * m_PreTreatedData->GetIC_Charge(i);
     fIC_TS.push_back(m_PreTreatedData->GetIC_TS(i));
   }
 
+  if(m_Y_SPLINE_CORRECTION && m_XY0_SPLINE_CORRECTION){
+    ApplyXYCorrections(); 
+  }
 
   if (fIC_Init[1]>0 && fIC_Init[5]>0) {
     EtotInit = 0 ;
@@ -121,10 +139,27 @@ void TICPhysics::BuildPhysicalEvent() {
     EtotInit = -100 ;
   }
 
-  if(fIC[1]>0 && fIC[5]>0){
-    DE = 0.5*(fIC_raw[0] + fIC_raw[1] + fIC_raw[2] + fIC_raw[3]) + fIC_raw[4];
-    Eres = fIC_raw[5] + fIC_raw[6] + fIC_raw[7] + fIC_raw[8] + fIC_raw[9];
+  DE = fIC_PID[0] + fIC_PID[1] + fIC_PID[2] + fIC_PID[3] + fIC_PID[4];
+  //DE = 0.5*(fIC_raw[0] + fIC_raw[1] + fIC_raw[2] + fIC_raw[3]) + fIC_raw[4];
+  Eres = fIC_PID[5] + fIC_PID[6] + fIC_PID[7] + fIC_PID[8] + fIC_PID[9];
+
+  if (m_DE_SPLINE_CORRECTION && m_Y_SPLINE_CORRECTION){
+    if (m_TimeData->GetMWPC13Mult() ==1 && fIC_TS.size()>=8 ){ //only mult 1 event
+      UShort_t FPMW_Section = m_FPMW_Section;
+      double TempY;
+
+      //Data year sensitive loading
+      if (m_Data_Year == 2024){
+        TempY  =  10* (fIC_TS.at(0) - m_TimeData->GetTS_MWPC13(0)) - ((m_TimeData->GetTime_MWPC13(0)+m_TimeData->GetToff_DT13(FPMW_Section))) ;
+      }
+      else if (m_Data_Year == 2023){
+        TempY =  m_Y ;
+      }
+      DE = DE * m_DEspline.at(0)->Eval(0) / m_DEspline.at(0)->Eval(TempY) ;
+    } // end if mult 1
+  } // end DE correction
 
+  if(fIC[1]>0 && fIC[5]>0){
     double scalor = Cal->GetValue("IC/ETOT_SCALING_SEC"+NPL::itoa(m_FPMW_Section),0);
 
     for(int i=0; i<10; i++){
@@ -170,10 +205,36 @@ void TICPhysics::PreTreat() {
     double charge = m_EventData->GetIC_Charge(i);
     long TS = m_EventData->GetIC_TS(i);
 
+
     m_PreTreatedData->SetIC_Charge(charge);
     m_PreTreatedData->SetIC_Section(segment);
     m_PreTreatedData->SetIC_TS(TS);
   }
+
+  // Find the highest section with a charge
+  unsigned int secHighCharge = 0 ;
+  double chargeHighest = 0 ;
+  if (mysize > 1){
+    for (unsigned int i = (mysize-1) ; i >= 0 ; i--){
+      chargeHighest = m_EventData->GetIC_Charge(i);
+      secHighCharge = i ;
+      break;
+    } // end if charge 
+  } // end inverse loop
+  
+  if ((chargeHighest > 0) && (secHighCharge!=0)){
+    // loop through all section until we get to the highest
+    // if one of them is empty we clear
+    for (unsigned int j = 0 ; j<secHighCharge ; j++ ){
+      double charge = m_EventData->GetIC_Charge(j);
+      if (charge <= 0) {
+        ClearPreTreatedData();
+        break;
+      } // end loop 
+    } // end cond on charge 
+
+
+  }
 }
 
 
@@ -232,18 +293,47 @@ void TICPhysics::ReadAnalysisConfig() {
         m_Data_Year = atof(DataBuffer.c_str());
         cout << whatToDo << " " << m_Data_Year << endl;
       }
-
-      else if(whatToDo=="NUMBER_OF_SPLINES"){
+      else if (whatToDo=="LOAD_Y_SPLINE") {
         AnalysisConfigFile >> DataBuffer;
-        m_number_of_splines = atoi(DataBuffer.c_str());
-        cout << whatToDo << " " << m_number_of_splines << endl;
+        m_Y_SPLINE_PATH = DataBuffer;
+        cout << "*** Loading Y spline ***" << endl;
+        m_Y_SPLINE_CORRECTION = LoadSpline(m_Yspline,m_number_Y_spline,m_Y_SPLINE_PATH);
+      }
+      else if (whatToDo=="LOAD_XY0_PROFILE") {
+        AnalysisConfigFile >> DataBuffer;
+        m_XY0_PROFILE_PATH = DataBuffer;
+        cout << "*** Loading XY0 profile ***" << endl;
+        TString PathTemp = m_XY0_PROFILE_PATH;
+        TFile* ifile = new TFile(PathTemp,"read");
+        if(ifile->IsOpen() && !ifile->IsZombie()){
+          m_XY0_SPLINE_CORRECTION = true;
+          m_IC0_Profile.LoadProfile(PathTemp,"ICOneZeroProfile");
+        }
+        else {
+          m_XY0_SPLINE_CORRECTION = false ;
+        }
+        ifile->Close();
+      }
+      else if (whatToDo=="LOAD_DE_SPLINE") {
+        AnalysisConfigFile >> DataBuffer;
+        m_DE_SPLINE_PATH = DataBuffer;
+        cout << "*** Loading DE spline ***" << endl;
+        m_DE_SPLINE_CORRECTION = LoadSpline(m_DEspline,m_number_DE_spline,m_DE_SPLINE_PATH);
       }
       else if (whatToDo=="LOAD_Z_SPLINE"){
         AnalysisConfigFile >> DataBuffer;
         m_Z_SPLINE_PATH = DataBuffer;
         cout << "*** Loading Z spline ***" << endl;
-        LoadZSpline();
+        m_Z_SPLINE_CORRECTION = LoadSpline(m_Zspline,m_number_zspline,m_Z_SPLINE_PATH);
       }
+
+      else if (whatToDo=="LOAD_Z_SPLINE_EVAL"){
+        AnalysisConfigFile >> DataBuffer;
+        m_Z_SPLINE_EVAL_PATH = DataBuffer;
+        cout << "*** Loading Z spline eval position***" << endl;
+        m_Z_SPLINE_EVAL = LoadVector(m_Z_spline_eval,m_Z_SPLINE_EVAL_PATH);
+      }
+
       else {
         ReadingStatus = false;
       }
@@ -253,35 +343,93 @@ void TICPhysics::ReadAnalysisConfig() {
 
 
 ///////////////////////////////////////////////////////////////////////////
-void TICPhysics::LoadZSpline(){
-  TString filename = m_Z_SPLINE_PATH;
+bool TICPhysics::LoadSpline(vector<TSpline3*> &iSpline, int &NSpline , string Path){
+  TString filename = Path;
   TFile* ifile = new TFile(filename,"read");
+  if(ifile->IsOpen() && !ifile->IsZombie()){
+
+    // Get number of spline
+    TIter next(ifile->GetListOfKeys());
+    TKey* key;
+    NSpline = 0 ;
 
-  if(ifile->IsOpen()){
-    m_Z_SPLINE_CORRECTION = true;
-    for(int i=0; i<m_number_of_splines; i++){
-      m_Zspline[i] = (TSpline3*) ifile->FindObjectAny(Form("fspline_%d",i+1));
-      cout << "*** " << m_Zspline[i]->GetName() << " is loaded!" << endl;
+    while ((key=(TKey*)next())){
+      if (std::string(key->GetClassName()) == "TSpline3"){
+        NSpline ++;
+      }
+    }
+    cout << "This file contains  " << NSpline << " splines "  << endl;
+    // Load Spline
+    for(int i=0; i<NSpline; i++){
+      iSpline.at(i) = (TSpline3*) ifile->FindObjectAny(Form("fspline_%d",i+1));
+      iSpline.at(i)->SetName(Form("fspline_%s_%d",Path.c_str(),i+1));
+      cout  << iSpline.at(i)->GetName() << " is loaded!" << endl;
     }
 
+    ifile->Close();
+    return true;
   }
-  else
+  else{
     cout << "File " << filename << " not found!" << endl;
-  ifile->Close();
+    ifile->Close();
+    return false;
+  }
+}
+
+///////////////////////////////////////////////////////////////////////////
+template <typename T> bool TICPhysics::LoadVector(vector<T> &vec, const string &Path){    
+
+  std::ifstream file(Path);
+  if (!file.is_open()) {
+    return false; // File couldn't be opened
+  }
+
+  T value;
+  vec.clear();
+  std::string line;
+  while (std::getline(file, line)) {
+    std::istringstream iss(line);
+    while (iss >> value) {
+      vec.push_back(value);
+    }
+  }
+  file.close();
+  return !vec.empty();
 }
 
+
 ///////////////////////////////////////////////////////////////////////////
 double TICPhysics::ApplyZSpline(){
   double DEcorr;
-  double FF_DEcorr0[m_number_of_splines];
-  for(int i=0; i<m_number_of_splines; i++){
-    FF_DEcorr0[i] = m_Zspline[i]->Eval(8500);
-  }
+  double FF_DEcorr0[m_number_zspline];
 
+  if (m_Z_SPLINE_EVAL == true){
+    for(int i=0; i<m_number_zspline; i++){
+      if (i < m_Z_spline_eval.size()){
+        FF_DEcorr0[i] = m_Zspline[i]->Eval(m_Z_spline_eval[i]);
+      }
+      else if( m_Data_Year == 2024 ){
+        FF_DEcorr0[i] = m_Zspline[i]->Eval(12000);
+      }
+      else if( m_Data_Year == 2023 ){
+        FF_DEcorr0[i] = m_Zspline[i]->Eval(8500);
+      }
+    } // end loop spline
+  } // end cond spline eval
+  else if (m_Data_Year == 2023){
+    for(int i=0; i<m_number_zspline; i++){
+      FF_DEcorr0[i] = m_Zspline[i]->Eval(8500);
+    }
+  }
+  else if (m_Data_Year == 2024){
+    for(int i=0; i<m_number_zspline; i++){
+      FF_DEcorr0[i] = m_Zspline[i]->Eval(12000);
+    }
+  }
   double DEspline0;
   double Eval_DEspline;
   int index=0;
-  for(int i=0; i<m_number_of_splines; i++){
+  for(int i=0; i<m_number_zspline; i++){
     Eval_DEspline = m_Zspline[i]->Eval(Eres);
     if(DE<Eval_DEspline) break;
     index = i;
@@ -290,7 +438,7 @@ double TICPhysics::ApplyZSpline(){
   Eval_DEspline = m_Zspline[index]->Eval(Eres);
   DEspline0 = FF_DEcorr0[index];
   double dmin, dsup;
-  if(index<(m_number_of_splines-1) && DE>m_Zspline[0]->Eval(Eres)){
+  if(index<(m_number_zspline-1) && DE>m_Zspline[0]->Eval(Eres)){
     dmin = DE - m_Zspline[index]->Eval(Eres);
     dsup = m_Zspline[index+1]->Eval(Eres) - DE;
 
@@ -299,7 +447,7 @@ double TICPhysics::ApplyZSpline(){
 
     DEcorr        = DEspline0 * DE / Eval_DEspline;
   }
-  else if(index==m_number_of_splines-1){
+  else if(index==m_number_zspline-1){
     Eval_DEspline = m_Zspline[index]->Eval(Eres);
     DEspline0     = FF_DEcorr0[index];
 
@@ -308,6 +456,66 @@ double TICPhysics::ApplyZSpline(){
 
   return DEcorr;
 }
+///////////////////////////////////////////////////////////////////////////
+void TICPhysics::ApplyXYCorrections(){
+  vector<double> ICcorr_Y(11), ICcorr_X(11); 
+  double FF_DriftTime ;
+  if (m_TimeData->GetMWPC13Mult() ==1 && fIC_TS.size()>=8){ //only mult 1 event
+    UShort_t FPMW_Section = m_FPMW_Section;
+
+    // ***************************Different def of correction depending on year**********************************
+    if (m_Data_Year == 2024){
+      FF_DriftTime =  10* (fIC_TS.at(0) - m_TimeData->GetTS_MWPC13(0)) - ((m_TimeData->GetTime_MWPC13(0)+m_TimeData->GetToff_DT13(FPMW_Section))) ;
+    }
+    else if (m_Data_Year == 2023){
+      FF_DriftTime = m_Y;
+    }
+    else {
+      return ;
+    }
+
+    //**************************  Correction of section 1 to 4 ***************************************************
+    for (int seg = 2; seg < fIC_TS.size() ; seg++) { // loop on multiplicity of event
+
+      if (m_Yspline.at(seg-2)==0){
+        ICcorr_Y.at(seg) = fIC_PID[seg]; 
+      }
+
+      else {
+        ICcorr_Y.at(seg) = fIC_PID[seg] * m_Yspline.at(seg-2)->Eval(0)/ m_Yspline.at(seg-2)->Eval(FF_DriftTime);
+        if (!(ICcorr_Y.at(seg)==ICcorr_Y.at(seg))) ICcorr_Y.at(seg) = 0;
+      } //end if non empty
+      if (seg == 0) break;
+    }//endloop seg
+
+
+    //**************************  Correction of section 0 ***************************************************
+
+    Double_t PolX =  1.37622;
+
+    Double_t ICRatio =  fIC_PID[1]/fIC_PID[0];
+    Double_t ICRatioCorr =  ICRatio * PolX / m_IC0_Profile.Evaluate(m_X,FF_DriftTime,false);
+    Double_t ICcorr_Y0 = fIC_PID[0] / PolX * m_IC0_Profile.Evaluate(m_X,FF_DriftTime,false);
+
+    if ( ICRatioCorr<1.4 || ICRatioCorr >1.5){
+      ICRatioCorr =  ICRatio * PolX / m_IC0_Profile.Evaluate(m_X,FF_DriftTime,false);
+      ICcorr_Y0 =     fIC_PID[0] / PolX * m_IC0_Profile.Evaluate(m_X,FF_DriftTime,false);
+      if (ICRatioCorr >100) {
+        ICcorr_Y0 = fIC_PID[0];
+      }
+    }
+
+
+    //**************************  Overwrite ICRAW ***************************************************
+    //Overwrite ic_raw
+    for (int i = 1 ; i<fIC_TS.size() ;i++){
+      if (ICcorr_Y.at(i) != 0 ){
+        fIC_PID[i] = ICcorr_Y.at(i);
+      }
+    }
+    fIC_PID[0] = ICcorr_Y0;
+  }
+}
 
 ///////////////////////////////////////////////////////////////////////////
 void TICPhysics::Clear() {
@@ -320,6 +528,7 @@ void TICPhysics::Clear() {
     fIC[i] = 0;
     fIC_raw[i] = 0;
     fIC_Init[i] = 0;
+    fIC_PID[i] = 0;
   }
 
   fIC_TS.clear();
diff --git a/NPLib/Detectors/PISTA/TICPhysics.h b/NPLib/Detectors/PISTA/TICPhysics.h
index c02c89ab1ccfbd4a6c7ef8fee2935fb7f8f7405b..122b4a148bf55bb646bea04f4ac1caf84c8370cd 100644
--- a/NPLib/Detectors/PISTA/TICPhysics.h
+++ b/NPLib/Detectors/PISTA/TICPhysics.h
@@ -34,8 +34,11 @@ using namespace std;
 #include "TH1.h"
 #include "TVector3.h"
 #include "TSpline.h"
+#include "TFile.h"
 // NPTool headers
 #include "TICData.h"
+#include "TTimeData.h"
+#include "TProfileEvaluator.h"
 #include "NPCalibrationManager.h"
 #include "NPVDetector.h"
 #include "NPInputParser.h"
@@ -71,6 +74,7 @@ class TICPhysics : public TObject, public NPL::VDetector {
 
     double fIC[11];
     double fIC_raw[11]; 
+    double fIC_PID[11]; 
     double fIC_Init[11];//! 
   private:
 
@@ -132,10 +136,23 @@ class TICPhysics : public TObject, public NPL::VDetector {
     // needed for online analysis for example
     void SetRawDataPointer(TICData* rawDataPointer) {m_EventData = rawDataPointer;}
 
+    // Setter and getter for section of the FPMW.
     void SetFPMWSection(int section) {m_FPMW_Section = section;}
     int GetFPMWSection() {return m_FPMW_Section;}
-    void LoadZSpline();
+    
+    //Setter and Getter for TTimeData used for drift time calculation and XY
+    void SetTTimeData(TTimeData *newTime) {m_TimeData = newTime;}
+    TTimeData* GetTTimeData() {return m_TimeData;}
+    
+    void SetX(double PosX) {m_X = PosX;}
+    double GetX() {return m_X;}
+    void SetY(double PosY) {m_Y = PosY;}
+    double GetY() {return m_Y;}
+
+    bool LoadSpline(vector<TSpline3*> &iSpline, int &NSpline, string Path);
+    template <typename T> bool LoadVector(vector<T> &vec, const string &Path);
     double ApplyZSpline();
+    void ApplyXYCorrections();
 
   // objects are not written in the TTree
   private:
@@ -152,14 +169,39 @@ class TICPhysics : public TObject, public NPL::VDetector {
   private:
     int m_NumberOfDetectors;  //!
     int m_FPMW_Section; //!
-    int m_number_of_splines; //!
+    int m_number_zspline; //!
     string m_Z_SPLINE_PATH; //!
-    bool m_Z_SPLINE_CORRECTION; //!
-    TSpline3* m_Zspline[50]; //!
+    string m_Z_SPLINE_EVAL_PATH; //!
+    bool m_Z_SPLINE_CORRECTION = false; //!
+    bool m_Z_SPLINE_EVAL = false; //!
+    vector<TSpline3*>  m_Zspline = vector<TSpline3*>(50); //!
+    vector<Double_t>  m_Z_spline_eval ; //!
     double m_Eres_Threshold; //!
 
-   //Year of acquisition
+    //Time temporary variable
+    TTimeData*      m_TimeData;  //!
+    //Correction in XY of IC
+    string m_Y_SPLINE_PATH; //!
+    string m_XY0_PROFILE_PATH; //!
+    string m_DE_SPLINE_PATH; //!
+
+    bool m_Y_SPLINE_CORRECTION = false; //!
+    bool m_DE_SPLINE_CORRECTION = false; //!
+    bool m_XY0_SPLINE_CORRECTION = false; //!
+
+    int m_number_Y_spline; //!
+    int m_number_XY0_spline; //!
+    int m_number_DE_spline; //!
+
+    double m_X; //!
+    double m_Y; //!
+    // Be careful this array contains only the correction from IC1 to 4
+    vector<TSpline3*> m_Yspline = vector<TSpline3*>(11); //! 
+    vector<TSpline3*> m_DEspline = vector<TSpline3*>(11); //! 
+    // The following contains correction for IC0
+    ProfileEvaluator m_IC0_Profile;//!
   private:
+    //Year of acquisition
     double m_Data_Year; //!
   // Static constructor to be passed to the Detector Factory
   public:
diff --git a/Projects/AlPhaPha/2024/macro/chio/XYCalibration/ProfileEvaluator.h b/NPLib/Detectors/PISTA/TProfileEvaluator.h
similarity index 74%
rename from Projects/AlPhaPha/2024/macro/chio/XYCalibration/ProfileEvaluator.h
rename to NPLib/Detectors/PISTA/TProfileEvaluator.h
index 0994ba971a8eb0dc2bb445420355b322baf2af80..1cfb4d4dfaf002e303526ded14fb0e917b658758 100644
--- a/Projects/AlPhaPha/2024/macro/chio/XYCalibration/ProfileEvaluator.h
+++ b/NPLib/Detectors/PISTA/TProfileEvaluator.h
@@ -1,6 +1,26 @@
 #ifndef PROFILE_EVAL
 #define PROFILE_EVAL
-
+/*****************************************************************************
+ * Copyright (C) 2009-2025   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: T.Efremov  contact address: theodore.efremov@cea.fr   *
+ *                                                                           *
+ * Creation Date  : 22/01/24                                            *
+ * Last update    :                                                          *
+ *---------------------------------------------------------------------------*
+ * Decription:                                                               *
+ *  Evaluator for 2D Profile                                *
+ *                                                                           *
+ *---------------------------------------------------------------------------*
+ * Comment:                                                                  *
+ *                                                                           *   
+ *                                                                           *
+ *****************************************************************************/
 #include <TFile.h>
 #include <TProfile2D.h>
 #include <iostream>
diff --git a/NPLib/Detectors/PISTA/TTimeData.cxx b/NPLib/Detectors/PISTA/TTimeData.cxx
index cb8713f660e51856e867ed046a518bcc9d047484..b3dab37f54621e72a2069e2ada357bd6f07c3aab 100644
--- a/NPLib/Detectors/PISTA/TTimeData.cxx
+++ b/NPLib/Detectors/PISTA/TTimeData.cxx
@@ -54,6 +54,9 @@ void TTimeData::Clear() {
   fTime_MWPC23.clear();
   fTime_MWPC24.clear();
 
+  fToff_DT13.clear();
+  fToff_DT14.clear();
+
   fSection_MWPC3.clear();
   fSection_MWPC4.clear();
 
diff --git a/NPLib/Detectors/PISTA/TTimeData.h b/NPLib/Detectors/PISTA/TTimeData.h
index d56982141903c3cad350f77b0d3193f5f893f3dd..5a6dad3c73408a5fca8bda46e541014a0b6b1f5e 100644
--- a/NPLib/Detectors/PISTA/TTimeData.h
+++ b/NPLib/Detectors/PISTA/TTimeData.h
@@ -44,6 +44,9 @@ class TTimeData : public TObject {
         vector<float> fTime_MWPC23;
         vector<float> fTime_MWPC24;
 
+        vector<double> fToff_DT13;
+        vector<double> fToff_DT14;
+
         vector<short> fSection_MWPC3;
         vector<short> fSection_MWPC4;
 
@@ -82,6 +85,9 @@ class TTimeData : public TObject {
         inline void SetTime_MWPC23(float time ){fTime_MWPC23.push_back(time);};//!
         inline void SetTime_MWPC24(float time ){fTime_MWPC24.push_back(time);};//!
 
+        inline void SetToff_DT13(double offset ){fToff_DT13.push_back(offset);};//!
+        inline void SetToff_DT14(double offset ){fToff_DT14.push_back(offset);};//!
+
         inline void SetSection_MWPC3(short section ){fSection_MWPC3.push_back(section);};//!
         inline void SetSection_MWPC4(short section ){fSection_MWPC4.push_back(section);};//!
 
@@ -107,6 +113,11 @@ class TTimeData : public TObject {
         inline float GetTime_MWPC24(const unsigned int &i) const
         {return fTime_MWPC24.at(i) ;}//!
         
+        inline double GetToff_DT13(const unsigned int &i) const
+        {return fToff_DT13.at(i) ;}//!
+        inline double GetToff_DT14(const unsigned int &i) const
+        {return fToff_DT14.at(i) ;}//!
+          
         inline short GetSection_MWPC3(const unsigned int &i) const
         {return fSection_MWPC3.at(i) ;}//!
         inline short GetSection_MWPC4(const unsigned int &i) const
@@ -123,7 +134,7 @@ class TTimeData : public TObject {
 
         //////////////////////////////////////////////////////////////
         // Required for ROOT dictionnary
-        ClassDef(TTimeData,2)  // TimeData structure
+        ClassDef(TTimeData,3)  // TimeData structure
 };
 
 #endif
diff --git a/NPLib/Detectors/Samurai/SamuraiFieldMap.cxx b/NPLib/Detectors/Samurai/SamuraiFieldMap.cxx
index 7c7e102f40c228e25c4702da54a8270f17c88076..25f7305456ada541067b790755949448856c70dd 100644
--- a/NPLib/Detectors/Samurai/SamuraiFieldMap.cxx
+++ b/NPLib/Detectors/Samurai/SamuraiFieldMap.cxx
@@ -51,8 +51,7 @@ double SamuraiFieldMap::Delta(const double* parameter){
   //pos =Propagate(parameter[0],m_FitPosFDC0,m_FitDirFDC0,false); 
   pos =Propagate(parameter[0],m_FitPosFDC0,m_FitDirFDC0,true); 
   // Move the fdc2 pos from lab frame to fdc2 frame 
-  pos.back().RotateY(-m_fdc2angle+m_angle); 
-
+  pos.back().RotateY(-m_fdc2angle+m_angle);
   //double d = (pos.back().X()-m_FitPosFDC2.X())*(pos.back().X()-m_FitPosFDC2.X());
   // return d;
   diff = pos.back()-m_FitPosFDC2;
@@ -141,6 +140,7 @@ std::vector< TVector3 > SamuraiFieldMap::Propagate(double Brho, TVector3 pos, TV
   dir=dir.Unit();
   static double r;
   r = sqrt(pos.X()*pos.X()+pos.Z()*pos.Z());
+  
   // number of step taken
   static unsigned int count;
   count = 0;
@@ -159,7 +159,6 @@ std::vector< TVector3 > SamuraiFieldMap::Propagate(double Brho, TVector3 pos, TV
     }
   }
   else {// failure
-    //cout << "Fail" << endl;
     return track;
   }
 
@@ -180,7 +179,8 @@ std::vector< TVector3 > SamuraiFieldMap::Propagate(double Brho, TVector3 pos, TV
     func(N, pos+xk1*(m_StepTime/2.), imp+pk1*(m_StepTime/2.) , xk2, pk2);
     func(N, pos+xk2*(m_StepTime/2.), imp+pk2*(m_StepTime/2.) , xk3, pk3);
     func(N, pos+xk3*m_StepTime     , imp+pk3*m_StepTime      , xk4, pk4);
-    pos +=(xk1+2*xk2+2*xk3+xk4)*(m_StepTime/6.); 
+    pos +=(xk1+2*xk2+2*xk3+xk4)*(m_StepTime/6.);
+
     imp +=(pk1+2*pk2+2*pk3+pk4)*(m_StepTime/6.);
     if(store){
       pos.RotateY(-m_angle);
diff --git a/NPLib/Detectors/Samurai/TSamuraiBDCData.cxx b/NPLib/Detectors/Samurai/TSamuraiBDCData.cxx
index 862fdde7635fbf08bdda51f0670f0ca0d8cb1ac4..7e338083cf817192e58acc4899923114a409b4a2 100644
--- a/NPLib/Detectors/Samurai/TSamuraiBDCData.cxx
+++ b/NPLib/Detectors/Samurai/TSamuraiBDCData.cxx
@@ -20,6 +20,7 @@ void TSamuraiBDCData::Clear(){
   fBDC_WireNbr.clear();
   fBDC_Time.clear();
   fBDC_Edge.clear();
+
 }
 
 ////////////////////////////////////////////////////////////////////////////////
diff --git a/NPLib/Detectors/Samurai/TSamuraiBDCData.h b/NPLib/Detectors/Samurai/TSamuraiBDCData.h
index 50e87d81d3b3fdaeea34c9263216b09a58577a61..36eef2ea3ed3b241397636dd6fe927235488a556 100644
--- a/NPLib/Detectors/Samurai/TSamuraiBDCData.h
+++ b/NPLib/Detectors/Samurai/TSamuraiBDCData.h
@@ -31,7 +31,7 @@ class TSamuraiBDCData: public TObject{
     int const GetWireNbr(const unsigned int& i){return fBDC_WireNbr[i];};
     double const GetTime(const unsigned int& i){return fBDC_Time[i];};
     int const GetEdge(const unsigned int& i){return fBDC_Edge[i];};
-
+  
     ClassDef(TSamuraiBDCData,1); 
 };
 
diff --git a/NPLib/Detectors/Samurai/TSamuraiBDCPhysics.cxx b/NPLib/Detectors/Samurai/TSamuraiBDCPhysics.cxx
index 93871fe64c681818377404fa69dc3207e13c8781..6420a38843e1529849dcf1700b015ce9424cd4ac 100644
--- a/NPLib/Detectors/Samurai/TSamuraiBDCPhysics.cxx
+++ b/NPLib/Detectors/Samurai/TSamuraiBDCPhysics.cxx
@@ -63,9 +63,32 @@ TVector3 TSamuraiBDCPhysics::GetPos(unsigned int det){
     }
   }
   return res;
+}
 
+///////////////////////////////////////////////////////////////////////////
+int TSamuraiBDCPhysics::GetPileUpDet(unsigned int det){
+  int res = -10000;
+  unsigned int size = PosX.size();
+  for(unsigned int i = 0 ; i < size ; i++){
+    if(Detector[i]==det){
+      res = PileUp[i];
+    }
+  }
+  return res;
+}
 
+///////////////////////////////////////////////////////////////////////////
+TVector3 TSamuraiBDCPhysics::GetDir(unsigned int det){
+  TVector3 res(-10000,-10000,-10000); 
+  unsigned int size = PosX.size();
+  for(unsigned int i = 0 ; i < size ; i++){
+    if(Detector[i]==det){
+      res = Dir[i];
+    }
+  }
+  return res;
 }
+
 ///////////////////////////////////////////////////////////////////////////
 void TSamuraiBDCPhysics::BuildSimplePhysicalEvent(){
   BuildPhysicalEvent();
@@ -73,6 +96,11 @@ void TSamuraiBDCPhysics::BuildSimplePhysicalEvent(){
 
 ///////////////////////////////////////////////////////////////////////////
 void TSamuraiBDCPhysics::BuildPhysicalEvent(){
+  m_simulation = 0;
+  std::string tree_name = RootInput::getInstance()->GetChain()->GetName();
+  if(tree_name=="SimulatedTree"){m_simulation =1;}
+  else m_simulation = 0;
+  
   PreTreat();
 
   static unsigned int det,layer,wire,size;
@@ -103,7 +131,7 @@ void TSamuraiBDCPhysics::BuildPhysicalEvent(){
     devY.push_back(0);
     Dir.push_back(TVector3());
     PileUp.push_back(0);
-
+    Mult[det]=0;
 
     X.clear();Z.clear();R.clear();
     // Build the necessary X,Z,R vector
@@ -114,15 +142,18 @@ void TSamuraiBDCPhysics::BuildPhysicalEvent(){
         X[Wire_Angle[idx]].push_back(Wire_X[idx]); 
         Z[Wire_Angle[idx]].push_back(Wire_Z[idx]); 
         R[Wire_Angle[idx]].push_back(dl);
-      }
-    }
+	Wire_PosX[det].push_back(Wire_X[idx]);
+	Wire_PosZ[det].push_back(Wire_Z[idx]);
+	Wire_PosAngle[det].push_back(Wire_Angle[idx]);
+	Wire_PosR[det].push_back(dl);
+	 }
+    } // end of for loop to build detectors
     // Reconstruct the vector for each of the plane of each of the detector
     VX0.clear();VX100.clear(),D.clear();
 
-
     uid=0;
     for(auto it = X.begin();it!=X.end();++it){
-#if __cplusplus > 199711L && NPMULTITHREADING 
+#if __cplusplus > 199711L && NPMULTITHREADING
       m_reconstruction.AddPlan(uid++,X[it->first],Z[it->first],R[it->first]); 
 #else
       D[it->first]=m_reconstruction.BuildTrack2D(X[it->first],Z[it->first],R[it->first],X0,X100,a,b); 
@@ -138,7 +169,8 @@ void TSamuraiBDCPhysics::BuildPhysicalEvent(){
     // Loop over the results
     for(auto it = X.begin();it!=X.end();++it){
 #if __cplusplus > 199711L && NPMULTITHREADING
-      D[it->first]=m_reconstruction.GetResults(uid++,X0,X100,a,b); 
+      D[it->first]=m_reconstruction.GetResults(uid++,X0,X100,a,b);
+      Track_D[det].push_back(D[it->first]);
 #endif
       // for Debug, write a file of 
       //  { std::ofstream f("distance.txt", std::ios::app);
@@ -146,10 +178,15 @@ void TSamuraiBDCPhysics::BuildPhysicalEvent(){
       //  f.close();
       //  }
 
-      // very large "a" means track perpendicular to the chamber, what happen when there is pile up
-      if(abs(a)>5000)
-        PileUp[count]++;
-//cout << a << " " << b << endl;
+     
+      if(abs(a)>5000){
+        PileUp[count]++;	
+      }
+
+      Track_a[det].push_back(a);
+      Track_b[det].push_back(b);
+      Mult[det]+=X[it->first].size();
+      
       // Position at z=0
       TVector3 P(X0,0,0);
       P.RotateZ(it->first);
@@ -190,8 +227,19 @@ void TSamuraiBDCPhysics::BuildPhysicalEvent(){
           }
         }
       }
+   
       // Build the Reference position by averaging all possible pair 
       size = C.size();
+
+      // for(unsigned int i = 0 ; i < size ; i++)// to get rid of inf value
+      // 	{
+      // 	  if(!std::isnormal(C[i].X()) || !std::isnormal(C[i].Y()))
+      // 	    {
+      // 	      size = 0;
+      // 	      continue;
+      // 	    }
+      // 	}
+	    
       if(size){
         norm=0;PosX100=0;PosY100=0;
         for(unsigned int i = 0 ; i < size ; i++){
@@ -224,17 +272,20 @@ void TSamuraiBDCPhysics::BuildPhysicalEvent(){
         // the Z axis
         PhiY[count]=(PosY100-PosY[count])/100.;
         Dir[count]=TVector3(PosX100-PosX[count],PosY100-PosY[count],100).Unit();
-        if(m_invertX[det])
-          PosX[count]*=-1;
-        if(m_invertY[det])
-          PosY[count]*=-1;
-        
+	if(!m_simulation)
+	  {
+	    if(m_invertX[det])
+	      PosX[count]*=-1;
+	    if(m_invertY[det])
+	      PosY[count]*=-1;
+	  }
+
         PosX[count]+=m_offset[det].X();
         PosY[count]+=m_offset[det].Y();
         PosZ[count]=m_offset[det].Z();
-      }
-    }
 
+      }
+    } // end loop over X map values
     if(PosX[count]==0&&PosY[count]==0){
       PosX.erase(PosX.begin()+count);
       PosY.erase(PosY.begin()+count);
@@ -247,11 +298,14 @@ void TSamuraiBDCPhysics::BuildPhysicalEvent(){
     count++;
 
   }// detector loop
+
   return;
 }
 ///////////////////////////////////////////////////////////////////////////
 void TSamuraiBDCPhysics::PreTreat(){
+  
   ClearPreTreatedData();
+  
   static CalibrationManager* Cal = CalibrationManager::getInstance();
   static string channel;
 
@@ -283,15 +337,34 @@ void TSamuraiBDCPhysics::PreTreat(){
       }
       // a valid wire must have an edge
       if(etime && time && etime-time>ToTThreshold_L && etime-time<ToTThreshold_H){
-        channel="SamuraiBDC"+NPL::itoa(det)+"/L" + NPL::itoa(layer);
+        Layer.push_back(layer);       
+        Wire.push_back(wire);
+        Time.push_back(time);
+        ToT.push_back(etime-time);
+
+	channel="SamuraiBDC"+NPL::itoa(det)+"/L" + NPL::itoa(layer);
         SamuraiDCIndex idx(det,layer,wire);
-        if(!m_invertD[det])
-          m_DCHit[det].push_back(DCHit(det,layer,wire,time,etime-time,Cal->ApplySigmoid(channel,etime)));
-        else
-          m_DCHit[det].push_back(DCHit(det,layer,wire,time,etime-time,2.5-Cal->ApplySigmoid(channel,etime)));
-      }
+
+	if(m_simulation)
+	  {
+	    m_DCHit[det].push_back(DCHit(det,layer,wire,time,etime-time,m_EventData->GetTime(i)));
+	    DriftLength.push_back(m_EventData->GetTime(i));
+	  }
+	else
+	  {
+	    if(!m_invertD[det]){
+	      m_DCHit[det].push_back(DCHit(det,layer,wire,time,etime-time,Cal->ApplySigmoid(channel,etime)));
+	      DriftLength.push_back(Cal->ApplySigmoid(channel,etime));
+	    }
+	    else{
+	      m_DCHit[det].push_back(DCHit(det,layer,wire,time,etime-time,2.5-Cal->ApplySigmoid(channel,etime)));
+	      DriftLength.push_back(2.5-Cal->ApplySigmoid(channel,etime));
+	    }
+	  }
+	
+      }//if etime && time etc
     }
-  }
+  }// loop on multiplicity
   return;
 }
 ///////////////////////////////////////////////////////////////////////////
@@ -308,6 +381,21 @@ void TSamuraiBDCPhysics::Clear(){
   Dir.clear();
   PileUp.clear();
   Detector.clear();
+
+  DriftLength.clear();
+  Layer.clear();
+  Wire.clear();
+  Time.clear();
+  ToT.clear();
+
+  Track_a.clear();
+  Track_b.clear();
+  Track_D.clear();
+  Wire_PosX.clear();
+  Wire_PosZ.clear();
+  Wire_PosAngle.clear();
+  Wire_PosR.clear();
+  Mult.clear();
 }
 ///////////////////////////////////////////////////////////////////////////
 
diff --git a/NPLib/Detectors/Samurai/TSamuraiBDCPhysics.h b/NPLib/Detectors/Samurai/TSamuraiBDCPhysics.h
index 9fae5422e4c3c4b3692f92a3dd499524c6764095..1dda5c1437ae21d0b4e2dd4347c4d16c2d002e3e 100644
--- a/NPLib/Detectors/Samurai/TSamuraiBDCPhysics.h
+++ b/NPLib/Detectors/Samurai/TSamuraiBDCPhysics.h
@@ -81,10 +81,26 @@ class TSamuraiBDCPhysics : public TObject, public NPL::VDetector{
     void Clear(const Option_t*) {};
 
   public:
+    //   Provide Physical Multiplicity
+    std::vector<double> DriftLength;
+    std::vector<int> Layer;
+    std::vector<int> Wire;
+    std::vector<double> Time;
+    std::vector<double> ToT;
+  
     //  map of [bdc number]=vector of hit
     std::map<unsigned int, std::vector<DCHit>> m_DCHit;//!
 
-
+    // Varibles from track reconstruction
+    std::map<unsigned int, int > Mult;
+    std::map<unsigned int, std::vector<double>> Track_a;
+    std::map<unsigned int, std::vector<double>> Track_b;
+    std::map<unsigned int, std::vector<double>> Track_D;
+    std::map<unsigned int, std::vector<double>> Wire_PosX;
+    std::map<unsigned int, std::vector<double>> Wire_PosZ;
+    std::map<unsigned int, std::vector<double>> Wire_PosR;
+    std::map<unsigned int, std::vector<double>> Wire_PosAngle;
+  
     // Computed variable
     std::vector<double> PosX;
     std::vector<double> PosY;
@@ -103,6 +119,7 @@ class TSamuraiBDCPhysics : public TObject, public NPL::VDetector{
     std::map<unsigned int, bool> m_invertY;//!
     std::map<unsigned int, bool> m_invertD;//!
 
+    bool m_simulation;//!
 
   public:
     // Projected position at given Z plan
@@ -190,13 +207,19 @@ class TSamuraiBDCPhysics : public TObject, public NPL::VDetector{
     TSamuraiBDCData* GetPreTreatedData() const {return m_PreTreatedData;}
 
     TVector3 GetPos(unsigned int det);
+    TVector3 GetOffset(unsigned int det) {return m_offset[det];} ;
+    TVector3 GetDir(unsigned int det);
     double GetPosX(unsigned int i)  {return PosX[i];}
     double GetPosY(unsigned int i)  {return PosY[i];}
+    double GetPosZ(unsigned int i) {return PosZ[i];}
     double GetThetaX(unsigned int i){return ThetaX[i];}
     double GetPhiY(unsigned int i)  {return PhiY[i];}
     double GetDevX(unsigned int i)  {return devX[i];}
     double GetDevY(unsigned int i)  {return devY[i];}
     int    GetPileUp(unsigned int i){return PileUp[i];}
+    int    GetPileUpDet(unsigned int det);
+    int    GetMult(){return PosX.size();};
+    int GetMultDet(unsigned int det) {return Mult[det];}
 
   private:   //   Root Input and Output tree classes
     TSamuraiBDCData*         m_EventData;//!
diff --git a/NPLib/Detectors/Samurai/TSamuraiFDC0Data.cxx b/NPLib/Detectors/Samurai/TSamuraiFDC0Data.cxx
index 5b88ee852e6517eb60b31657dddbb45cf38a5d88..6c62a1c43ed6b7a89df0fde016ad055e725e3257 100644
--- a/NPLib/Detectors/Samurai/TSamuraiFDC0Data.cxx
+++ b/NPLib/Detectors/Samurai/TSamuraiFDC0Data.cxx
@@ -1,7 +1,8 @@
 #include "TSamuraiFDC0Data.h"
+#include "RootInput.h"
 #include <iostream>
 
-TSamuraiFDC0Data::TSamuraiFDC0Data(){};
+TSamuraiFDC0Data::TSamuraiFDC0Data(){}
 TSamuraiFDC0Data::~TSamuraiFDC0Data(){};
 
 ////////////////////////////////////////////////////////////////////////////////
diff --git a/NPLib/Detectors/Samurai/TSamuraiFDC0Physics.cxx b/NPLib/Detectors/Samurai/TSamuraiFDC0Physics.cxx
index aab3338139373b2a085e53eab58b888b238e8f3e..0fd7d09dd9755bd1c836fdcdcad6706da9f50a6a 100644
--- a/NPLib/Detectors/Samurai/TSamuraiFDC0Physics.cxx
+++ b/NPLib/Detectors/Samurai/TSamuraiFDC0Physics.cxx
@@ -9,7 +9,7 @@
  * Original Author: Adrien MATTA  contact address: matta@lpccaen.in2p3.fr    *
  *                                                                           *
  * Creation Date  : October 2020                                             *
- * Last update    :                                                          *
+ * Last update    :                                                          * // 
  *---------------------------------------------------------------------------*
  * Decription:                                                               *
  *  This class hold SamuraiFDC0 treated data                                 *
@@ -49,10 +49,11 @@ ClassImp(TSamuraiFDC0Physics)
 //    ToTThreshold_H = 180;
     ToTThreshold_L = 0;
     ToTThreshold_H = 10000;
- 
     DriftLowThreshold=0.1 ;
     DriftUpThreshold=2.4;
     PowerThreshold=15;
+    Layer_Plan1[0]=0;Layer_Plan1[1]=1;Layer_Plan1[2]=4;Layer_Plan1[3]=5;
+    Layer_Plan2[0]=2;Layer_Plan1[1]=3;Layer_Plan1[2]=6;Layer_Plan1[3]=7;
   }
 
 ///////////////////////////////////////////////////////////////////////////
@@ -62,16 +63,31 @@ void TSamuraiFDC0Physics::BuildSimplePhysicalEvent(){
 
 ///////////////////////////////////////////////////////////////////////////
 void TSamuraiFDC0Physics::BuildPhysicalEvent(){
+
+  m_simulation = 0;
+  std::string tree_name = RootInput::getInstance()->GetChain()->GetName();
+  if(tree_name=="SimulatedTree"){m_simulation =1;}
+  else m_simulation = 0;
+
   PreTreat();
+ 
 //  RemoveNoise();
 
   // Map[plane angle, vector of spatial information]
   static map<double, vector<double> > X ; 
   static map<double, vector<double> > Z ; 
-  static map<double, vector<double> > R ; 
+  static map<double, vector<double> > R ;
+  static map<int, vector<int> > WireInLayers;
+  
+  static map<int, int > WireInP1;
+  static map<int, int > WireInP2;
+
+  WireInLayers.clear(); WireInP1.clear(); WireInP2.clear();
+  
   static int det,layer,wire;
   X.clear();Z.clear();R.clear();
   unsigned int size = Detector.size();
+  
   for(unsigned int i = 0 ; i < size ; i++){
     if(DriftLength[i] > DriftLowThreshold && DriftLength[i] < DriftUpThreshold){
       det = Detector[i];
@@ -80,9 +96,35 @@ void TSamuraiFDC0Physics::BuildPhysicalEvent(){
       SamuraiDCIndex idx(det,layer,wire);
       X[Wire_Angle[idx]].push_back(Wire_X[idx]); 
       Z[Wire_Angle[idx]].push_back(Wire_Z[idx]); 
-      R[Wire_Angle[idx]].push_back(DriftLength[i]); 
+      R[Wire_Angle[idx]].push_back(DriftLength[i]);
+      WireInLayers[layer].push_back(1);
+      
+      Wire_PosX.push_back(Wire_X[idx]);
+      Wire_PosZ.push_back(Wire_Z[idx]);
+      Wire_PosAngle.push_back(Wire_Angle[idx]);
+      Wire_PosR.push_back(DriftLength[i]);
+      }
+  }
+
+  int MultP1 =0;
+  int MultP2 =0; 
+  int n = sizeof( Layer_Plan1) / sizeof(Layer_Plan1[0]);
+
+  for(auto it = WireInLayers.begin();it!=WireInLayers.end();++it){
+    bool exists = std::find(Layer_Plan1,Layer_Plan1 + n, it->first) != Layer_Plan1 + n;
+
+    if(exists) {
+      WireInP1[it->first]= (it->second).size();
+      if((it->second).size()>1) MultP1++;
+    }
+    else {
+      WireInP2[it->first]= (it->second).size();
+      if((it->second).size()>1) MultP2++;
     }
   }
+
+  if( MultP1>=2) MultInPlan++;
+  if( MultP2>=2) MultInPlan++;
   
   // Reconstruct the vector for each of the plane of each of the detector
   static double X0,X100,a,b; // store the BuildTrack2D results
@@ -108,6 +150,7 @@ void TSamuraiFDC0Physics::BuildPhysicalEvent(){
   for(auto it = X.begin();it!=X.end();++it){
 #if __cplusplus > 199711L && NPMULTITHREADING 
   D[it->first]=m_reconstruction.GetResults(uid++,X0,X100,a,b); 
+  Track_D.push_back(D[it->first]);
 #endif
 /*
    // for Debug, write a file of 
@@ -116,10 +159,14 @@ void TSamuraiFDC0Physics::BuildPhysicalEvent(){
    f.close();
    }
   */ 
-    // very large a means track perpendicular to the chamber, what happen when there is pile up
-    if(abs(a)>5000)
+ 
+  if(abs(a)>5000){
       PileUp++;
+  }
 
+  Track_a.push_back(a);
+  Track_b.push_back(b);
+  
     Mult+=X[it->first].size();
     // Position at z=0
     TVector3 P(X0,0,0);
@@ -165,19 +212,30 @@ void TSamuraiFDC0Physics::BuildPhysicalEvent(){
       }
     }
   }
-  
+ 
   // Build the Reference position by averaging all possible pair 
   size = C.size();
+
+  // for(unsigned int i = 0 ; i < size ; i++)// to get rid of inf value
+  //   {
+  //     if(!std::isnormal(C[i].X()) || !std::isnormal(C[i].Y()))
+  // 	{
+  // 	  size = 0;
+  // 	  continue;
+  // 	}
+  //   }
+  
   static double PosX100,PosY100,norm;
   if(size){
     PosX=0;
     PosY=0;
+    PosZ=0;
     PosX100=0;
     PosY100=0;
     norm=0;
     for(unsigned int i = 0 ; i < size ; i++){
       PosX+= C[i].X()*W[i]; 
-      PosY+= C[i].Y()*W[i]; 
+      PosY+= C[i].Y()*W[i];
       PosX100+= C100[i].X()*W[i]; 
       PosY100+= C100[i].Y()*W[i]; 
       norm+=W[i];
@@ -185,9 +243,10 @@ void TSamuraiFDC0Physics::BuildPhysicalEvent(){
 
     MultMean=size;
     // Mean position at Z=0
+    
     PosX=PosX/norm; 
     PosY=PosY/norm; 
-
+    
     // Mean position at Z=100
     PosX100=PosX100/norm; 
     PosY100=PosY100/norm; 
@@ -200,16 +259,20 @@ void TSamuraiFDC0Physics::BuildPhysicalEvent(){
     }
     devX=sqrt(devX/((size-1)*norm));
     devY=sqrt(devY/((size-1)*norm));
-   
-    if(m_invertX){
-      PosX*=-1;
-      PosX100*=-1;
-    }
-
-    if(m_invertY){
-      PosY*=-1;
-      PosY100*=-1;
-    }
+    
+    if(!m_simulation)
+      {
+	if(m_invertX){
+	  PosX*=-1;
+	  PosX100*=-1;
+	}
+	
+	if(m_invertY){
+	  PosY*=-1;
+	  PosY100*=-1;
+	}
+      }
+    
     // Compute ThetaX, angle between the Direction vector projection in XZ with
     // the Z axis
     ThetaX=atan((PosX100-PosX)/100.);
@@ -219,15 +282,22 @@ void TSamuraiFDC0Physics::BuildPhysicalEvent(){
     PhiY=atan((PosY100-PosY)/100.);
     //PhiY=(PosY100-PosY)/100.;
     Dir=TVector3(PosX100-PosX,PosY100-PosY,100).Unit();
+   
     PosX+=m_offset.X();
     PosY+=m_offset.Y();
+    PosZ+=m_offset.Z();
 
+    OffsetX = m_offset.X();
+    OffsetY = m_offset.Y();
+    OffsetZ = m_offset.Z();
+    
   }
 
   return;
 }
 ///////////////////////////////////////////////////////////////////////////
 void TSamuraiFDC0Physics::PreTreat(){
+  
   static CalibrationManager* Cal = CalibrationManager::getInstance();
   static string channel;
   // one map per detector
@@ -269,14 +339,21 @@ void TSamuraiFDC0Physics::PreTreat(){
         Time.push_back(time);
         ToT.push_back(etime-time);
         channel="SamuraiFDC0/L" + NPL::itoa(layer);
-        if(!m_invertD)
-          DriftLength.push_back(Cal->ApplySigmoid(channel,etime));
-        else
-          DriftLength.push_back(2.5-Cal->ApplySigmoid(channel,etime));
-      }
-    }
 
-  }
+	if(m_simulation)
+	  {
+	    DriftLength.push_back(m_EventData->GetTime(i));
+	  }
+	else
+	  {
+	    if(!m_invertD)
+	      DriftLength.push_back(Cal->ApplySigmoid(channel,etime));
+	    else
+	      DriftLength.push_back(2.5-Cal->ApplySigmoid(channel,etime));
+	  }
+      }//if etime && time etc
+    }
+  }//loop on multiplicity
   return;
 }
 ///////////////////////////////////////////////////////////////////////////
@@ -319,12 +396,29 @@ void TSamuraiFDC0Physics::RemoveNoise(){
   }
   return;
 }
+////////////////////////////////////////////////////////////////////////////////
+TVector3 TSamuraiFDC0Physics::ProjectedPosition(double Z){
+  TVector3 pos(-10000,-10000,-10000);
+  if(PosX!=-10000){
+  pos = TVector3(PosX,PosY,0)+(Z/Dir.Z())*Dir;
+  }
+  return pos;
+}
+////////////////////////////////////////////////////////////////////////////////
+double TSamuraiFDC0Physics::ProjectedPositionX(double Z){
+  return ProjectedPosition(Z).X();
+}
+////////////////////////////////////////////////////////////////////////////////
+double TSamuraiFDC0Physics::ProjectedPositionY(double Z){
+  return ProjectedPosition(Z).Y();
+}
+
 ///////////////////////////////////////////////////////////////////////////
 void TSamuraiFDC0Physics::Clear(){
   MultMean=0;
   PileUp=0;
   Mult=0;
-  PosX=PosY=-10000;
+  PosX=PosY=PosZ=-10000;
   ThetaX=PhiY=-10000;
   devX=devY=-10000;
   DriftLength.clear();
@@ -336,6 +430,19 @@ void TSamuraiFDC0Physics::Clear(){
   ParticleDirection.clear();
   MiddlePosition.clear();
   Matched.clear();
+
+  OffsetX = -10000;
+  OffsetY = -10000;
+  OffsetZ = -10000;
+  Track_a.clear();
+  Track_b.clear();
+  Track_D.clear();
+  Wire_PosX.clear();
+  Wire_PosZ.clear();
+  Wire_PosR.clear();
+  Wire_PosAngle.clear();
+
+  MultInPlan = 0;
 }
 ///////////////////////////////////////////////////////////////////////////
 
diff --git a/NPLib/Detectors/Samurai/TSamuraiFDC0Physics.h b/NPLib/Detectors/Samurai/TSamuraiFDC0Physics.h
index a013d8bbb92555f1a25b7e7175d7d25e1bef51d1..c0c1c1fb3b5f216250695cf849aad447983d62fb 100644
--- a/NPLib/Detectors/Samurai/TSamuraiFDC0Physics.h
+++ b/NPLib/Detectors/Samurai/TSamuraiFDC0Physics.h
@@ -66,12 +66,25 @@ class TSamuraiFDC0Physics : public TObject, public NPL::VDetector{
     std::vector<double> Time;
     std::vector<double> ToT;
     std::vector<bool>   Matched;
+
+    // Variables from track reconstruction
+    std::vector<double> Track_a;
+    std::vector<double> Track_b;
+    std::vector <double> Track_D;
+    std::vector<double> Wire_PosX;
+    std::vector<double> Wire_PosZ;
+    std::vector<double> Wire_PosR;
+    std::vector<double> Wire_PosAngle;
+
+    int MultInPlan;
+  
     // Computed variable
     std::vector<TVector3> ParticleDirection;
     std::vector<TVector3> MiddlePosition;
 
     double PosX;
     double PosY;
+    double PosZ;
     double ThetaX;
     double PhiY;
     double devX,devY;
@@ -80,13 +93,17 @@ class TSamuraiFDC0Physics : public TObject, public NPL::VDetector{
     int MultMean;
     int PileUp;
 
+   double OffsetX;
+   double OffsetY;
+   double OffsetZ;
+
   private: // offset and inversion 
     TVector3 m_offset;//!
     bool m_invertX;//!
     bool m_invertY;//!
     bool m_invertD;//!
-
-
+    bool m_simulation;//!
+  
   private: // Charateristic of the DC 
     void AddDC(std::string name, NPL::XmlParser&);//! take the XML file and fill in Wire_X and Layer_Angle
     std::map<SamuraiDCIndex,double> Wire_X;//! X position of the wires
@@ -99,7 +116,11 @@ class TSamuraiFDC0Physics : public TObject, public NPL::VDetector{
     // since the calibration is a sigmoid there quite a few event at the edge 
     double DriftLowThreshold;//! Minimum Drift length to keep the hit 
     double DriftUpThreshold;//! Maximum Drift length to keep the hit
-    double PowerThreshold;//! Maximum P2 minimisation value to keep the track   
+    double PowerThreshold;//! Maximum P2 minimisation value to keep the track
+
+    int Layer_Plan1[4];
+    int Layer_Plan2[4];
+  
     void RemoveNoise();
     // Construct the 2D track and ref position at Z=0 and Z=100 based on X,Z and Radius provided
 
@@ -165,14 +186,19 @@ class TSamuraiFDC0Physics : public TObject, public NPL::VDetector{
     // Retrieve raw and pre-treated data
     TSamuraiFDC0Data* GetRawData()        const {return m_EventData;}
  
-    TVector3 GetPos(){return TVector3(PosX,PosY,m_offset.Z());}
+    TVector3 GetPos(){return TVector3(PosX,PosY,PosZ);}
+    TVector3 GetOffset(){return m_offset;}
+    bool GetInvertX(){return m_invertX;};
+    bool GetInvertY(){return m_invertY;};
     double GetPosX(){return PosX;}
     double GetPosY(){return PosY;}
+    double GetPosZ(){return PosZ;}
     double GetThetaX(){return ThetaX;}
     double GetPhiY(){return PhiY;}
     double GetDevX(){return devX;}
     double GetDevY(){return devY;}
     int GetPileUp(){return PileUp;}
+    int GetMult(){return Mult;}
 
   private:   //   Root Input and Output tree classes
     TSamuraiFDC0Data*         m_EventData;//!
@@ -181,8 +207,9 @@ class TSamuraiFDC0Physics : public TObject, public NPL::VDetector{
 
    public:
     // Projected position at given Z plan
-    TVector3 ProjectedPosition(double Z){return TVector3(0,0,0);/*FIXME*/};
-
+    TVector3 ProjectedPosition(double Z);
+    double   ProjectedPositionX(double Z);
+    double   ProjectedPositionY(double Z);
 
   private: // Spectra Class
    // TSamuraiFDC0Spectra* m_Spectra; // !
diff --git a/NPLib/Detectors/Samurai/TSamuraiFDC2Physics.cxx b/NPLib/Detectors/Samurai/TSamuraiFDC2Physics.cxx
index 9cd4e25e963ed4c71419e714cfe6f08f7dc58583..060c17a10093e350ab5d2f20595a74f99145ccda 100644
--- a/NPLib/Detectors/Samurai/TSamuraiFDC2Physics.cxx
+++ b/NPLib/Detectors/Samurai/TSamuraiFDC2Physics.cxx
@@ -62,6 +62,12 @@ void TSamuraiFDC2Physics::BuildSimplePhysicalEvent(){
 
 ///////////////////////////////////////////////////////////////////////////
 void TSamuraiFDC2Physics::BuildPhysicalEvent(){
+  
+  m_simulation = 0;
+  std::string tree_name = RootInput::getInstance()->GetChain()->GetName();
+  if(tree_name=="SimulatedTree"){m_simulation =1;}
+  else m_simulation = 0;
+
   PreTreat();
 //  RemoveNoise();
 
@@ -81,7 +87,12 @@ void TSamuraiFDC2Physics::BuildPhysicalEvent(){
       SamuraiDCIndex idx(det,layer,wire);
       X[Wire_Angle[idx]].push_back(Wire_X[idx]); 
       Z[Wire_Angle[idx]].push_back(Wire_Z[idx]); 
-      R[Wire_Angle[idx]].push_back(DriftLength[i]); 
+      R[Wire_Angle[idx]].push_back(DriftLength[i]);
+      
+      Wire_PosX.push_back(Wire_X[idx]);
+      Wire_PosZ.push_back(Wire_Z[idx]);
+      Wire_PosAngle.push_back(Wire_Angle[idx]);
+      Wire_PosR.push_back(DriftLength[i]);
     }
   }
 
@@ -110,8 +121,8 @@ void TSamuraiFDC2Physics::BuildPhysicalEvent(){
   
   for(auto it = X.begin();it!=X.end();++it){
 #if __cplusplus > 199711L && NPMULTITHREADING
- 
-  D[it->first]=m_reconstruction.GetResults(uid++,X0,X100,a,b); 
+  D[it->first]=m_reconstruction.GetResults(uid++,X0,X100,a,b);
+  Track_D.push_back(D[it->first]);
 #endif
 
 /*   // for Debug, write a file of 
@@ -120,10 +131,13 @@ void TSamuraiFDC2Physics::BuildPhysicalEvent(){
    f.close();
    }
 */    
-   // very large a means track perpendicular to the chamber, what happen when there is pile up
+   
    if(abs(a)>5000)
       PileUp++;
 
+   Track_a.push_back(a);
+   Track_b.push_back(b);
+
     Mult+=X[it->first].size();
     // Position at z=0
     TVector3 P(X0,0,0);
@@ -205,17 +219,21 @@ void TSamuraiFDC2Physics::BuildPhysicalEvent(){
 
     devX=sqrt(devX/((size-1)*norm));
     devY=sqrt(devY/((size-1)*norm));
-   
-    if(m_invertX){
-      PosX*=-1;
-      PosX100*=-1;
-    }
-
-    if(m_invertY){
-      PosY*=-1;
-      PosY100*=-1;
-    }
-
+    
+    if(!m_simulation)
+      {
+	if(m_invertX){
+	  PosX*=-1;
+	  PosX100*=-1;
+	}
+      }//end if simulation
+
+    if(m_invertY)
+      {
+	PosY*=-1;
+	PosY100*=-1;
+      }
+	
     // Compute ThetaX, angle between the Direction vector projection in XZ with
     // the Z axis
     //ThetaX=atan((PosX100-PosX)/100.);
@@ -225,13 +243,13 @@ void TSamuraiFDC2Physics::BuildPhysicalEvent(){
     //PhiY=atan((PosY100-PosY)/100.);
     PhiY=(PosY100-PosY)/100.;
     Dir=TVector3(PosX100-PosX,PosY100-PosY,100).Unit();
+
     PosX+=m_offset.X();
     PosY+=m_offset.Y();
+    PosZ = m_offset.Z();
+    
   }
-/*  if(PosX==-10000)
-    cout << " bad " <<  Detector.size()<< " " << size << endl;
-  else
-    cout << " okay" <<  Detector.size()<< " " << size << endl;*/
+
   return;
 }
 ///////////////////////////////////////////////////////////////////////////
@@ -269,21 +287,28 @@ void TSamuraiFDC2Physics::PreTreat(){
       if(etime && time && etime-time>ToTThreshold_L && etime-time<ToTThreshold_H){
         if(!(wire==93 && layer ==7)){// remove noisy wire
          Detector.push_back(det);
-          Layer.push_back(layer);       
-          Wire.push_back(wire);
-          Time.push_back(time);
-          ToT.push_back(etime-time);
-          channel="SamuraiFDC2/L" + NPL::itoa(layer);
-          // rescalling is needed because calib are bad.
-          // to be fixed
-          if(!m_invertD)
-            DriftLength.push_back(Cal->ApplySigmoid(channel,etime));
-          else
-            DriftLength.push_back(10-Cal->ApplySigmoid(channel,etime));
-        }
-      }
+	 Layer.push_back(layer);       
+	 Wire.push_back(wire);
+	 Time.push_back(time);
+	 ToT.push_back(etime-time);
+	 channel="SamuraiFDC2/L" + NPL::itoa(layer);
+	 // rescalling is needed because calib are bad.
+	 // to be fixed
+	 if(m_simulation)
+	   {
+	     DriftLength.push_back(m_EventData->GetTime(i));
+	   }
+	 else
+	   {
+	     if(!m_invertD)
+	       DriftLength.push_back(Cal->ApplySigmoid(channel,etime));
+	     else
+	       DriftLength.push_back(10-Cal->ApplySigmoid(channel,etime));
+	   }
+        }// "filter" for noisy wires
+      }//if etime && time etc
     }
-  }
+  }//loop on multiplicity
   return;
 }
 ///////////////////////////////////////////////////////////////////////////
@@ -349,7 +374,7 @@ void TSamuraiFDC2Physics::Clear(){
   MultMean=0;
   PileUp=0;
   Mult=0;
-  PosX=PosY=-10000;
+  PosX=PosY=PosZ=-10000;
   ThetaX=PhiY=-10000;
   devX=devY=-10000;
   DriftLength.clear();
@@ -361,6 +386,14 @@ void TSamuraiFDC2Physics::Clear(){
   ParticleDirection.clear();
   MiddlePosition.clear();
   Matched.clear();
+
+  Track_a.clear();
+  Track_b.clear();
+  Track_D.clear();
+  Wire_PosX.clear();
+  Wire_PosZ.clear();
+  Wire_PosR.clear();
+  Wire_PosAngle.clear();
 }
 ///////////////////////////////////////////////////////////////////////////
 
@@ -399,7 +432,8 @@ void TSamuraiFDC2Physics::ReadConfiguration(NPL::InputParser parser){
 
     GetOffset().Print();
     PosX=1;
-    cout << m_invertY << endl;
+    //cout << m_invertY << endl;
+
 }
 
 ///////////////////////////////////////////////////////////////////////////
@@ -421,9 +455,9 @@ void TSamuraiFDC2Physics::AddDC(string name, NPL::XmlParser& xml){
       else if(sDir=="Y")
         T=90*deg;
       else if(sDir=="U")
-        T=-30*deg;
-      else if(sDir=="V")
         T=+30*deg;
+      else if(sDir=="V")
+        T=-30*deg;
       else{
         cout << "ERROR: Unknown layer orientation for Samurai FDC2"<< endl;
         exit(1);
diff --git a/NPLib/Detectors/Samurai/TSamuraiFDC2Physics.h b/NPLib/Detectors/Samurai/TSamuraiFDC2Physics.h
index 3e370bccd2757b5534ceb71200ef8344a60e2f20..e5ad76c7f034e0f849db173b2fcc5f1df086e16f 100644
--- a/NPLib/Detectors/Samurai/TSamuraiFDC2Physics.h
+++ b/NPLib/Detectors/Samurai/TSamuraiFDC2Physics.h
@@ -46,8 +46,6 @@
 // Forward declaration
 //class TSamuraiFDC2Spectra;
 
-
-
 class TSamuraiFDC2Physics : public TObject, public NPL::VDetector{
   public:
     TSamuraiFDC2Physics();
@@ -66,12 +64,23 @@ class TSamuraiFDC2Physics : public TObject, public NPL::VDetector{
     std::vector<double> Time;
     std::vector<double> ToT;
     std::vector<bool>   Matched;
+
+    // Variables from track reconstruction
+    std::vector<double> Track_a;
+    std::vector<double> Track_b;
+    std::vector <double> Track_D;
+    std::vector<double> Wire_PosX;
+    std::vector<double> Wire_PosZ;
+    std::vector<double> Wire_PosR;
+    std::vector<double> Wire_PosAngle;
+  
     // Computed variable
     std::vector<TVector3> ParticleDirection;
     std::vector<TVector3> MiddlePosition;
 
     double PosX;
     double PosY;
+    double PosZ;
     double ThetaX;
     double PhiY;
     double devX,devY;
@@ -79,12 +88,13 @@ class TSamuraiFDC2Physics : public TObject, public NPL::VDetector{
     int Mult;
     int MultMean;
     int PileUp;
-  
+
   private: // offset and inversion 
     TVector3 m_offset;//!
     bool m_invertX;//!
     bool m_invertY;//!
     bool m_invertD;//!
+    bool m_simulation;//!
 
   public:
     // Projected position at given Z plan
@@ -180,10 +190,13 @@ class TSamuraiFDC2Physics : public TObject, public NPL::VDetector{
     bool GetInvertY(){return m_invertY;};
     double GetPosX(){return PosX;}
     double GetPosY(){return PosY;}
+    double GetPosZ(){return PosZ;}
     double GetThetaX(){return ThetaX;}
     double GetDevX(){return devX;}
     double GetDevY(){return devY;}
     int GetPileUp(){return PileUp;}
+    TVector3 GetDir(){return Dir;}
+    int GetMult(){return Mult;}
 
   private:   //   Root Input and Output tree classes
     TSamuraiFDC2Data*         m_EventData;//!
diff --git a/NPLib/Detectors/Samurai/TSamuraiHodoscopePhysics.h b/NPLib/Detectors/Samurai/TSamuraiHodoscopePhysics.h
index bacf5ceaff354383ef7500b2414577ec71a3eac7..d7f50d7bcf8c11b6c432d05bbb24403cf708f34d 100644
--- a/NPLib/Detectors/Samurai/TSamuraiHodoscopePhysics.h
+++ b/NPLib/Detectors/Samurai/TSamuraiHodoscopePhysics.h
@@ -161,6 +161,7 @@ class TSamuraiHodoscopePhysics : public TObject, public NPL::VDetector {
     vector <double> GetCharge() {return Charge;}
     vector <double> GetTime() {return Time;}
     vector<int> GetID() {return ID;}
+    int GetMult() {return Charge.size();};
 
     // give and external TSamuraiHodoscopeData object to TSamuraiHodoscopePhysics. 
     // needed for online analysis for example
diff --git a/NPLib/Detectors/Strasse/TStrassePhysics.cxx b/NPLib/Detectors/Strasse/TStrassePhysics.cxx
index fa2f77d9459bf0bd9ee1791c434492a1afa7f393..8670e02390331e50656b141ef9e91f0df8919eae 100644
--- a/NPLib/Detectors/Strasse/TStrassePhysics.cxx
+++ b/NPLib/Detectors/Strasse/TStrassePhysics.cxx
@@ -16,136 +16,142 @@
  *                                                                           *
  *---------------------------------------------------------------------------*
  * Comment:                                                                  *
- *                                                                           *   
+ *                                                                           *
  *                                                                           *
  *****************************************************************************/
 
 #include "TStrassePhysics.h"
 
 //   STL
-#include <sstream>
-#include <iostream>
 #include <cmath>
-#include <stdlib.h>
+#include <iostream>
 #include <limits>
+#include <sstream>
+#include <stdlib.h>
 using namespace std;
 
 //   NPL
-#include "RootInput.h"
-#include "RootOutput.h"
-#include "Math/Transform3D.h"
 #include "Math/RotationZYX.h"
+#include "Math/Transform3D.h"
 #include "NPDetectorFactory.h"
 #include "NPOptionManager.h"
 #include "NPSystemOfUnits.h"
+#include "RootInput.h"
+#include "RootOutput.h"
 using namespace NPUNITS;
 //   ROOT
 #include "TChain.h"
 
 ClassImp(TStrassePhysics)
-  ///////////////////////////////////////////////////////////////////////////
-  TStrassePhysics::TStrassePhysics(){
-    EventMultiplicity = 0;
-    m_EventData = new TStrasseData;
-    m_PreTreatedData = new TStrasseData;
-    m_EventPhysics = this;
-    m_Spectra = NULL;
-    m_E_RAW_Threshold = 0; // adc channels
-    m_E_Threshold = 0;     // MeV
-    m_NumberOfInnerDetectors = 0;
-    m_NumberOfOuterDetectors = 0;
-    m_MaximumStripMultiplicityAllowed = 10;
-    m_StripEnergyMatching = 0.100;
-
-    ////////////////////
-    // Inner Detector //
-    ////////////////////
-    // Wafer parameter
-    Inner_Wafer_Length=100*mm;
-    Inner_Wafer_Width=50*mm;
-    Inner_Wafer_Thickness=300*micrometer;
-    Inner_Wafer_AlThickness=0.4*micrometer;
-    Inner_Wafer_PADExternal=1*cm;
-    Inner_Wafer_PADInternal=1*mm;
-    Inner_Wafer_GuardRing=0.5*mm;
-
-    // PCB parameter
-    Inner_PCB_PortWidth=1*cm;
-    Inner_PCB_StarboardWidth=2*mm;
-    Inner_PCB_BevelAngle= 60*deg;
-    Inner_PCB_UpstreamWidth=1*cm;
-    Inner_PCB_DownstreamWidth=2*mm;
-    Inner_PCB_MidWidth=1*mm;
-    Inner_PCB_Thickness=3*mm;
-    Inner_PCB_Ledge = 1*mm ;
-    Inner_PCB_Step = 2*mm ;
-    Inner_Wafer_TransverseStrips= 128;
-    Inner_Wafer_LongitudinalStrips= 128;
-
-    ////////////////////
-    // Outer Detector //
-    ////////////////////
-    // Wafer parameter
-    Outer_Wafer_Length=150*mm;
-    Outer_Wafer_Width=75*mm;
-    Outer_Wafer_Thickness=300*micrometer;
-    Outer_Wafer_AlThickness=0.4*micrometer;
-    Outer_Wafer_PADExternal=1*cm;
-    Outer_Wafer_PADInternal=1*mm;
-    Outer_Wafer_GuardRing=0.5*mm;
-
-    // PCB parameter
-    Outer_PCB_PortWidth=1*cm;
-    Outer_PCB_StarboardWidth=2*mm;
-    Outer_PCB_BevelAngle= 60*deg;
-    Outer_PCB_UpstreamWidth=1*cm;
-    Outer_PCB_DownstreamWidth=2*mm;
-    Outer_PCB_MidWidth=1*mm;
-    Outer_PCB_Thickness=3*mm;
-    Outer_PCB_Ledge = 1*mm ;
-    Outer_PCB_Step = 2*mm ;
-    Outer_Wafer_TransverseStrips= 128;
-    Outer_Wafer_LongitudinalStrips= 128;
-
-
-  }
+    ///////////////////////////////////////////////////////////////////////////
+    TStrassePhysics::TStrassePhysics() {
+  EventMultiplicity = 0;
+  m_EventData = new TStrasseData;
+  m_PreTreatedData = new TStrasseData;
+  m_EventPhysics = this;
+  m_Spectra = NULL;
+  m_E_RAW_Threshold = 0; // adc channels
+  m_E_Threshold = 0;     // MeV
+  m_NumberOfInnerDetectors = 0;
+  m_NumberOfOuterDetectors = 0;
+  m_MaximumStripMultiplicityAllowed = 10;
+  m_StripEnergyMatching = 0.100;
+
+  ////////////////////
+  // Inner Detector //
+  ////////////////////
+  // Wafer parameter
+  Inner_Wafer_Length = 100 * mm;
+  Inner_Wafer_Width = 50 * mm;
+  Inner_Wafer_Thickness = 300 * micrometer;
+  Inner_Wafer_AlThickness = 0.4 * micrometer;
+  Inner_Wafer_PADExternal = 1 * cm;
+  Inner_Wafer_PADInternal = 1 * mm;
+  Inner_Wafer_GuardRing = 0.5 * mm;
+
+  // PCB parameter
+  Inner_PCB_PortWidth = 1 * cm;
+  Inner_PCB_StarboardWidth = 2 * mm;
+  Inner_PCB_BevelAngle = 60 * deg;
+  Inner_PCB_UpstreamWidth = 1 * cm;
+  Inner_PCB_DownstreamWidth = 2 * mm;
+  Inner_PCB_MidWidth = 1 * mm;
+  Inner_PCB_Thickness = 3 * mm;
+  Inner_PCB_Ledge = 1 * mm;
+  Inner_PCB_Step = 2 * mm;
+  Inner_Wafer_TransverseStrips = 128;
+  Inner_Wafer_LongitudinalStrips = 128;
+
+  ////////////////////
+  // Outer Detector //
+  ////////////////////
+  // Wafer parameter
+  Outer_Wafer_Length = 150 * mm;
+  Outer_Wafer_Width = 75 * mm;
+  Outer_Wafer_Thickness = 300 * micrometer;
+  Outer_Wafer_AlThickness = 0.4 * micrometer;
+  Outer_Wafer_PADExternal = 1 * cm;
+  Outer_Wafer_PADInternal = 1 * mm;
+  Outer_Wafer_GuardRing = 0.5 * mm;
+
+  // PCB parameter
+  Outer_PCB_PortWidth = 1 * cm;
+  Outer_PCB_StarboardWidth = 2 * mm;
+  Outer_PCB_BevelAngle = 60 * deg;
+  Outer_PCB_UpstreamWidth = 1 * cm;
+  Outer_PCB_DownstreamWidth = 2 * mm;
+  Outer_PCB_MidWidth = 1 * mm;
+  Outer_PCB_Thickness = 3 * mm;
+  Outer_PCB_Ledge = 1 * mm;
+  Outer_PCB_Step = 2 * mm;
+  Outer_Wafer_TransverseStrips = 128;
+  Outer_Wafer_LongitudinalStrips = 128;
+
+  ///////////////////////
+  // Target Parameters //
+  ///////////////////////
+  Target_R = 15 * mm;
+  Target_L = 150 * mm;
+  Target_Mat = "LH2";
+  Target_Cell_Mat = "Mylar";
+  Target_Cell_Thickness = 0.15;
+  Target_Pos = TVector3(0, 0, 0);
+}
 
 ///////////////////////////////////////////////////////////////////////////
-void TStrassePhysics::AddInnerDetector(double R, double Z, double Phi, double Shift, TVector3 Ref){
+void TStrassePhysics::AddInnerDetector(double R, double Z, double Phi, double Shift, TVector3 Ref) {
   m_NumberOfInnerDetectors++;
-  double ActiveWidth  = Inner_Wafer_Width-2.*Inner_Wafer_GuardRing;
-  double ActiveLength = Inner_Wafer_Length-Inner_Wafer_PADExternal-Inner_Wafer_PADInternal-2*Inner_Wafer_GuardRing;
-  double LongitudinalPitch = ActiveWidth/Inner_Wafer_LongitudinalStrips;
-  double TransversePitch = ActiveLength/Inner_Wafer_TransverseStrips;
-//cout << ActiveWidth << " " << ActiveLength << " " << LongitudinalPitch << " " << TransversePitch << endl;
+  double ActiveWidth = Inner_Wafer_Width - 2. * Inner_Wafer_GuardRing;
+  double ActiveLength =
+      Inner_Wafer_Length - Inner_Wafer_PADExternal - Inner_Wafer_PADInternal - 2 * Inner_Wafer_GuardRing;
+  double LongitudinalPitch = ActiveWidth / Inner_Wafer_LongitudinalStrips;
+  double TransversePitch = ActiveLength / Inner_Wafer_TransverseStrips;
+  // cout << ActiveWidth << " " << ActiveLength << " " << LongitudinalPitch << " " << TransversePitch << endl;
 
   // Vector C position of detector face center
-  double Recess = (Inner_PCB_Thickness-Inner_PCB_Step-Inner_Wafer_Thickness);
-  TVector3 C(Shift,R+Recess,Z);// center of the whole detector, including PCB
+  double Recess = (Inner_PCB_Thickness - Inner_PCB_Step - Inner_Wafer_Thickness);
+  TVector3 C(Shift, R + Recess, Z); // center of the whole detector, including PCB
   C.RotateZ(-Phi);
 
   // Vector W normal to detector face (pointing to the back)
-  TVector3 W(0,1,0);
+  TVector3 W(0, 1, 0);
   W.RotateZ(-Phi);
 
-  // Vector U on detector face (parallel to Z axis/longitudinal strips) 
-  TVector3 U = TVector3(0,0,1);
+  // Vector U on detector face (parallel to Z axis/longitudinal strips)
+  TVector3 U = TVector3(0, 0, 1);
   // Vector V on detector face (parallel to transverse strips)
   TVector3 V = W.Cross(U);
 
   // Adding position for downstream silicon:
   // Moving to corner of the silicon
-  TVector3 P_1_1 = C
-      +U*0.5*(Inner_PCB_UpstreamWidth-Inner_PCB_DownstreamWidth) // In between wafer
-      -U*0.5*Inner_PCB_MidWidth // Internal wafer edge
-      -U*Inner_Wafer_Length // External wafer edge
-      +U*(Inner_Wafer_GuardRing+Inner_Wafer_PADExternal) // External active wafer edge
-      +U*0.5*TransversePitch // middle of strip
-      -V*0.5*(Inner_PCB_StarboardWidth-Inner_PCB_PortWidth)
-      -V*0.5*Inner_Wafer_Width
-      +V*Inner_Wafer_GuardRing
-      +V*0.5*LongitudinalPitch; // middle of strip
-  
+  TVector3 P_1_1 = C + U * 0.5 * (Inner_PCB_UpstreamWidth - Inner_PCB_DownstreamWidth) // In between wafer
+                   - U * 0.5 * Inner_PCB_MidWidth                                      // Internal wafer edge
+                   - U * Inner_Wafer_Length                                            // External wafer edge
+                   + U * (Inner_Wafer_GuardRing + Inner_Wafer_PADExternal)             // External active wafer edge
+                   + U * 0.5 * TransversePitch                                         // middle of strip
+                   - V * 0.5 * (Inner_PCB_StarboardWidth - Inner_PCB_PortWidth) - V * 0.5 * Inner_Wafer_Width +
+                   V * Inner_Wafer_GuardRing + V * 0.5 * LongitudinalPitch;            // middle of strip
+
   vector<double> lineX;
   vector<double> lineY;
   vector<double> lineZ;
@@ -155,16 +161,16 @@ void TStrassePhysics::AddInnerDetector(double R, double Z, double Phi, double Sh
   vector<vector<double>> OneDetectorStripPositionZ;
 
   TVector3 P;
-  for(int i=0; i<Inner_Wafer_TransverseStrips; i++){
+  for (int i = 0; i < Inner_Wafer_TransverseStrips; i++) {
     lineX.clear();
     lineY.clear();
     lineZ.clear();
-    for(int j=0; j<Inner_Wafer_LongitudinalStrips; j++){
-      P = P_1_1 + Ref + i*U*TransversePitch + j*V*LongitudinalPitch;
+    for (int j = 0; j < Inner_Wafer_LongitudinalStrips; j++) {
+      P = P_1_1 + Ref + i * U * TransversePitch + j * V * LongitudinalPitch;
       lineX.push_back(P.X());
       lineY.push_back(P.Y());
       lineZ.push_back(P.Z());
-      }
+    }
 
     OneDetectorStripPositionX.push_back(lineX);
     OneDetectorStripPositionY.push_back(lineY);
@@ -177,72 +183,65 @@ void TStrassePhysics::AddInnerDetector(double R, double Z, double Phi, double Sh
 
   // Adding position for upstream silicon:
   // Moving to corner of the silicon
-  P_1_1 = C
-      +U*0.5*(Inner_PCB_UpstreamWidth-Inner_PCB_DownstreamWidth) // In between wafer
-      +U*0.5*Inner_PCB_MidWidth // Internal wafer edge
-      +U*(Inner_Wafer_GuardRing+Inner_Wafer_PADInternal) // Internal active wafer edge
-      +U*0.5*TransversePitch// middle of strip
-      -V*0.5*(Inner_PCB_StarboardWidth-Inner_PCB_PortWidth)
-      -V*0.5*Inner_Wafer_Width
-      +V*Inner_Wafer_GuardRing
-      +V*0.5*LongitudinalPitch; // middle of strip
-
-  for(int i=0; i<Inner_Wafer_TransverseStrips; i++){
+  P_1_1 = C + U * 0.5 * (Inner_PCB_UpstreamWidth - Inner_PCB_DownstreamWidth) // In between wafer
+          + U * 0.5 * Inner_PCB_MidWidth                                      // Internal wafer edge
+          + U * (Inner_Wafer_GuardRing + Inner_Wafer_PADInternal)             // Internal active wafer edge
+          + U * 0.5 * TransversePitch                                         // middle of strip
+          - V * 0.5 * (Inner_PCB_StarboardWidth - Inner_PCB_PortWidth) - V * 0.5 * Inner_Wafer_Width +
+          V * Inner_Wafer_GuardRing + V * 0.5 * LongitudinalPitch;            // middle of strip
+
+  for (int i = 0; i < Inner_Wafer_TransverseStrips; i++) {
     lineX.clear();
     lineY.clear();
     lineZ.clear();
 
-    for(int j=0; j<Inner_Wafer_LongitudinalStrips; j++){
-      P = P_1_1 + Ref + i*U*TransversePitch + j*V*LongitudinalPitch;
+    for (int j = 0; j < Inner_Wafer_LongitudinalStrips; j++) {
+      P = P_1_1 + Ref + i * U * TransversePitch + j * V * LongitudinalPitch;
       lineX.push_back(P.X());
       lineY.push_back(P.Y());
       lineZ.push_back(P.Z());
-
     }
 
-    m_InnerStripPositionX[m_NumberOfInnerDetectors-1].push_back(lineX);
-    m_InnerStripPositionY[m_NumberOfInnerDetectors-1].push_back(lineY);
-    m_InnerStripPositionZ[m_NumberOfInnerDetectors-1].push_back(lineZ);
-
+    m_InnerStripPositionX[m_NumberOfInnerDetectors - 1].push_back(lineX);
+    m_InnerStripPositionY[m_NumberOfInnerDetectors - 1].push_back(lineY);
+    m_InnerStripPositionZ[m_NumberOfInnerDetectors - 1].push_back(lineZ);
   }
 }
 
 ///////////////////////////////////////////////////////////////////////////
-void TStrassePhysics::AddOuterDetector(double R, double Z, double Phi, double Shift, TVector3 Ref){
+void TStrassePhysics::AddOuterDetector(double R, double Z, double Phi, double Shift, TVector3 Ref) {
   m_NumberOfOuterDetectors++;
-  double ActiveWidth  = Outer_Wafer_Width-2.*Outer_Wafer_GuardRing;
-  double ActiveLength = Outer_Wafer_Length-Outer_Wafer_PADExternal-Outer_Wafer_PADInternal-2*Outer_Wafer_GuardRing;
-  double LongitudinalPitch = ActiveWidth/Outer_Wafer_LongitudinalStrips;
-  double TransversePitch = ActiveLength/Outer_Wafer_TransverseStrips;
-//cout << ActiveWidth << " " << ActiveLength << " " << LongitudinalPitch << " " << TransversePitch << endl;
+  double ActiveWidth = Outer_Wafer_Width - 2. * Outer_Wafer_GuardRing;
+  double ActiveLength =
+      Outer_Wafer_Length - Outer_Wafer_PADExternal - Outer_Wafer_PADInternal - 2 * Outer_Wafer_GuardRing;
+  double LongitudinalPitch = ActiveWidth / Outer_Wafer_LongitudinalStrips;
+  double TransversePitch = ActiveLength / Outer_Wafer_TransverseStrips;
+  // cout << ActiveWidth << " " << ActiveLength << " " << LongitudinalPitch << " " << TransversePitch << endl;
 
   // Vector C position of detector face center
-  double Recess = (Inner_PCB_Thickness-Inner_PCB_Step-Inner_Wafer_Thickness);
-  TVector3 C(Shift,R+Recess,Z);// center of the whole detector, including PCB
+  double Recess = (Inner_PCB_Thickness - Inner_PCB_Step - Inner_Wafer_Thickness);
+  TVector3 C(Shift, R + Recess, Z); // center of the whole detector, including PCB
   C.RotateZ(-Phi);
 
   // Vector W normal to detector face (pointing to the back)
-  TVector3 W(0,1,0);
+  TVector3 W(0, 1, 0);
   W.RotateZ(-Phi);
 
-  // Vector U on detector face (parallel to Z axis/longitudinal strips) 
-  TVector3 U = TVector3(0,0,1);
+  // Vector U on detector face (parallel to Z axis/longitudinal strips)
+  TVector3 U = TVector3(0, 0, 1);
   // Vector V on detector face (parallel to transverse strips)
   TVector3 V = W.Cross(U);
 
   // Adding position for downstream silicon:
   // Moving to corner of the silicon
-  TVector3 P_1_1 = C
-      +U*0.5*(Outer_PCB_UpstreamWidth-Outer_PCB_DownstreamWidth) // In between wafer
-      -U*0.5*Outer_PCB_MidWidth // Internal wafer edge
-      -U*Outer_Wafer_Length // External wafer edge
-      +U*(Outer_Wafer_GuardRing+Outer_Wafer_PADExternal) // External active wafer edge
-      +U*0.5*TransversePitch // middle of strip
-      -V*0.5*(Outer_PCB_StarboardWidth-Outer_PCB_PortWidth)
-      -V*0.5*Outer_Wafer_Width
-      +V*Outer_Wafer_GuardRing
-      +V*0.5*LongitudinalPitch; // middle of strip
-  
+  TVector3 P_1_1 = C + U * 0.5 * (Outer_PCB_UpstreamWidth - Outer_PCB_DownstreamWidth) // In between wafer
+                   - U * 0.5 * Outer_PCB_MidWidth                                      // Internal wafer edge
+                   - U * Outer_Wafer_Length                                            // External wafer edge
+                   + U * (Outer_Wafer_GuardRing + Outer_Wafer_PADExternal)             // External active wafer edge
+                   + U * 0.5 * TransversePitch                                         // middle of strip
+                   - V * 0.5 * (Outer_PCB_StarboardWidth - Outer_PCB_PortWidth) - V * 0.5 * Outer_Wafer_Width +
+                   V * Outer_Wafer_GuardRing + V * 0.5 * LongitudinalPitch;            // middle of strip
+
   vector<double> lineX;
   vector<double> lineY;
   vector<double> lineZ;
@@ -252,16 +251,16 @@ void TStrassePhysics::AddOuterDetector(double R, double Z, double Phi, double Sh
   vector<vector<double>> OneDetectorStripPositionZ;
 
   TVector3 P;
-  for(int i=0; i<Outer_Wafer_TransverseStrips; i++){
+  for (int i = 0; i < Outer_Wafer_TransverseStrips; i++) {
     lineX.clear();
     lineY.clear();
     lineZ.clear();
-    for(int j=0; j<Outer_Wafer_LongitudinalStrips; j++){
-      P = P_1_1 + Ref + i*U*TransversePitch + j*V*LongitudinalPitch;
+    for (int j = 0; j < Outer_Wafer_LongitudinalStrips; j++) {
+      P = P_1_1 + Ref + i * U * TransversePitch + j * V * LongitudinalPitch;
       lineX.push_back(P.X());
       lineY.push_back(P.Y());
       lineZ.push_back(P.Z());
-      }
+    }
 
     OneDetectorStripPositionX.push_back(lineX);
     OneDetectorStripPositionY.push_back(lineY);
@@ -274,59 +273,51 @@ void TStrassePhysics::AddOuterDetector(double R, double Z, double Phi, double Sh
 
   // Adding position for upstream silicon:
   // Moving to corner of the silicon
-  P_1_1 = C
-      +U*0.5*(Outer_PCB_UpstreamWidth-Outer_PCB_DownstreamWidth) // In between wafer
-      +U*0.5*Outer_PCB_MidWidth // Internal wafer edge
-      +U*(Outer_Wafer_GuardRing+Outer_Wafer_PADInternal) // Internal active wafer edge
-      +U*0.5*TransversePitch// middle of strip
-      -V*0.5*(Outer_PCB_StarboardWidth-Outer_PCB_PortWidth)
-      -V*0.5*Outer_Wafer_Width
-      +V*Outer_Wafer_GuardRing
-      +V*0.5*LongitudinalPitch; // middle of strip
-
-  for(int i=0; i<Outer_Wafer_TransverseStrips; i++){
+  P_1_1 = C + U * 0.5 * (Outer_PCB_UpstreamWidth - Outer_PCB_DownstreamWidth) // In between wafer
+          + U * 0.5 * Outer_PCB_MidWidth                                      // Internal wafer edge
+          + U * (Outer_Wafer_GuardRing + Outer_Wafer_PADInternal)             // Internal active wafer edge
+          + U * 0.5 * TransversePitch                                         // middle of strip
+          - V * 0.5 * (Outer_PCB_StarboardWidth - Outer_PCB_PortWidth) - V * 0.5 * Outer_Wafer_Width +
+          V * Outer_Wafer_GuardRing + V * 0.5 * LongitudinalPitch;            // middle of strip
+
+  for (int i = 0; i < Outer_Wafer_TransverseStrips; i++) {
     lineX.clear();
     lineY.clear();
     lineZ.clear();
 
-    for(int j=0; j<Outer_Wafer_LongitudinalStrips; j++){
-      P = P_1_1 + Ref + i*U*TransversePitch + j*V*LongitudinalPitch;
+    for (int j = 0; j < Outer_Wafer_LongitudinalStrips; j++) {
+      P = P_1_1 + Ref + i * U * TransversePitch + j * V * LongitudinalPitch;
       lineX.push_back(P.X());
       lineY.push_back(P.Y());
       lineZ.push_back(P.Z());
-
     }
 
-    m_OuterStripPositionX[m_NumberOfOuterDetectors-1].push_back(lineX);
-    m_OuterStripPositionY[m_NumberOfOuterDetectors-1].push_back(lineY);
-    m_OuterStripPositionZ[m_NumberOfOuterDetectors-1].push_back(lineZ);
-
+    m_OuterStripPositionX[m_NumberOfOuterDetectors - 1].push_back(lineX);
+    m_OuterStripPositionY[m_NumberOfOuterDetectors - 1].push_back(lineY);
+    m_OuterStripPositionZ[m_NumberOfOuterDetectors - 1].push_back(lineZ);
   }
 }
 
-
 ///////////////////////////////////////////////////////////////////////////
-TVector3 TStrassePhysics::GetInnerPositionOfInteraction(const int i){
-  TVector3 Position = TVector3(
-      GetInnerStripPositionX(DetectorNumber[i], InnerStripT[i], InnerStripL[i]),
-      GetInnerStripPositionY(DetectorNumber[i], InnerStripT[i], InnerStripL[i]),
-      GetInnerStripPositionZ(DetectorNumber[i], InnerStripT[i], InnerStripL[i]));
+TVector3 TStrassePhysics::GetInnerPositionOfInteraction(const int i) {
+  TVector3 Position = TVector3(GetInnerStripPositionX(DetectorNumber[i], InnerStripT[i], InnerStripL[i]),
+                               GetInnerStripPositionY(DetectorNumber[i], InnerStripT[i], InnerStripL[i]),
+                               GetInnerStripPositionZ(DetectorNumber[i], InnerStripT[i], InnerStripL[i]));
 
   return Position;
 }
 
 ///////////////////////////////////////////////////////////////////////////
-TVector3 TStrassePhysics::GetOuterPositionOfInteraction(const int i){
+TVector3 TStrassePhysics::GetOuterPositionOfInteraction(const int i) {
   TVector3 Position = TVector3(GetOuterStripPositionX(DetectorNumber[i], OuterStripT[i], OuterStripL[i]),
-      GetOuterStripPositionY(DetectorNumber[i], OuterStripT[i], OuterStripL[i]),
-      GetOuterStripPositionZ(DetectorNumber[i], OuterStripT[i], OuterStripL[i]));
+                               GetOuterStripPositionY(DetectorNumber[i], OuterStripT[i], OuterStripL[i]),
+                               GetOuterStripPositionZ(DetectorNumber[i], OuterStripT[i], OuterStripL[i]));
 
   return Position;
 }
 
-
 ///////////////////////////////////////////////////////////////////////////
-TVector3 TStrassePhysics::GetDetectorNormal(const int i){
+TVector3 TStrassePhysics::GetDetectorNormal(const int i) {
   //  TVector3 U = TVector3(GetStripPositionX(DetectorNumber[i],128,1),
   //      GetStripPositionY(DetectorNumber[i],128,1),
   //      GetStripPositionZ(DetectorNumber[i],128,1))
@@ -346,98 +337,92 @@ TVector3 TStrassePhysics::GetDetectorNormal(const int i){
   //  TVector3 Normal = U.Cross(V);
   //
   //  return (Normal.Unit());
-  return TVector3(0,0,0);
+  return TVector3(0, 0, 0);
 }
 ///////////////////////////////////////////////////////////////////////////
-void TStrassePhysics::BuildSimplePhysicalEvent() {
-  BuildPhysicalEvent();
-}
-
-
+void TStrassePhysics::BuildSimplePhysicalEvent() { BuildPhysicalEvent(); }
 
 ///////////////////////////////////////////////////////////////////////////
 void TStrassePhysics::BuildPhysicalEvent() {
   // apply thresholds and calibration
   PreTreat();
- 
-    if(1 /*CheckEvent() == 1*/){
-      vector<TVector2> inner = MatchInner();
-      vector<TVector2> outer = MatchOuter();
-
-      for(unsigned int i=0; i<inner.size(); i++){
-        int N = m_PreTreatedData->GetInner_TE_DetectorNbr(inner[i].X());
-        int innerT = m_PreTreatedData->GetInner_TE_StripNbr(inner[i].X());
-        int innerL = m_PreTreatedData->GetInner_LE_StripNbr(inner[i].Y());
-  
-        double innerTE = m_PreTreatedData->GetInner_TE_Energy(inner[i].X());
-        double innerLE = m_PreTreatedData->GetInner_LE_Energy(inner[i].X());
-               // look for outer  
-        double outerTE = 0;
-        double outerLE = 0;
-        int outerT=0;
-        int outerL=0;
-        for(unsigned int j=0; j<outer.size(); j++){
-          if(m_PreTreatedData->GetInner_TE_DetectorNbr(outer[j].X())==N){
-            outerTE =  m_PreTreatedData->GetOuter_TE_Energy(outer[j].X()); 
-            outerLE =  m_PreTreatedData->GetOuter_LE_Energy(outer[j].X()); 
-            outerT = m_PreTreatedData->GetOuter_TE_StripNbr(outer[j].X());
-            outerL = m_PreTreatedData->GetOuter_LE_StripNbr(outer[j].Y());
-            }
-        }
 
-        if(outerTE){
-          EventMultiplicity++;
-          DetectorNumber.push_back(N);
-          InnerStripT.push_back(innerT);
-          InnerStripL.push_back(innerL);
-          InnerTE.push_back(innerTE);
-          InnerLE.push_back(innerLE);
-          InnerPosX.push_back(GetInnerPositionOfInteraction(EventMultiplicity-1).x());
-          InnerPosY.push_back(GetInnerPositionOfInteraction(EventMultiplicity-1).y());
-          InnerPosZ.push_back(GetInnerPositionOfInteraction(EventMultiplicity-1).z());
-
-          OuterStripT.push_back(outerT);
-          OuterStripL.push_back(outerL);
-          OuterTE.push_back(outerTE);
-          OuterLE.push_back(outerLE);
-          OuterPosX.push_back(GetOuterPositionOfInteraction(EventMultiplicity-1).x());
-          OuterPosY.push_back(GetOuterPositionOfInteraction(EventMultiplicity-1).y());
-          OuterPosZ.push_back(GetOuterPositionOfInteraction(EventMultiplicity-1).z());
+  if (1 /*CheckEvent() == 1*/) {
+    vector<TVector2> inner = MatchInner();
+    vector<TVector2> outer = MatchOuter();
+
+    for (unsigned int i = 0; i < inner.size(); i++) {
+      int N = m_PreTreatedData->GetInner_TE_DetectorNbr(inner[i].X());
+      int innerT = m_PreTreatedData->GetInner_TE_StripNbr(inner[i].X());
+      int innerL = m_PreTreatedData->GetInner_LE_StripNbr(inner[i].Y());
+
+      double innerTE = m_PreTreatedData->GetInner_TE_Energy(inner[i].X());
+      double innerLE = m_PreTreatedData->GetInner_LE_Energy(inner[i].X());
+      // look for outer
+      double outerTE = 0;
+      double outerLE = 0;
+      int outerT = 0;
+      int outerL = 0;
+      for (unsigned int j = 0; j < outer.size(); j++) {
+        if (m_PreTreatedData->GetInner_TE_DetectorNbr(outer[j].X()) == N) {
+          outerTE = m_PreTreatedData->GetOuter_TE_Energy(outer[j].X());
+          outerLE = m_PreTreatedData->GetOuter_LE_Energy(outer[j].X());
+          outerT = m_PreTreatedData->GetOuter_TE_StripNbr(outer[j].X());
+          outerL = m_PreTreatedData->GetOuter_LE_StripNbr(outer[j].Y());
         }
+      }
 
+      if (outerTE) {
+        EventMultiplicity++;
+        DetectorNumber.push_back(N);
+        InnerStripT.push_back(innerT);
+        InnerStripL.push_back(innerL);
+        InnerTE.push_back(innerTE);
+        InnerLE.push_back(innerLE);
+        InnerPosX.push_back(GetInnerPositionOfInteraction(EventMultiplicity - 1).x());
+        InnerPosY.push_back(GetInnerPositionOfInteraction(EventMultiplicity - 1).y());
+        InnerPosZ.push_back(GetInnerPositionOfInteraction(EventMultiplicity - 1).z());
+
+        OuterStripT.push_back(outerT);
+        OuterStripL.push_back(outerL);
+        OuterTE.push_back(outerTE);
+        OuterLE.push_back(outerLE);
+        OuterPosX.push_back(GetOuterPositionOfInteraction(EventMultiplicity - 1).x());
+        OuterPosY.push_back(GetOuterPositionOfInteraction(EventMultiplicity - 1).y());
+        OuterPosZ.push_back(GetOuterPositionOfInteraction(EventMultiplicity - 1).z());
       }
     }
-   
+  }
 }
 
 ///////////////////////////////////////////////////////////////////////////
-vector<TVector2> TStrassePhysics::MatchInner(){
+vector<TVector2> TStrassePhysics::MatchInner() {
   vector<TVector2> ArrayOfGoodCouple;
 
   static unsigned int m_TEMult, m_LEMult;
   m_TEMult = m_PreTreatedData->GetInnerMultTEnergy();
   m_LEMult = m_PreTreatedData->GetInnerMultLEnergy();
 
-  if(m_TEMult>m_MaximumStripMultiplicityAllowed || m_LEMult>m_MaximumStripMultiplicityAllowed){
+  if (m_TEMult > m_MaximumStripMultiplicityAllowed || m_LEMult > m_MaximumStripMultiplicityAllowed) {
     return ArrayOfGoodCouple;
   }
 
-  for(unsigned int i=0; i<m_TEMult; i++){
-    for(unsigned int j=0; j<m_LEMult; j++){
+  for (unsigned int i = 0; i < m_TEMult; i++) {
+    for (unsigned int j = 0; j < m_LEMult; j++) {
 
       // Declaration of variable for clarity
       int XDetNbr = m_PreTreatedData->GetInner_TE_DetectorNbr(i);
       int YDetNbr = m_PreTreatedData->GetInner_LE_DetectorNbr(j);
 
       // if same detector check energy
-      if(XDetNbr == YDetNbr){
+      if (XDetNbr == YDetNbr) {
         // Declaration of variable for clarity
         double TE = m_PreTreatedData->GetInner_TE_Energy(i);
         double LE = m_PreTreatedData->GetInner_LE_Energy(j);
 
         // look if energy matches
-        if(abs(TE-LE)/2.<m_StripEnergyMatching){
-          ArrayOfGoodCouple.push_back(TVector2(i,j));
+        if (abs(TE - LE) / 2. < m_StripEnergyMatching) {
+          ArrayOfGoodCouple.push_back(TVector2(i, j));
         }
       }
     }
@@ -446,33 +431,33 @@ vector<TVector2> TStrassePhysics::MatchInner(){
   return ArrayOfGoodCouple;
 }
 ///////////////////////////////////////////////////////////////////////////
-vector<TVector2> TStrassePhysics::MatchOuter(){
+vector<TVector2> TStrassePhysics::MatchOuter() {
   vector<TVector2> ArrayOfGoodCouple;
 
   static unsigned int m_TEMult, m_LEMult;
   m_TEMult = m_PreTreatedData->GetOuterMultTEnergy();
   m_LEMult = m_PreTreatedData->GetOuterMultLEnergy();
 
-  if(m_TEMult>m_MaximumStripMultiplicityAllowed || m_LEMult>m_MaximumStripMultiplicityAllowed){
+  if (m_TEMult > m_MaximumStripMultiplicityAllowed || m_LEMult > m_MaximumStripMultiplicityAllowed) {
     return ArrayOfGoodCouple;
   }
 
-  for(unsigned int i=0; i<m_TEMult; i++){
-    for(unsigned int j=0; j<m_LEMult; j++){
+  for (unsigned int i = 0; i < m_TEMult; i++) {
+    for (unsigned int j = 0; j < m_LEMult; j++) {
 
       // Declaration of variable for clarity
       int XDetNbr = m_PreTreatedData->GetOuter_TE_DetectorNbr(i);
       int YDetNbr = m_PreTreatedData->GetOuter_LE_DetectorNbr(j);
 
       // if same detector check energy
-      if(XDetNbr == YDetNbr){
+      if (XDetNbr == YDetNbr) {
         // Declaration of variable for clarity
         double TE = m_PreTreatedData->GetOuter_TE_Energy(i);
         double LE = m_PreTreatedData->GetOuter_LE_Energy(j);
 
         // look if energy matches
-        if(abs(TE-LE)/2.<m_StripEnergyMatching){
-          ArrayOfGoodCouple.push_back(TVector2(i,j));
+        if (abs(TE - LE) / 2. < m_StripEnergyMatching) {
+          ArrayOfGoodCouple.push_back(TVector2(i, j));
         }
       }
     }
@@ -481,18 +466,16 @@ vector<TVector2> TStrassePhysics::MatchOuter(){
   return ArrayOfGoodCouple;
 }
 
-
 ///////////////////////////////////////////////////////////////////////////
-int TStrassePhysics::CheckEvent(){
+int TStrassePhysics::CheckEvent() {
   // Check the size of the different elements
-  if(m_PreTreatedData->GetInnerMultTEnergy() == m_PreTreatedData->GetInnerMultLEnergy() )
+  if (m_PreTreatedData->GetInnerMultTEnergy() == m_PreTreatedData->GetInnerMultLEnergy())
     return 1;
 
   else
     return -1;
 }
 
-
 ///////////////////////////////////////////////////////////////////////////
 void TStrassePhysics::PreTreat() {
   // This method typically applies thresholds and calibrations
@@ -507,22 +490,26 @@ void TStrassePhysics::PreTreat() {
   //////
   // First Stage Energy
   unsigned int sizeFront = m_EventData->GetInnerMultTEnergy();
-  for (UShort_t i = 0; i < sizeFront ; ++i) {
+  for (UShort_t i = 0; i < sizeFront; ++i) {
     if (m_EventData->GetInner_TE_Energy(i) > m_E_RAW_Threshold) {
       Double_t Energy = m_EventData->GetInner_TE_Energy(i);
-      //Double_t Energy = Cal->ApplyCalibration("Strasse/ENERGY"+NPL::itoa(m_EventData->GetInner_TE_DetectorNbr(i)),m_EventData->GetInner_TE_Energy(i));
+      // Double_t Energy =
+      // Cal->ApplyCalibration("Strasse/ENERGY"+NPL::itoa(m_EventData->GetInner_TE_DetectorNbr(i)),m_EventData->GetInner_TE_Energy(i));
       if (Energy > m_E_Threshold) {
-        m_PreTreatedData->SetInnerTE(m_EventData->GetInner_TE_DetectorNbr(i), m_EventData->GetInner_TE_StripNbr(i), Energy);
+        m_PreTreatedData->SetInnerTE(m_EventData->GetInner_TE_DetectorNbr(i), m_EventData->GetInner_TE_StripNbr(i),
+                                     Energy);
       }
     }
   }
   unsigned int sizeBack = m_EventData->GetInnerMultLEnergy();
-  for (UShort_t i = 0; i < sizeBack ; ++i) {
+  for (UShort_t i = 0; i < sizeBack; ++i) {
     if (m_EventData->GetInner_LE_Energy(i) > m_E_RAW_Threshold) {
       Double_t Energy = m_EventData->GetInner_LE_Energy(i);
-      //Double_t Energy = Cal->ApplyCalibration("Strasse/ENERGY"+NPL::itoa(m_EventData->GetInner_LE_DetectorNbr(i)),m_EventData->GetInner_LE_Energy(i));
+      // Double_t Energy =
+      // Cal->ApplyCalibration("Strasse/ENERGY"+NPL::itoa(m_EventData->GetInner_LE_DetectorNbr(i)),m_EventData->GetInner_LE_Energy(i));
       if (Energy > m_E_Threshold) {
-        m_PreTreatedData->SetInnerLE(m_EventData->GetInner_LE_DetectorNbr(i), m_EventData->GetInner_LE_StripNbr(i), Energy);
+        m_PreTreatedData->SetInnerLE(m_EventData->GetInner_LE_DetectorNbr(i), m_EventData->GetInner_LE_StripNbr(i),
+                                     Energy);
       }
     }
   }
@@ -530,30 +517,31 @@ void TStrassePhysics::PreTreat() {
   //////
   // Second Stage Energy
   sizeFront = m_EventData->GetOuterMultTEnergy();
-  for (UShort_t i = 0; i < sizeFront ; ++i) {
+  for (UShort_t i = 0; i < sizeFront; ++i) {
     if (m_EventData->GetOuter_TE_Energy(i) > m_E_RAW_Threshold) {
       Double_t Energy = m_EventData->GetOuter_TE_Energy(i);
-      //Double_t Energy = Cal->ApplyCalibration("Strasse/ENERGY"+NPL::itoa(m_EventData->GetOuter_TE_DetectorNbr(i)),m_EventData->GetOuter_TE_Energy(i));
+      // Double_t Energy =
+      // Cal->ApplyCalibration("Strasse/ENERGY"+NPL::itoa(m_EventData->GetOuter_TE_DetectorNbr(i)),m_EventData->GetOuter_TE_Energy(i));
       if (Energy > m_E_Threshold) {
-        m_PreTreatedData->SetOuterTE(m_EventData->GetOuter_TE_DetectorNbr(i), m_EventData->GetOuter_TE_StripNbr(i), Energy);
+        m_PreTreatedData->SetOuterTE(m_EventData->GetOuter_TE_DetectorNbr(i), m_EventData->GetOuter_TE_StripNbr(i),
+                                     Energy);
       }
     }
   }
   sizeBack = m_EventData->GetOuterMultLEnergy();
-  for (UShort_t i = 0; i < sizeBack ; ++i) {
+  for (UShort_t i = 0; i < sizeBack; ++i) {
     if (m_EventData->GetOuter_LE_Energy(i) > m_E_RAW_Threshold) {
       Double_t Energy = m_EventData->GetOuter_LE_Energy(i);
-      //Double_t Energy = Cal->ApplyCalibration("Strasse/ENERGY"+NPL::itoa(m_EventData->GetOuter_LE_DetectorNbr(i)),m_EventData->GetOuter_LE_Energy(i));
+      // Double_t Energy =
+      // Cal->ApplyCalibration("Strasse/ENERGY"+NPL::itoa(m_EventData->GetOuter_LE_DetectorNbr(i)),m_EventData->GetOuter_LE_Energy(i));
       if (Energy > m_E_Threshold) {
-        m_PreTreatedData->SetOuterLE(m_EventData->GetOuter_LE_DetectorNbr(i), m_EventData->GetOuter_LE_StripNbr(i), Energy);
+        m_PreTreatedData->SetOuterLE(m_EventData->GetOuter_LE_DetectorNbr(i), m_EventData->GetOuter_LE_StripNbr(i),
+                                     Energy);
       }
     }
   }
-
 }
 
-
-
 ///////////////////////////////////////////////////////////////////////////
 void TStrassePhysics::ReadAnalysisConfig() {
   bool ReadingStatus = false;
@@ -577,39 +565,39 @@ void TStrassePhysics::ReadAnalysisConfig() {
   asciiConfig->Append(FileName.c_str());
   asciiConfig->AppendLine("");
   // read analysis config file
-  string LineBuffer,DataBuffer,whatToDo;
+  string LineBuffer, DataBuffer, whatToDo;
   while (!AnalysisConfigFile.eof()) {
     // Pick-up next line
     getline(AnalysisConfigFile, LineBuffer);
 
     // search for "header"
     string name = "ConfigStrasse";
-    if (LineBuffer.compare(0, name.length(), name) == 0) 
+    if (LineBuffer.compare(0, name.length(), name) == 0)
       ReadingStatus = true;
 
     // loop on tokens and data
-    while (ReadingStatus ) {
-      whatToDo="";
+    while (ReadingStatus) {
+      whatToDo = "";
       AnalysisConfigFile >> whatToDo;
 
       // Search for comment symbol (%)
       if (whatToDo.compare(0, 1, "%") == 0) {
-        AnalysisConfigFile.ignore(numeric_limits<streamsize>::max(), '\n' );
+        AnalysisConfigFile.ignore(numeric_limits<streamsize>::max(), '\n');
       }
 
-      else if (whatToDo=="E_RAW_THRESHOLD") {
+      else if (whatToDo == "E_RAW_THRESHOLD") {
         AnalysisConfigFile >> DataBuffer;
         m_E_RAW_Threshold = atof(DataBuffer.c_str());
         cout << whatToDo << " " << m_E_RAW_Threshold << endl;
       }
 
-      else if (whatToDo=="E_THRESHOLD") {
+      else if (whatToDo == "E_THRESHOLD") {
         AnalysisConfigFile >> DataBuffer;
         m_E_Threshold = atof(DataBuffer.c_str());
         cout << whatToDo << " " << m_E_Threshold << endl;
       }
 
-      else if (whatToDo=="E_FRONTBACK_MATCHING") {
+      else if (whatToDo == "E_FRONTBACK_MATCHING") {
         AnalysisConfigFile >> DataBuffer;
         m_StripEnergyMatching = atof(DataBuffer.c_str());
         cout << whatToDo << " " << m_StripEnergyMatching << endl;
@@ -622,8 +610,6 @@ void TStrassePhysics::ReadAnalysisConfig() {
   }
 }
 
-
-
 ///////////////////////////////////////////////////////////////////////////
 void TStrassePhysics::Clear() {
   EventMultiplicity = 0;
@@ -645,159 +631,179 @@ void TStrassePhysics::Clear() {
   OuterPosX.clear();
   OuterPosY.clear();
   OuterPosZ.clear();
-
 }
 
-
-
 ///////////////////////////////////////////////////////////////////////////
 void TStrassePhysics::ReadConfiguration(NPL::InputParser parser) {
   // Info block
-  vector<NPL::InputBlock*> blocks_info = parser.GetAllBlocksWithTokenAndValue("Strasse","Info");
-  if(NPOptionManager::getInstance()->GetVerboseLevel())
-    cout << "//// " << blocks_info.size() << " info block founds " << endl; 
+  vector<NPL::InputBlock*> blocks_info = parser.GetAllBlocksWithTokenAndValue("Strasse", "Info");
+  if (NPOptionManager::getInstance()->GetVerboseLevel())
+    cout << "//// " << blocks_info.size() << " info block founds " << endl;
 
-  if(blocks_info.size()>1){
-    cout << "ERROR: can only accepte one info block, " << blocks_info.size() << " info block founds." << endl; 
-    exit(1); 
+  if (blocks_info.size() > 1) {
+    cout << "ERROR: can only accepte one info block, " << blocks_info.size() << " info block founds." << endl;
+    exit(1);
   }
 
   vector<string> info = {
-    "Inner_Wafer_Length",         
-    "Inner_Wafer_Width",          
-    "Inner_Wafer_Thickness",     
-    "Inner_Wafer_AlThickness",    
-    "Inner_Wafer_PADExternal",    
-    "Inner_Wafer_PADInternal",  
-    "Inner_Wafer_GuardRing",    
-    "Inner_PCB_PortWidth",      
-    "Inner_PCB_StarboardWidth", 
-    "Inner_PCB_BevelAngle",     
-    "Inner_PCB_UpstreamWidth",  
-    "Inner_PCB_DownstreamWidth",
-    "Inner_PCB_MidWidth",       
-    "Inner_PCB_Thickness",      
-    "Inner_PCB_Ledge",      
-    "Inner_PCB_Step",      
-    "Inner_Wafer_TransverseStrips",
-    "Inner_Wafer_LongitudinalStrips",
-    "Outer_Wafer_Length",       
-    "Outer_Wafer_Width",        
-    "Outer_Wafer_Thickness",    
-    "Outer_Wafer_AlThickness",  
-    "Outer_Wafer_PADExternal",  
-    "Outer_Wafer_PADInternal",  
-    "Outer_Wafer_GuardRing",    
-    "Outer_PCB_PortWidth",      
-    "Outer_PCB_StarboardWidth", 
-    "Outer_PCB_BevelAngle",     
-    "Outer_PCB_UpstreamWidth",  
-    "Outer_PCB_DownstreamWidth",
-    "Outer_PCB_MidWidth",       
-    "Outer_PCB_Thickness",      
-    "Outer_PCB_Ledge",      
-    "Outer_PCB_Step",      
-    "Outer_Wafer_TransverseStrips",
-    "Outer_Wafer_LongitudinalStrips",
+      "Inner_Wafer_Length",
+      "Inner_Wafer_Width",
+      "Inner_Wafer_Thickness",
+      "Inner_Wafer_AlThickness",
+      "Inner_Wafer_PADExternal",
+      "Inner_Wafer_PADInternal",
+      "Inner_Wafer_GuardRing",
+      "Inner_PCB_PortWidth",
+      "Inner_PCB_StarboardWidth",
+      "Inner_PCB_BevelAngle",
+      "Inner_PCB_UpstreamWidth",
+      "Inner_PCB_DownstreamWidth",
+      "Inner_PCB_MidWidth",
+      "Inner_PCB_Thickness",
+      "Inner_PCB_Ledge",
+      "Inner_PCB_Step",
+      "Inner_Wafer_TransverseStrips",
+      "Inner_Wafer_LongitudinalStrips",
+      "Outer_Wafer_Length",
+      "Outer_Wafer_Width",
+      "Outer_Wafer_Thickness",
+      "Outer_Wafer_AlThickness",
+      "Outer_Wafer_PADExternal",
+      "Outer_Wafer_PADInternal",
+      "Outer_Wafer_GuardRing",
+      "Outer_PCB_PortWidth",
+      "Outer_PCB_StarboardWidth",
+      "Outer_PCB_BevelAngle",
+      "Outer_PCB_UpstreamWidth",
+      "Outer_PCB_DownstreamWidth",
+      "Outer_PCB_MidWidth",
+      "Outer_PCB_Thickness",
+      "Outer_PCB_Ledge",
+      "Outer_PCB_Step",
+      "Outer_Wafer_TransverseStrips",
+      "Outer_Wafer_LongitudinalStrips",
   };
 
-  if(blocks_info[0]->HasTokenList(info)){
-    cout << endl << "////  Strasse info block" <<  endl;
-    Inner_Wafer_Length = blocks_info[0]->GetDouble("Inner_Wafer_Length","mm");
-    Inner_Wafer_Width = blocks_info[0]->GetDouble("Inner_Wafer_Width","mm");          
-    Inner_Wafer_Thickness = blocks_info[0]->GetDouble("Inner_Wafer_Thickness","micrometer");      
-    Inner_Wafer_AlThickness = blocks_info[0]->GetDouble("Inner_Wafer_AlThickness","micrometer");     
-    Inner_Wafer_PADExternal = blocks_info[0]->GetDouble("Inner_Wafer_PADExternal","mm");     
-    Inner_Wafer_PADInternal = blocks_info[0]->GetDouble("Inner_Wafer_PADInternal","mm");   
-    Inner_Wafer_GuardRing = blocks_info[0]->GetDouble("Inner_Wafer_GuardRing","mm");     
-    Inner_Wafer_TransverseStrips = blocks_info[0]->GetInt("Inner_Wafer_TransverseStrips");        
-    Inner_Wafer_LongitudinalStrips = blocks_info[0]->GetInt("Inner_Wafer_LongitudinalStrips");       
-    Inner_PCB_PortWidth = blocks_info[0]->GetDouble("Inner_PCB_PortWidth","mm");       
-    Inner_PCB_StarboardWidth = blocks_info[0]->GetDouble("Inner_PCB_StarboardWidth","mm");  
-    Inner_PCB_BevelAngle = blocks_info[0]->GetDouble("Inner_PCB_BevelAngle","mm");      
-    Inner_PCB_UpstreamWidth = blocks_info[0]->GetDouble("Inner_PCB_UpstreamWidth","mm");   
-    Inner_PCB_DownstreamWidth = blocks_info[0]->GetDouble("Inner_PCB_DownstreamWidth","mm"); 
-    Inner_PCB_MidWidth = blocks_info[0]->GetDouble("Inner_PCB_MidWidth","mm");        
-    Inner_PCB_Thickness = blocks_info[0]->GetDouble("Inner_PCB_Thickness","mm");       
-    Inner_PCB_Ledge = blocks_info[0]->GetDouble("Inner_PCB_Ledge","mm");       
-    Inner_PCB_Step = blocks_info[0]->GetDouble("Inner_PCB_Step","mm");       
-    Outer_Wafer_Length = blocks_info[0]->GetDouble("Outer_Wafer_Length","mm");        
-    Outer_Wafer_Width = blocks_info[0]->GetDouble("Outer_Wafer_Width","mm");         
-    Outer_Wafer_Thickness = blocks_info[0]->GetDouble("Outer_Wafer_Thickness","mm");     
-    Outer_Wafer_AlThickness = blocks_info[0]->GetDouble("Outer_Wafer_AlThickness","micrometer");   
-    Outer_Wafer_PADExternal = blocks_info[0]->GetDouble("Outer_Wafer_PADExternal","mm");   
-    Outer_Wafer_PADInternal = blocks_info[0]->GetDouble("Outer_Wafer_PADInternal","mm");   
-    Outer_Wafer_GuardRing = blocks_info[0]->GetDouble("Outer_Wafer_GuardRing","mm");     
-    Outer_Wafer_TransverseStrips = blocks_info[0]->GetInt("Outer_Wafer_TransverseStrips");        
-    Outer_Wafer_LongitudinalStrips = blocks_info[0]->GetInt("Outer_Wafer_LongitudinalStrips");       
-    Outer_PCB_PortWidth = blocks_info[0]->GetDouble("Outer_PCB_PortWidth","mm");       
-    Outer_PCB_StarboardWidth = blocks_info[0]->GetDouble("Outer_PCB_StarboardWidth","mm");  
-    Outer_PCB_BevelAngle = blocks_info[0]->GetDouble("Outer_PCB_BevelAngle","deg");      
-    Outer_PCB_UpstreamWidth = blocks_info[0]->GetDouble("Outer_PCB_UpstreamWidth","mm");   
-    Outer_PCB_DownstreamWidth = blocks_info[0]->GetDouble("Outer_PCB_DownstreamWidth","mm"); 
-    Outer_PCB_MidWidth = blocks_info[0]->GetDouble("Outer_PCB_MidWidth","mm");        
-    Outer_PCB_Thickness = blocks_info[0]->GetDouble("Outer_PCB_Thickness","mm");       
-    Outer_PCB_Ledge = blocks_info[0]->GetDouble("Outer_PCB_Ledge","mm");       
-    Outer_PCB_Step = blocks_info[0]->GetDouble("Outer_PCB_Step","mm");       
+  if (blocks_info[0]->HasTokenList(info)) {
+    cout << endl << "////  Strasse info block" << endl;
+    Inner_Wafer_Length = blocks_info[0]->GetDouble("Inner_Wafer_Length", "mm");
+    Inner_Wafer_Width = blocks_info[0]->GetDouble("Inner_Wafer_Width", "mm");
+    Inner_Wafer_Thickness = blocks_info[0]->GetDouble("Inner_Wafer_Thickness", "micrometer");
+    Inner_Wafer_AlThickness = blocks_info[0]->GetDouble("Inner_Wafer_AlThickness", "micrometer");
+    Inner_Wafer_PADExternal = blocks_info[0]->GetDouble("Inner_Wafer_PADExternal", "mm");
+    Inner_Wafer_PADInternal = blocks_info[0]->GetDouble("Inner_Wafer_PADInternal", "mm");
+    Inner_Wafer_GuardRing = blocks_info[0]->GetDouble("Inner_Wafer_GuardRing", "mm");
+    Inner_Wafer_TransverseStrips = blocks_info[0]->GetInt("Inner_Wafer_TransverseStrips");
+    Inner_Wafer_LongitudinalStrips = blocks_info[0]->GetInt("Inner_Wafer_LongitudinalStrips");
+    Inner_PCB_PortWidth = blocks_info[0]->GetDouble("Inner_PCB_PortWidth", "mm");
+    Inner_PCB_StarboardWidth = blocks_info[0]->GetDouble("Inner_PCB_StarboardWidth", "mm");
+    Inner_PCB_BevelAngle = blocks_info[0]->GetDouble("Inner_PCB_BevelAngle", "mm");
+    Inner_PCB_UpstreamWidth = blocks_info[0]->GetDouble("Inner_PCB_UpstreamWidth", "mm");
+    Inner_PCB_DownstreamWidth = blocks_info[0]->GetDouble("Inner_PCB_DownstreamWidth", "mm");
+    Inner_PCB_MidWidth = blocks_info[0]->GetDouble("Inner_PCB_MidWidth", "mm");
+    Inner_PCB_Thickness = blocks_info[0]->GetDouble("Inner_PCB_Thickness", "mm");
+    Inner_PCB_Ledge = blocks_info[0]->GetDouble("Inner_PCB_Ledge", "mm");
+    Inner_PCB_Step = blocks_info[0]->GetDouble("Inner_PCB_Step", "mm");
+    Outer_Wafer_Length = blocks_info[0]->GetDouble("Outer_Wafer_Length", "mm");
+    Outer_Wafer_Width = blocks_info[0]->GetDouble("Outer_Wafer_Width", "mm");
+    Outer_Wafer_Thickness = blocks_info[0]->GetDouble("Outer_Wafer_Thickness", "mm");
+    Outer_Wafer_AlThickness = blocks_info[0]->GetDouble("Outer_Wafer_AlThickness", "micrometer");
+    Outer_Wafer_PADExternal = blocks_info[0]->GetDouble("Outer_Wafer_PADExternal", "mm");
+    Outer_Wafer_PADInternal = blocks_info[0]->GetDouble("Outer_Wafer_PADInternal", "mm");
+    Outer_Wafer_GuardRing = blocks_info[0]->GetDouble("Outer_Wafer_GuardRing", "mm");
+    Outer_Wafer_TransverseStrips = blocks_info[0]->GetInt("Outer_Wafer_TransverseStrips");
+    Outer_Wafer_LongitudinalStrips = blocks_info[0]->GetInt("Outer_Wafer_LongitudinalStrips");
+    Outer_PCB_PortWidth = blocks_info[0]->GetDouble("Outer_PCB_PortWidth", "mm");
+    Outer_PCB_StarboardWidth = blocks_info[0]->GetDouble("Outer_PCB_StarboardWidth", "mm");
+    Outer_PCB_BevelAngle = blocks_info[0]->GetDouble("Outer_PCB_BevelAngle", "deg");
+    Outer_PCB_UpstreamWidth = blocks_info[0]->GetDouble("Outer_PCB_UpstreamWidth", "mm");
+    Outer_PCB_DownstreamWidth = blocks_info[0]->GetDouble("Outer_PCB_DownstreamWidth", "mm");
+    Outer_PCB_MidWidth = blocks_info[0]->GetDouble("Outer_PCB_MidWidth", "mm");
+    Outer_PCB_Thickness = blocks_info[0]->GetDouble("Outer_PCB_Thickness", "mm");
+    Outer_PCB_Ledge = blocks_info[0]->GetDouble("Outer_PCB_Ledge", "mm");
+    Outer_PCB_Step = blocks_info[0]->GetDouble("Outer_PCB_Step", "mm");
   }
 
-  else{
+  else {
     cout << "ERROR: check your input file formatting " << endl;
     exit(1);
   }
 
-
   // Inner Barrel
-  vector<NPL::InputBlock*> blocks_inner = parser.GetAllBlocksWithTokenAndValue("Strasse","Inner");
-  if(NPOptionManager::getInstance()->GetVerboseLevel())
-    cout << "//// " << blocks_inner.size() << " inner detectors found " << endl; 
-
-  vector<string> coord = {"Radius","Z","Phi","Shift"};
-
-  for(unsigned int i = 0 ; i < blocks_inner.size() ; i++){
-    if(blocks_inner[i]->HasTokenList(coord)){
-      if(NPOptionManager::getInstance()->GetVerboseLevel())
-        cout << endl << "////  Strasse inner detector" << i+1 <<  endl;
-
-      double R = blocks_inner[i]->GetDouble("Radius","mm");
-      double Z= blocks_inner[i]->GetDouble("Z","mm");
-      double Phi = blocks_inner[i]->GetDouble("Phi","deg");
-      double Shift = blocks_inner[i]->GetDouble("Shift","mm");
-      TVector3 Ref = blocks_inner[i]->GetTVector3("Ref","mm");
-      AddInnerDetector(R,Z,Phi,Shift,Ref);
+  vector<NPL::InputBlock*> blocks_inner = parser.GetAllBlocksWithTokenAndValue("Strasse", "Inner");
+  if (NPOptionManager::getInstance()->GetVerboseLevel())
+    cout << "//// " << blocks_inner.size() << " inner detectors found " << endl;
+
+  vector<string> coord = {"Radius", "Z", "Phi", "Shift"};
+
+  for (unsigned int i = 0; i < blocks_inner.size(); i++) {
+    if (blocks_inner[i]->HasTokenList(coord)) {
+      if (NPOptionManager::getInstance()->GetVerboseLevel())
+        cout << endl << "////  Strasse inner detector" << i + 1 << endl;
+
+      double R = blocks_inner[i]->GetDouble("Radius", "mm");
+      double Z = blocks_inner[i]->GetDouble("Z", "mm");
+      double Phi = blocks_inner[i]->GetDouble("Phi", "deg");
+      double Shift = blocks_inner[i]->GetDouble("Shift", "mm");
+      TVector3 Ref = blocks_inner[i]->GetTVector3("Ref", "mm");
+      AddInnerDetector(R, Z, Phi, Shift, Ref);
     }
-    else{
-      cout << "ERROR: check your input file formatting on " << i+1 << " inner block " <<endl;
+    else {
+      cout << "ERROR: check your input file formatting on " << i + 1 << " inner block " << endl;
       exit(1);
     }
   }
 
   // Outer barrel
-  vector<NPL::InputBlock*> blocks_outer = parser.GetAllBlocksWithTokenAndValue("Strasse","Outer");
-  if(NPOptionManager::getInstance()->GetVerboseLevel())
-    cout << "//// " << blocks_outer.size() << " outer detectors found " << endl; 
-
-  for(unsigned int i = 0 ; i < blocks_outer.size() ; i++){
-    if(blocks_outer[i]->HasTokenList(coord)){
-      if(NPOptionManager::getInstance()->GetVerboseLevel())
-        cout << endl << "////  Strasse outer detector" << i+1 <<  endl;
-
-      double R = blocks_outer[i]->GetDouble("Radius","mm");
-      double Z= blocks_outer[i]->GetDouble("Z","mm");
-      double Phi = blocks_outer[i]->GetDouble("Phi","deg");
-      double Shift = blocks_outer[i]->GetDouble("Shift","mm");
-      TVector3 Ref = blocks_outer[i]->GetTVector3("Ref","mm");
-      AddOuterDetector(R,Z,Phi,Shift,Ref);
+  vector<NPL::InputBlock*> blocks_outer = parser.GetAllBlocksWithTokenAndValue("Strasse", "Outer");
+  if (NPOptionManager::getInstance()->GetVerboseLevel())
+    cout << "//// " << blocks_outer.size() << " outer detectors found " << endl;
+
+  for (unsigned int i = 0; i < blocks_outer.size(); i++) {
+    if (blocks_outer[i]->HasTokenList(coord)) {
+      if (NPOptionManager::getInstance()->GetVerboseLevel())
+        cout << endl << "////  Strasse outer detector" << i + 1 << endl;
+
+      double R = blocks_outer[i]->GetDouble("Radius", "mm");
+      double Z = blocks_outer[i]->GetDouble("Z", "mm");
+      double Phi = blocks_outer[i]->GetDouble("Phi", "deg");
+      double Shift = blocks_outer[i]->GetDouble("Shift", "mm");
+      TVector3 Ref = blocks_outer[i]->GetTVector3("Ref", "mm");
+      AddOuterDetector(R, Z, Phi, Shift, Ref);
     }
-    else{
+    else {
 
-      cout << "ERROR: check your input file formatting on " << i+1 << " outer block " <<endl;
+      cout << "ERROR: check your input file formatting on " << i + 1 << " outer block " << endl;
       exit(1);
     }
   }
 
-  ReadAnalysisConfig();
+  // Target Info (Specific to STRASSE)
+  vector<string> tar = {"Radius", "Length", "TargetMaterial", "CellMaterial", "CellThickness", "Pos"};
+  vector<NPL::InputBlock*> blocks_target = parser.GetAllBlocksWithTokenAndValue("Strasse", "Target");
+  if (NPOptionManager::getInstance()->GetVerboseLevel())
+    cout << "//// " << blocks_outer.size() << " STRASSE Target found " << endl;
+
+  for (unsigned int i = 0; i < blocks_target.size(); i++) {
+    if (blocks_target[i]->HasTokenList(tar)) {
+      if (NPOptionManager::getInstance()->GetVerboseLevel())
+        cout << endl << "////  Strasse TARGET" << i + 1 << endl;
+
+      Target_R = blocks_target[i]->GetDouble("Radius", "mm");
+      Target_L = blocks_target[i]->GetDouble("Length", "mm");
+      Target_Mat = blocks_target[i]->GetString("TargetMaterial");
+      Target_Cell_Mat = blocks_target[i]->GetString("CellMaterial");
+      Target_Cell_Thickness = blocks_target[i]->GetDouble("CellThickness", "mm");
+      Target_Pos = blocks_target[i]->GetTVector3("Pos", "mm");
+    }
+    else {
+
+      cout << "ERROR: check your input file formatting on " << i + 1 << " outer block " << endl;
+      exit(1);
+    }
+  }
 
+  ReadAnalysisConfig();
 }
 
 ///////////////////////////////////////////////////////////////////////////
@@ -805,47 +811,33 @@ void TStrassePhysics::InitSpectra() {
   //  m_Spectra = new TStrasseSpectra(m_NumberOfInnerDetectors);
 }
 
-
-
 ///////////////////////////////////////////////////////////////////////////
 void TStrassePhysics::FillSpectra() {
-  m_Spectra -> FillRawSpectra(m_EventData);
-  m_Spectra -> FillPreTreatedSpectra(m_PreTreatedData);
-  m_Spectra -> FillPhysicsSpectra(m_EventPhysics);
+  m_Spectra->FillRawSpectra(m_EventData);
+  m_Spectra->FillPreTreatedSpectra(m_PreTreatedData);
+  m_Spectra->FillPhysicsSpectra(m_EventPhysics);
 }
 
-
-
 ///////////////////////////////////////////////////////////////////////////
-void TStrassePhysics::CheckSpectra() {
-  m_Spectra->CheckSpectra();
-}
-
-
+void TStrassePhysics::CheckSpectra() { m_Spectra->CheckSpectra(); }
 
 ///////////////////////////////////////////////////////////////////////////
 void TStrassePhysics::ClearSpectra() {
   // To be done
 }
 
-
-
 ///////////////////////////////////////////////////////////////////////////
-map< string , TH1*> TStrassePhysics::GetSpectra() {
-  if(m_Spectra)
+map<string, TH1*> TStrassePhysics::GetSpectra() {
+  if (m_Spectra)
     return m_Spectra->GetMapHisto();
-  else{
-    map< string , TH1*> empty;
+  else {
+    map<string, TH1*> empty;
     return empty;
   }
 }
 
 ///////////////////////////////////////////////////////////////////////////
-void TStrassePhysics::WriteSpectra() {
-  m_Spectra->WriteSpectra();
-}
-
-
+void TStrassePhysics::WriteSpectra() { m_Spectra->WriteSpectra(); }
 
 ///////////////////////////////////////////////////////////////////////////
 void TStrassePhysics::AddParameterToCalibrationManager() {
@@ -859,54 +851,42 @@ void TStrassePhysics::AddParameterToCalibrationManager() {
       */
 }
 
-
-
 ///////////////////////////////////////////////////////////////////////////
 void TStrassePhysics::InitializeRootInputRaw() {
   TChain* inputChain = RootInput::getInstance()->GetChain();
-  inputChain->SetBranchStatus("Strasse",  true );
-  inputChain->SetBranchAddress("Strasse", &m_EventData );
+  inputChain->SetBranchStatus("Strasse", true);
+  inputChain->SetBranchAddress("Strasse", &m_EventData);
 }
 
-
-
 ///////////////////////////////////////////////////////////////////////////
 void TStrassePhysics::InitializeRootInputPhysics() {
   TChain* inputChain = RootInput::getInstance()->GetChain();
   inputChain->SetBranchAddress("Strasse", &m_EventPhysics);
 }
 
-
-
 ///////////////////////////////////////////////////////////////////////////
 void TStrassePhysics::InitializeRootOutput() {
   TTree* outputTree = RootOutput::getInstance()->GetTree();
   outputTree->Branch("Strasse", "TStrassePhysics", &m_EventPhysics);
 }
 
-
-
 ////////////////////////////////////////////////////////////////////////////////
 //            Construct Method to be pass to the DetectorFactory              //
 ////////////////////////////////////////////////////////////////////////////////
-NPL::VDetector* TStrassePhysics::Construct() {
-  return (NPL::VDetector*) new TStrassePhysics();
-}
-
-
+NPL::VDetector* TStrassePhysics::Construct() { return (NPL::VDetector*)new TStrassePhysics(); }
 
 ////////////////////////////////////////////////////////////////////////////////
 //            Registering the construct method to the factory                 //
 ////////////////////////////////////////////////////////////////////////////////
-extern "C"{
-  class proxy_Strasse{
-    public:
-      proxy_Strasse(){
-        NPL::DetectorFactory::getInstance()->AddToken("Strasse","Strasse");
-        NPL::DetectorFactory::getInstance()->AddDetector("Strasse",TStrassePhysics::Construct);
-      }
-  };
+extern "C" {
+class proxy_Strasse {
+ public:
+  proxy_Strasse() {
+    NPL::DetectorFactory::getInstance()->AddToken("Strasse", "Strasse");
+    NPL::DetectorFactory::getInstance()->AddDetector("Strasse", TStrassePhysics::Construct);
+  }
+};
 
-  proxy_Strasse p_Strasse;
+proxy_Strasse p_Strasse;
 }
 
diff --git a/NPLib/Detectors/Strasse/TStrassePhysics.h b/NPLib/Detectors/Strasse/TStrassePhysics.h
index c220b7bda3a52147cd4264c1da58e971f5cc3b3d..227078dd56f71327e7c36ead59927a5f78cbcaa7 100644
--- a/NPLib/Detectors/Strasse/TStrassePhysics.h
+++ b/NPLib/Detectors/Strasse/TStrassePhysics.h
@@ -18,234 +18,234 @@
  *                                                                           *
  *---------------------------------------------------------------------------*
  * Comment:                                                                  *
- *                                                                           *   
+ *                                                                           *
  *                                                                           *
  *****************************************************************************/
 
-// C++ headers 
-#include <vector>
+// C++ headers
 #include <map>
 #include <string>
+#include <vector>
 using namespace std;
 
 // ROOT headers
-#include "TObject.h"
 #include "TH1.h"
+#include "TObject.h"
 #include "TVector3.h"
 // NPTool headers
-#include "TStrasseData.h"
-#include "TStrasseSpectra.h"
 #include "NPCalibrationManager.h"
-#include "NPVDetector.h"
 #include "NPInputParser.h"
+#include "NPVDetector.h"
+#include "TStrasseData.h"
+#include "TStrasseSpectra.h"
 // forward declaration
 class TStrasseSpectra;
 
-
-
 class TStrassePhysics : public TObject, public NPL::VDetector {
   //////////////////////////////////////////////////////////////
   // constructor and destructor
-  public:
-    TStrassePhysics();
-    ~TStrassePhysics() {};
-
+ public:
+  TStrassePhysics();
+  ~TStrassePhysics(){};
 
   //////////////////////////////////////////////////////////////
   // Inherited from TObject and overriden to avoid warnings
-  public: 
-    void Clear();   
-    void Clear(const Option_t*) {};
+ public:
+  void Clear();
+  void Clear(const Option_t*){};
 
-  public:
-    vector<TVector2> MatchInner();
-    vector<TVector2> MatchOuter();
-    int CheckEvent();
+ public:
+  vector<TVector2> MatchInner();
+  vector<TVector2> MatchOuter();
+  int CheckEvent();
 
   //////////////////////////////////////////////////////////////
   // data obtained after BuildPhysicalEvent() and stored in
   // output ROOT file
-  public:
-    Int_t EventMultiplicity;
-    vector<int>     DetectorNumber;
-    vector<int>     InnerStripT;
-    vector<int>     InnerStripL;
-    vector<double>  InnerTE;
-    vector<double>  InnerLE;
-    vector<int>     OuterStripT;
-    vector<int>     OuterStripL;
-    vector<double>  OuterTE;
-    vector<double>  OuterLE;
-
-    vector<double> InnerPosX;
-    vector<double> InnerPosY;
-    vector<double> InnerPosZ;
-    vector<double> OuterPosX;
-    vector<double> OuterPosY;
-    vector<double> OuterPosZ;
-  
+ public:
+  Int_t EventMultiplicity;
+  vector<int> DetectorNumber;
+  vector<int> InnerStripT;
+  vector<int> InnerStripL;
+  vector<double> InnerTE;
+  vector<double> InnerLE;
+  vector<int> OuterStripT;
+  vector<int> OuterStripL;
+  vector<double> OuterTE;
+  vector<double> OuterLE;
+
+  vector<double> InnerPosX;
+  vector<double> InnerPosY;
+  vector<double> InnerPosZ;
+  vector<double> OuterPosX;
+  vector<double> OuterPosY;
+  vector<double> OuterPosZ;
+
   //////////////////////////////////////////////////////////////
   // methods inherited from the VDetector ABC class
-  public:
-    // read stream from ConfigFile to pick-up detector parameters
-    void ReadConfiguration(NPL::InputParser);
+ public:
+  // read stream from ConfigFile to pick-up detector parameters
+  void ReadConfiguration(NPL::InputParser);
 
-    /// A usefull method to bundle all operation to add a detector
-    void AddInnerDetector(double R, double Z, double Phi,double Shift,TVector3 Ref); 
-    void AddOuterDetector(double R, double Z, double Phi,double Shift,TVector3 Ref); 
- 
-    // add parameters to the CalibrationManger
-    void AddParameterToCalibrationManager();
+  /// A usefull method to bundle all operation to add a detector
+  void AddInnerDetector(double R, double Z, double Phi, double Shift, TVector3 Ref);
+  void AddOuterDetector(double R, double Z, double Phi, double Shift, TVector3 Ref);
 
-    // method called event by event, aiming at extracting the 
-    // physical information from detector
-    void BuildPhysicalEvent();
+  // add parameters to the CalibrationManger
+  void AddParameterToCalibrationManager();
 
-    // same as BuildPhysicalEvent() method but with a simpler
-    // treatment
-    void BuildSimplePhysicalEvent();
+  // method called event by event, aiming at extracting the
+  // physical information from detector
+  void BuildPhysicalEvent();
 
-    // same as above but for online analysis
-    void BuildOnlinePhysicalEvent()  {BuildPhysicalEvent();};
+  // same as BuildPhysicalEvent() method but with a simpler
+  // treatment
+  void BuildSimplePhysicalEvent();
 
-    // activate raw data object and branches from input TChain
-    // in this method mother branches (Detector) AND daughter leaves 
-    // (fDetector_parameter) have to be activated
-    void InitializeRootInputRaw();
+  // same as above but for online analysis
+  void BuildOnlinePhysicalEvent() { BuildPhysicalEvent(); };
 
-    // activate physics data object and branches from input TChain
-    // in this method mother branches (Detector) AND daughter leaves 
-    // (fDetector_parameter) have to be activated
-    void InitializeRootInputPhysics();
+  // activate raw data object and branches from input TChain
+  // in this method mother branches (Detector) AND daughter leaves
+  // (fDetector_parameter) have to be activated
+  void InitializeRootInputRaw();
 
-    // create branches of output ROOT file
-    void InitializeRootOutput();
+  // activate physics data object and branches from input TChain
+  // in this method mother branches (Detector) AND daughter leaves
+  // (fDetector_parameter) have to be activated
+  void InitializeRootInputPhysics();
 
-    // clear the raw and physical data objects event by event
-    void ClearEventPhysics() {Clear();}      
-    void ClearEventData()    {m_EventData->Clear();}   
+  // create branches of output ROOT file
+  void InitializeRootOutput();
 
-    // methods related to the TStrasseSpectra class
-    // instantiate the TStrasseSpectra class and 
-    // declare list of histograms
-    void InitSpectra();
+  // clear the raw and physical data objects event by event
+  void ClearEventPhysics() { Clear(); }
+  void ClearEventData() { m_EventData->Clear(); }
 
-    // fill the spectra
-    void FillSpectra();
+  // methods related to the TStrasseSpectra class
+  // instantiate the TStrasseSpectra class and
+  // declare list of histograms
+  void InitSpectra();
 
-    // used for Online mainly, sanity check for histograms and 
-    // change their color if issues are found, for example
-    void CheckSpectra();
+  // fill the spectra
+  void FillSpectra();
 
-    // used for Online only, clear all the spectra
-    void ClearSpectra();
+  // used for Online mainly, sanity check for histograms and
+  // change their color if issues are found, for example
+  void CheckSpectra();
 
-    // write spectra to ROOT output file
-    void WriteSpectra();
+  // used for Online only, clear all the spectra
+  void ClearSpectra();
 
+  // write spectra to ROOT output file
+  void WriteSpectra();
 
   //////////////////////////////////////////////////////////////
   // specific methods to Strasse array
-  public:
-    // remove bad channels, calibrate the data and apply thresholds
-    void PreTreat();
-
-    // clear the pre-treated object
-    void ClearPreTreatedData()   {m_PreTreatedData->Clear();}
-
-    // read the user configuration file. If no file is found, load standard one
-    void ReadAnalysisConfig();
-
-    // give and external TStrasseData object to TStrassePhysics. 
-    // needed for online analysis for example
-    void SetRawDataPointer(TStrasseData* rawDataPointer) {m_EventData = rawDataPointer;}
- 
-    double GetNumberOfInnerDetector() const {return m_NumberOfInnerDetectors;}
-    double GetNumberOfOuterDetector() const {return m_NumberOfOuterDetectors;}
-    int GetEventMultiplicity() const {return EventMultiplicity;}
-    int GetDetNbrSize() const {return DetectorNumber.size();}
-    TVector3 GetInnerPos(const int i) const {return TVector3(InnerPosX[i],InnerPosY[i],InnerPosZ[i]);}
-    TVector3 GetOuterPos(const int i) const {return TVector3(OuterPosX[i],OuterPosY[i],OuterPosZ[i]);}
-
-    double GetInnerStripPositionX(const int N, const int X, const int Y){
-      return m_InnerStripPositionX[N-1][X-1][Y-1];
-    };
-    double GetInnerStripPositionY(const int N, const int X, const int Y){
-      return m_InnerStripPositionY[N-1][X-1][Y-1];
-    };
-    double GetInnerStripPositionZ(const int N, const int X, const int Y){
-      return m_InnerStripPositionZ[N-1][X-1][Y-1];
-    };
-    
-    double GetOuterStripPositionX(const int N, const int X, const int Y){
-      return m_OuterStripPositionX[N-1][X-1][Y-1];
-    };
-    double GetOuterStripPositionY(const int N, const int X, const int Y){
-      return m_OuterStripPositionY[N-1][X-1][Y-1];
-    };
-    double GetOuterStripPositionZ(const int N, const int X, const int Y){
-      return m_OuterStripPositionZ[N-1][X-1][Y-1];
-    };
-
-    TVector3 GetInnerPositionOfInteraction(const int i);
-    TVector3 GetOuterPositionOfInteraction(const int i);
-
-    TVector3 GetDetectorNormal(const int i);
-    
+ public:
+  // remove bad channels, calibrate the data and apply thresholds
+  void PreTreat();
+
+  // clear the pre-treated object
+  void ClearPreTreatedData() { m_PreTreatedData->Clear(); }
+
+  // read the user configuration file. If no file is found, load standard one
+  void ReadAnalysisConfig();
+
+  // give and external TStrasseData object to TStrassePhysics.
+  // needed for online analysis for example
+  void SetRawDataPointer(TStrasseData* rawDataPointer) { m_EventData = rawDataPointer; }
+
+  double GetNumberOfInnerDetector() const { return m_NumberOfInnerDetectors; }
+  double GetNumberOfOuterDetector() const { return m_NumberOfOuterDetectors; }
+  int GetEventMultiplicity() const { return EventMultiplicity; }
+  int GetDetNbrSize() const { return DetectorNumber.size(); }
+  TVector3 GetInnerPos(const int i) const { return TVector3(InnerPosX[i], InnerPosY[i], InnerPosZ[i]); }
+  TVector3 GetOuterPos(const int i) const { return TVector3(OuterPosX[i], OuterPosY[i], OuterPosZ[i]); }
+
+  double GetInnerStripPositionX(const int N, const int X, const int Y) {
+    return m_InnerStripPositionX[N - 1][X - 1][Y - 1];
+  };
+  double GetInnerStripPositionY(const int N, const int X, const int Y) {
+    return m_InnerStripPositionY[N - 1][X - 1][Y - 1];
+  };
+  double GetInnerStripPositionZ(const int N, const int X, const int Y) {
+    return m_InnerStripPositionZ[N - 1][X - 1][Y - 1];
+  };
+
+  double GetOuterStripPositionX(const int N, const int X, const int Y) {
+    return m_OuterStripPositionX[N - 1][X - 1][Y - 1];
+  };
+  double GetOuterStripPositionY(const int N, const int X, const int Y) {
+    return m_OuterStripPositionY[N - 1][X - 1][Y - 1];
+  };
+  double GetOuterStripPositionZ(const int N, const int X, const int Y) {
+    return m_OuterStripPositionZ[N - 1][X - 1][Y - 1];
+  };
+
+  TVector3 GetInnerPositionOfInteraction(const int i);
+  TVector3 GetOuterPositionOfInteraction(const int i);
+  TVector3 GetDetectorNormal(const int i);
+
+  string GetTargetMaterial(const int i) const { return Target_Mat; }
+  string GetTargetCellMaterial(const int i) const { return Target_Cell_Mat; }
+  double GetTargetCellThickness(const int i) const { return Target_Cell_Thickness; }
+  double GetTargetLength(const int i) const { return Target_L; }
+  double GetTargetRadius(const int i) const { return Target_R; }
+  TVector3 GetTargetPosition(const int i) const { return Target_Pos; }
+
   // objects are not written in the TTree
-  private:
-    TStrasseData*         m_EventData;        //!
-    TStrasseData*         m_PreTreatedData;   //!
-    TStrassePhysics*      m_EventPhysics;     //!
+ private:
+  TStrasseData* m_EventData;       //!
+  TStrasseData* m_PreTreatedData;  //!
+  TStrassePhysics* m_EventPhysics; //!
 
-  // getters for raw and pre-treated data object
-  public:
-    TStrasseData* GetRawData()        const {return m_EventData;}
-    TStrasseData* GetPreTreatedData() const {return m_PreTreatedData;}
+                                   // getters for raw and pre-treated data object
+ public:
+  TStrasseData* GetRawData() const { return m_EventData; }
+  TStrasseData* GetPreTreatedData() const { return m_PreTreatedData; }
 
   // parameters used in the analysis
-  private:
-    int m_NumberOfInnerDetectors; //!
-    int m_NumberOfOuterDetectors; //!
-
-    vector<vector<vector<double>>> m_InnerStripPositionX; //!
-    vector<vector<vector<double>>> m_InnerStripPositionY; //!
-    vector<vector<vector<double>>> m_InnerStripPositionZ; //!
+ private:
+  int m_NumberOfInnerDetectors;                         //!
+  int m_NumberOfOuterDetectors;                         //!
 
-    vector<vector<vector<double>>> m_OuterStripPositionX; //!
-    vector<vector<vector<double>>> m_OuterStripPositionY; //!
-    vector<vector<vector<double>>> m_OuterStripPositionZ; //!
+  vector<vector<vector<double>>> m_InnerStripPositionX; //!
+  vector<vector<vector<double>>> m_InnerStripPositionY; //!
+  vector<vector<vector<double>>> m_InnerStripPositionZ; //!
 
+  vector<vector<vector<double>>> m_OuterStripPositionX; //!
+  vector<vector<vector<double>>> m_OuterStripPositionY; //!
+  vector<vector<vector<double>>> m_OuterStripPositionZ; //!
 
-    // thresholds
-    double m_E_RAW_Threshold; //!
-    double m_E_Threshold;     //!
+  // thresholds
+  double m_E_RAW_Threshold; //!
+  double m_E_Threshold;     //!
 
  private:
-    unsigned int m_MaximumStripMultiplicityAllowed;//
-    double m_StripEnergyMatching;//
-
+  unsigned int m_MaximumStripMultiplicityAllowed; //
+  double m_StripEnergyMatching;                   //
 
-  // spectra class
-  private:
-    TStrasseSpectra* m_Spectra; // !
+                                                  // spectra class
+ private:
+  TStrasseSpectra* m_Spectra; // !
 
-  // spectra getter
-  public:
-    map<string, TH1*>   GetSpectra(); 
+                              // spectra getter
+ public:
+  map<string, TH1*> GetSpectra();
 
   // Static constructor to be passed to the Detector Factory
-  public:
-    static NPL::VDetector* Construct();
+ public:
+  static NPL::VDetector* Construct();
 
-    ClassDef(TStrassePhysics,1)  // StrassePhysics structure
-  
-  private: // geometry
-  ////////////////////
-  // Inner Detector //
-  ////////////////////
-  // Wafer parameter
-  double Inner_Wafer_Length;
+  ClassDef(TStrassePhysics, 1) // StrassePhysics structure
+
+      private :                // geometry
+                ////////////////////
+                // Inner Detector //
+                ////////////////////
+                // Wafer parameter
+                double Inner_Wafer_Length;
   double Inner_Wafer_Width;
   double Inner_Wafer_Thickness;
   double Inner_Wafer_AlThickness;
@@ -291,6 +291,14 @@ class TStrassePhysics : public TObject, public NPL::VDetector {
   double Outer_Wafer_TransverseStrips;
   double Outer_Wafer_LongitudinalStrips;
 
-
+  ///////////////////////
+  // Target Parameters //
+  ///////////////////////
+  double Target_R;
+  double Target_L;
+  string Target_Mat;
+  string Target_Cell_Mat;
+  double Target_Cell_Thickness;
+  TVector3 Target_Pos;
 };
 #endif
diff --git a/NPLib/Detectors/Vendeta/TVendetaPhysics.cxx b/NPLib/Detectors/Vendeta/TVendetaPhysics.cxx
index 94ce084b7d9a76edb64c4af33fb5bb49fa442316..6fc473fb922de0ad593ee5e0e3cad3ba164e4ebf 100644
--- a/NPLib/Detectors/Vendeta/TVendetaPhysics.cxx
+++ b/NPLib/Detectors/Vendeta/TVendetaPhysics.cxx
@@ -104,6 +104,7 @@ void TVendetaPhysics::BuildPhysicalEvent() {
     LG_Q2.push_back(m_PreTreatedData->GetLGQ2(e));
     LG_Time.push_back(m_PreTreatedData->GetLGTime(e));
     LG_Qmax.push_back(m_PreTreatedData->GetLGQmax(e));
+    LG_isSat.push_back(m_PreTreatedData->GetLGIsSat(e));
 
   }
 
@@ -113,6 +114,7 @@ void TVendetaPhysics::BuildPhysicalEvent() {
     HG_Q2.push_back(m_PreTreatedData->GetHGQ2(e));
     HG_Time.push_back(m_PreTreatedData->GetHGTime(e));
     HG_Qmax.push_back(m_PreTreatedData->GetHGQmax(e));
+    HG_isSat.push_back(m_PreTreatedData->GetHGIsSat(e));
   }
 
   m_AnodeNumber=-1; 
@@ -146,6 +148,7 @@ void TVendetaPhysics::PreTreat() {
     m_PreTreatedData->SetLGQ2(m_EventData->GetLGQ2(i));
     m_PreTreatedData->SetLGTime(Time);
     m_PreTreatedData->SetLGQmax(Qmax);
+    m_PreTreatedData->SetLGIsSat(m_EventData->GetLGIsSat(i));
   }
 
   // HG pretreat
@@ -165,6 +168,7 @@ void TVendetaPhysics::PreTreat() {
     m_PreTreatedData->SetHGQ2(m_EventData->GetHGQ2(i));
     m_PreTreatedData->SetHGTime(Time);
     m_PreTreatedData->SetHGQmax(Qmax);
+    m_PreTreatedData->SetHGIsSat(m_EventData->GetHGIsSat(i));
   }
 
 }
@@ -242,12 +246,14 @@ void TVendetaPhysics::Clear() {
   LG_Q2.clear();
   LG_Time.clear();
   LG_Qmax.clear();
-
+  LG_isSat.clear();
+  
   HG_DetectorNumber.clear();
   HG_Q1.clear();
   HG_Q2.clear();
   HG_Time.clear();
   HG_Qmax.clear();
+  HG_isSat.clear();
 
 }
 
diff --git a/NPLib/Detectors/Vendeta/TVendetaPhysics.h b/NPLib/Detectors/Vendeta/TVendetaPhysics.h
index f7b2d0b64497ecea73a9b78438dc537a0b5f342e..de165c8e475cb632dd8846c55def1b45d4289baa 100644
--- a/NPLib/Detectors/Vendeta/TVendetaPhysics.h
+++ b/NPLib/Detectors/Vendeta/TVendetaPhysics.h
@@ -67,12 +67,14 @@ class TVendetaPhysics : public TObject, public NPL::VDetector {
     vector<double>   LG_Q2;
     vector<double>   LG_Time;
     vector<double>   LG_Qmax;
+    vector<int>      LG_isSat;
    
     vector<int>      HG_DetectorNumber;
     vector<double>   HG_Q1;
     vector<double>   HG_Q2;
     vector<double>   HG_Time;
     vector<double>   HG_Qmax;
+    vector<int>      HG_isSat;
 
 
   /// A usefull method to bundle all operation to add a detector
diff --git a/NPLib/Neutron/NPCrossTalk.cxx b/NPLib/Neutron/NPCrossTalk.cxx
old mode 100644
new mode 100755
index f6911a3f833c2bc41d13a29e8601777aa6689916..ac1518447ea65216a40c3fd7b45ac7ad5f055abd
--- a/NPLib/Neutron/NPCrossTalk.cxx
+++ b/NPLib/Neutron/NPCrossTalk.cxx
@@ -39,7 +39,7 @@ CrossTalk::~CrossTalk(){
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-void CrossTalk::AddHitVector(const vector<double>& X, const vector<double>& Y, const vector<double>& Z, const vector<double>& Q, const vector<double>& dX, const vector<double>& dY, const vector<double>& dZ, const vector<double> &T){
+void CrossTalk::AddHitVector(const vector<double>& X, const vector<double>& Y, const vector<double>& Z, const vector<double>& Q, const vector<double>& dX, const vector<double>& dY, const vector<double>& dZ, const vector<double> &T, const vector<int> &ID){
 
 
   HitX = &X;
@@ -52,13 +52,13 @@ void CrossTalk::AddHitVector(const vector<double>& X, const vector<double>& Y, c
 
   HitT = &T;
   HitQ = &Q;
+  HitID = &ID;
   sizeHit = X.size();
 }
 
-
 #if __cplusplus > 201103L 
 bool cmp(pair<int,double> & a, pair<int,double>&b){
-  return a.second < b.second;
+    return a.second < b.second;
 }
 #else
 bool cmp(pair<int,double>a, pair<int,double>b){
@@ -73,7 +73,7 @@ vector<int> CrossTalk::ComputeCrossTalk(const double& Causality, const double& D
   static double x2,y2,z2,dx2,dy2,dz2,t2;
   static double Dist, HyperSphere, Beta1;
 
-  //Attribute a new index based on the time arrive from the first to the last hit
+  //Attribute a new index based on the time of arrival from the first to the last hit
   //Using vector of pairs (ID,Time)
   static vector<pair<int, double>> pair_SortedID;
   pair_SortedID.clear();
@@ -133,30 +133,7 @@ vector<int> CrossTalk::ComputeCrossTalk(const double& Causality, const double& D
 
   static unsigned int count, count2;
   count=1,count2=9;  m_HeadClust.clear(), m_QtotClust.clear();
-  Clusters_3D->Clear();
-  /* Clusters_3D->SetTitle("Hit Clusters in NEBULA & NeuLAND"); */
-  /* Clusters_3D->SetFillColor(29); */
-  /* Clusters_3D->SetMarkerSize(10); */
-  /* Clusters_3D->SetMarkerStyle(20); */
-  /* Clusters_3D->SetLineWidth(2); */
-
-  Clusters_3D->SetPoint(1,10000,-2500,0);
-  Clusters_3D->SetPoint(2,10000,-2500,2000);
-  Clusters_3D->SetPoint(3,10000,2500,0);
-  Clusters_3D->SetPoint(4,10000,2500,2000);
-  Clusters_3D->SetPoint(5,12500,-2500,0);
-  Clusters_3D->SetPoint(6,12500,-2500,2000);
-  Clusters_3D->SetPoint(7,12500,2500,0);
-  Clusters_3D->SetPoint(8,12500,2500,2000);
-  Clusters_3D->SetPointError(1,0,0,0);
-  Clusters_3D->SetPointError(2,0,0,0);
-  Clusters_3D->SetPointError(3,0,0,0);
-  Clusters_3D->SetPointError(4,0,0,0);
-  Clusters_3D->SetPointError(5,0,0,0);
-  Clusters_3D->SetPointError(6,0,0,0);
-  Clusters_3D->SetPointError(7,0,0,0);
-  Clusters_3D->SetPointError(8,0,0,0);
-
+  
   for(auto itr = mapOfClust.begin(); itr != mapOfClust.end(); itr++){
     mapOfHead[count] = itr->second[0];
     m_HeadClust.push_back(itr->second[0]);
@@ -166,9 +143,6 @@ vector<int> CrossTalk::ComputeCrossTalk(const double& Causality, const double& D
     Qtot = 0;
     for(int j =0; j < itr->second.size();j++){
       Qtot += (*HitQ)[itr->second[j]];
-      /* XY_Clusters->Set(count2, (*HitX)[itr->second[j]], (*HitY)[itr->second[j]]); */
-      /* XZ_Clusters->Set(count2, (*HitX)[itr->second[j]], (*HitZ)[itr->second[j]]); */
-      /* YZ_Clusters->Set(count2, (*HitZ)[itr->second[j]], (*HitY)[itr->second[j]]); */
       /* cout << (*HitX)[itr->second[j]] << " " <<  (*HitdX)[itr->second[j]] << " " << (*HitdY)[itr->second[j]]<< ""<< (*HitdZ)[itr->second[j]]<<  endl; */
       Clusters_3D->SetPoint(count2, (*HitZ)[itr->second[j]], (*HitX)[itr->second[j]], (*HitY)[itr->second[j]]);
       Clusters_3D->SetPointError(count2, (*HitdZ)[itr->second[j]], (*HitdX)[itr->second[j]], (*HitdY)[itr->second[j]]);
@@ -178,12 +152,7 @@ vector<int> CrossTalk::ComputeCrossTalk(const double& Causality, const double& D
     mapOfQtot[count] = Qtot;
     count++;   
   } 
-
-  /*   Clusters_3D->Draw("err"); */
-  /*   Clusters_2D.push_back(XY_Clusters); */
-  /*   Clusters_2D.push_back(XZ_Clusters); */
-  /*   Clusters_2D.push_back(YZ_Clusters); */
-
+  
   double v_n, Dmax, Qclust1, beta1, beta12;
   static vector<double> CrossTalk;
   CrossTalk.clear();
@@ -199,48 +168,199 @@ vector<int> CrossTalk::ComputeCrossTalk(const double& Causality, const double& D
       Dist = sqrt((x2-x1)*(x2-x1) + (y2-y1)*(y2-y1) + (z2-z1)*(z2-z1));
       Dmax = (t2-t1)*v_n;
       beta12 = Dist/(t2-t1)/C_light;
-     /* if(beta1/beta12 > Causality){ */
-      if( ( (*HitdX)[mapOfHead[i]] == 120. && Qclust1 < 96.9*beta1/beta12 - 70.5 )||(  (*HitdX)[mapOfHead[i]] == 50. && Qclust1 < 150*beta1/beta12 - 130 ) ){
+      if(beta1/beta12 > Causality){
+        /* if( ( (*HitdX)[mapOfHead[i]] == 120. && Qclust1 < 96.9*beta1/beta12 - 70.5 )||(  (*HitdX)[mapOfHead[i]] == 50. && Qclust1 < 150*beta1/beta12 - 130 ) ){ */
         CrossTalk.push_back(j);
       }
+      }
     }
+
+    //elimate potential CrossTalk in mapOfHead
+    static unsigned int sizeCT;
+    sizeCT = CrossTalk.size();
+    for(unsigned int i = 0; i < sizeCT; i++  ){
+      mapOfHead.erase(CrossTalk[i]);
+      mapOfQtot.erase(CrossTalk[i]);
+    }
+
+    //return vector of real neutrons IDs 
+    m_Neutrons.clear();
+    m_QtotNeut.clear();
+    for(auto itr = mapOfHead.begin(); itr != mapOfHead.end(); itr++){
+      m_Neutrons.push_back(itr->second);
+    }
+    for(auto itr = mapOfQtot.begin(); itr != mapOfQtot.end(); itr++){
+      m_QtotNeut.push_back(itr->second);
+    }
+    return m_Neutrons;
   }
 
-  //elimate potential CrossTalk in mapOfHead
-  static unsigned int sizeCT;
-  sizeCT = CrossTalk.size();
-  for(unsigned int i = 0; i < sizeCT; i++  ){
-    mapOfHead.erase(CrossTalk[i]);
-    mapOfQtot.erase(CrossTalk[i]);
+  /////////////////////////////////////////////////////
+  ////////// KONDO CT /////////////////////////////////
+  /////////////////////////////////////////////////////
+  vector<int> CrossTalk::ComputeCrossTalk_Kondo(const double& Causality, const double& DistMin, const int& Option, TCutG* TCut1, TCutG* TCut2){
+
+    const double C_light = 299.792458;
+    static double x1,y1,z1,dx1,dy1,dz1,t1,q1,id1;
+    static double x2,y2,z2,dx2,dy2,dz2,t2,q2,id2;
+    static double Dt, Dist, HyperSphere, Beta1;
+
+    //Attribute a new index based on the time arrive from the first to the last hit
+    //Using vector of pairs (ID,Time)
+    static vector<pair<int, double>> pair_SortedID;
+    pair_SortedID.clear();
+    for(int i = 0; i < sizeHit; i++){
+      pair_SortedID.emplace_back(i, (*HitT)[i]);
+    }
+    //Sort pair vector (ID,Time) in Time
+    sort(pair_SortedID.begin(), pair_SortedID.end(), cmp);
+
+    m_SortedID.clear();
+    //Put new ID sorted in a vector
+    for(int i = 0; i < sizeHit; i++){
+      m_SortedID.push_back(pair_SortedID[i].first);
+    }
+
+    // A different Cluster number (starting at 1) is assigned to each hit
+    static vector<int> ID_ClustHit;
+    ID_ClustHit.clear();
+    for(int i =0 ; i < sizeHit; i++){
+      ID_ClustHit.push_back(i+1);
+    }
+
+    //Test each Dist(n-n) to find clusters
+    //When 2 neutrons are part of a the same cluster, change their ID_ClustHit for the lowest
+    //Create a map to hold the Hit_ID for each cluster 
+    mapOfClust.clear();
+
+    ///////////////////////////////////////
+    /// HyperSphere cleaning (same wall)
+    //////////////////////////////////////
+
+    for(int j = 0; j < sizeHit-1; j++){
+      if(ID_ClustHit[j]==-1) continue;
+      x1 = (*HitX)[m_SortedID[j]], y1 = (*HitY)[m_SortedID[j]], z1 = (*HitZ)[m_SortedID[j]];  
+      dx1 = (*HitdX)[m_SortedID[j]], dy1 = (*HitdY)[m_SortedID[j]];
+      dz1 = (*HitdZ)[m_SortedID[j]];
+      t1 = (*HitT)[m_SortedID[j]];
+      id1=(*HitID)[m_SortedID[j]];
+      Beta1 = sqrt(x1*x1 + y1*y1 + z1*z1)/t1/C_light;
+      for(int jj = j+1; jj < sizeHit ; jj++){
+        if(ID_ClustHit[jj]==-1) continue;
+        x2 = (*HitX)[m_SortedID[jj]], y2 = (*HitY)[m_SortedID[jj]], z2 = (*HitZ)[m_SortedID[jj]], t2 = (*HitT)[m_SortedID[jj]], dx2 = (*HitdX)[m_SortedID[jj]];   
+        Dist = sqrt((x2-x1)*(x2-x1) + (y2-y1)*(y2-y1) + (z2-z1)*(z2-z1));
+        Dt = t2-t1;
+        id2=(*HitID)[m_SortedID[jj]];
+        double b12 = Dist/Dt/C_light;
+        if(id1 <= 400 && id2 <= 400){
+          //Neuland same wall
+          double HypeSph1 = sqrt(((Dt-0.2591)/1.165)*((Dt-0.2591)/1.165) + ((Dist-70.8)/105)*((Dist-70.8)/105));
+          if(HypeSph1 < 1){
+            ID_ClustHit[jj]=-1;
+          }
+        }
+        else if( ((id1>400 && id1<=460)&&(id2>400&&id2<=460)) || (id1>460&&id2>460)  ){ 
+          // Nebula same wall
+          double HypeSph2 = sqrt(((Dt-0.6528)/1.608)*((Dt-0.6528)/1.608) + ((Dist-158.8)/151.5)*((Dist-158.8)/151.5));
+          if(HypeSph2 < 1){
+            ID_ClustHit[jj]=-1;
+          }
+        }
+      }
+    }
+    
+    /////////////////////////////////////////
+    ///// Cleaning Gammas
+    ///////////////////////////////////////////
+
+    for(int j = 0; j < sizeHit-1; j++){
+      if(ID_ClustHit[j]==-1) continue;
+      x1 = (*HitX)[m_SortedID[j]], y1 = (*HitY)[m_SortedID[j]], z1 = (*HitZ)[m_SortedID[j]];  
+      dx1 = (*HitdX)[m_SortedID[j]], dy1 = (*HitdY)[m_SortedID[j]];
+      dz1 = (*HitdZ)[m_SortedID[j]];
+      t1 = (*HitT)[m_SortedID[j]];
+      id1= (*HitID)[m_SortedID[j]];
+      Beta1 = sqrt(x1*x1 + y1*y1 + z1*z1)/t1/C_light;
+      for(int jj = j+1; jj < sizeHit ; jj++){
+        if(ID_ClustHit[jj]==-1) continue;
+        x2 = (*HitX)[m_SortedID[jj]], y2 = (*HitY)[m_SortedID[jj]], z2 = (*HitZ)[m_SortedID[jj]], t2 = (*HitT)[m_SortedID[jj]], dx2 = (*HitdX)[m_SortedID[jj]];   
+        Dist = sqrt((x2-x1)*(x2-x1) + (y2-y1)*(y2-y1) + (z2-z1)*(z2-z1));
+        Dt = t2-t1;
+        id2=(*HitID)[m_SortedID[jj]];
+        double b12 = Dist/Dt/C_light;
+        double q2 = (*HitQ)[m_SortedID[jj]];
+        if(id1 <= 400 && id2 <= 400){
+          //Neuland same wall
+          if( ( abs(1/b12 -1) < 3*0.24 && q2 < 15 ) ||  1/b12 > 1 ){
+            ID_ClustHit[jj] = -1;
+          }
+        }
+        else if( ((id1>400 && id1<=460)&&(id2>400&&id2<=460)) || (id1>460&&id2>460)  ){ 
+          // Nebula same wall
+          if(( abs((1/b12)-1) < 3*0.49 && q2<15 ) || 1/b12 > 1 ){
+            ID_ClustHit[jj]=-1;
+          }
+        }
+        else{
+          // Different Wall a
+          if(Beta1/b12 > 1 || (abs(1/b12 - 1) < 3*0.17 && q2 < 15))
+            ID_ClustHit[jj]=-1;
+        }
+        }
+      }
+
+    for(unsigned int i = 0; i < sizeHit; i++){
+      if(ID_ClustHit[i]!=-1)
+        mapOfClust[ID_ClustHit[i]].push_back(m_SortedID[i]);
+    }
+
+    //Put first hit in time of each cluster in a new map mapOfHead and remake 
+    //the numbering of clusters (1,2,3...)
+    static map< unsigned int, unsigned int > mapOfHead;
+    static map< unsigned int, double > mapOfQtot;
+    /* static map< unsigned int, unsigned int > mapOfClust; */
+    static unsigned int NbrOfClust;
+    mapOfHead.clear(), mapOfQtot.clear();
+    NbrOfClust = mapOfClust.size();
+
+    static unsigned int count, count2;
+    count=1; m_HeadClust.clear();
+    for(auto itr = mapOfClust.begin(); itr != mapOfClust.end(); itr++){
+      mapOfHead[count] = itr->second[0];
+      mapOfQtot[count] = 0;
+      m_HeadClust.push_back(itr->second[0]);
+      count++;   
+    } 
+    //return vector of real neutrons IDs 
+    m_Neutrons.clear();
+    m_QtotNeut.clear();
+    m_QtotClust.clear();
+    for(auto itr = mapOfHead.begin(); itr != mapOfHead.end(); itr++){
+      m_Neutrons.push_back(itr->second);
+      m_HeadClust.push_back(itr->second);
+    }
+    for(auto itr = mapOfQtot.begin(); itr != mapOfQtot.end(); itr++){
+      m_QtotNeut.push_back(itr->second);
+      m_QtotClust.push_back(itr->second);
+    }
+    return m_Neutrons;
   }
 
-  //return vector of real neutrons IDs 
-  m_Neutrons.clear();
-  m_QtotNeut.clear();
-  for(auto itr = mapOfHead.begin(); itr != mapOfHead.end(); itr++){
-    m_Neutrons.push_back(itr->second);
+  vector<int> CrossTalk::GetSortedHits(){
+    return m_SortedID;
   }
-  for(auto itr = mapOfQtot.begin(); itr != mapOfQtot.end(); itr++){
-    m_QtotNeut.push_back(itr->second);
+  vector<TGraph> CrossTalk::GetClusters(){
+    return Clusters_2D;
+  }
+  TGraph2DErrors *CrossTalk::Get3DClusters(){
+    return Clusters_3D;
+  }
+  vector<int> CrossTalk::GetHeadClust(){
+    return m_HeadClust;
+  }
+  vector<double> CrossTalk::GetQtotClust(){
+    return m_QtotClust;
+  }
+  vector<double> CrossTalk::GetQtotNeut(){
+    return m_QtotNeut;
   }
-  return m_Neutrons;
-}
-
-vector<int> CrossTalk::GetSortedHits(){
-  return m_SortedID;
-}
-vector<TGraph> CrossTalk::GetClusters(){
-  return Clusters_2D;
-}
-TGraph2DErrors *CrossTalk::Get3DClusters(){
-  return Clusters_3D;
-}
-vector<int> CrossTalk::GetHeadClust(){
-  return m_HeadClust;
-}
-vector<double> CrossTalk::GetQtotClust(){
-  return m_QtotClust;
-}
-vector<double> CrossTalk::GetQtotNeut(){
-  return m_QtotNeut;
-}
diff --git a/NPLib/Neutron/NPCrossTalk.h b/NPLib/Neutron/NPCrossTalk.h
old mode 100644
new mode 100755
index d79164694b7841463c348becd5c7cd7ad7fca2af..60b9253ed9671bb3b95e0bdfebe1f0e6c6acadd2
--- a/NPLib/Neutron/NPCrossTalk.h
+++ b/NPLib/Neutron/NPCrossTalk.h
@@ -37,9 +37,10 @@ namespace NPL{
 
     public:
 
-      void AddHitVector(const std::vector<double>& X, const std::vector<double>& Y,const std::vector<double>& Z, const std::vector<double>& Q, const std::vector<double>& dX, const std::vector<double>& dY, const std::vector<double>& dZ, const std::vector<double>& T);
+      void AddHitVector(const std::vector<double>& X, const std::vector<double>& Y,const std::vector<double>& Z, const std::vector<double>& Q, const std::vector<double>& dX, const std::vector<double>& dY, const std::vector<double>& dZ, const std::vector<double>& T, const std::vector<int>& ID);
 
       std::vector<int> ComputeCrossTalk(const double& Causality, const double& DistMin, const int& Option, TCutG*TCut1, TCutG* TCut2 );
+      std::vector<int> ComputeCrossTalk_Kondo(const double& Causality, const double& DistMin, const int& Option, TCutG*TCut1, TCutG* TCut2 );
       std::vector<int> GetSortedHits();
       std::vector<TGraph> GetClusters();
       TGraph2DErrors *Get3DClusters();
@@ -57,6 +58,7 @@ namespace NPL{
       const std::vector<double>* HitdZ;
       const std::vector<double>* HitT;
       const std::vector<double>* HitQ;
+      const std::vector<int>* HitID;
       
       std::vector<int> m_SortedID;
       std::map<unsigned int, std::vector<unsigned int>> mapOfClust;
diff --git a/NPLib/Physics/CMakeLists.txt b/NPLib/Physics/CMakeLists.txt
index ea903e3e326d08baed8dbc56d61dafe0e6ff42b4..d7063c226604c5e3a52035dd0bff7ac7ba179bbb 100644
--- a/NPLib/Physics/CMakeLists.txt
+++ b/NPLib/Physics/CMakeLists.txt
@@ -28,7 +28,8 @@ add_custom_command(OUTPUT TFissionConditionsDict.cxx COMMAND ${CMAKE_BINARY_DIR}
 
 add_custom_command(OUTPUT NPTimeStampDict.cxx COMMAND ${CMAKE_BINARY_DIR}/scripts/build_dict.sh NPTimeStamp.h NPTimeStampDict.cxx NPTimeStamp.rootmap libNPPhysics.so NPTimeStampLinkDef.h DEPENDS NPTimeStamp.h NPTimeStampLinkDef.h) 
 
-add_library(NPPhysics SHARED GEF.cxx NPInelasticBreakup.cxx NPInelasticBreakupDict.cxx NPFissionDecay.cxx NPDecay.cxx NPBeam.cxx NPEnergyLoss.cxx NPFunction.cxx NPParticle.cxx NPReaction.cxx NPTimeStamp.cxx NPPhaseSpace.cxx NPQFS.cxx NPParticleDict.cxx NPReactionDict.cxx NPTimeStampDict.cxx NPPhaseSpaceDict.cxx NPQFSDict.cxx NPEnergyLossDict.cxx )
+add_library(NPPhysics SHARED GEF.cxx NPInelasticBreakup.cxx NPInelasticBreakupDict.cxx NPFissionDecay.cxx NPDecay.cxx NPBeam.cxx NPEnergyLoss.cxx NPFunction.cxx NPParticle.cxx NPReaction.cxx NPTimeStamp.cxx NPPhaseSpace.cxx NPQFS.cxx NPParticleDict.cxx NPReactionDict.cxx NPTimeStampDict.cxx NPPhaseSpaceDict.cxx NPQFSDict.cxx NPEnergyLossDict.cxx NPBreitWigner.cxx)
+
 target_link_libraries(NPPhysics ${ROOT_LIBRARIES} Physics NPCore) 
 
 add_library(NPInitialConditions  SHARED  TInitialConditions.cxx TInitialConditionsDict.cxx )
@@ -44,7 +45,9 @@ add_library(NPReactionConditions SHARED TReactionConditions.cxx TReactionConditi
 target_link_libraries(NPReactionConditions ${ROOT_LIBRARIES} ) 
 
 add_library(NPFissionConditions SHARED TFissionConditions.cxx TFissionConditionsDict.cxx)
-target_link_libraries(NPFissionConditions ${ROOT_LIBRARIES} ) 
+target_link_libraries(NPFissionConditions ${ROOT_LIBRARIES} )
+
+install(FILES GEF.h NPInelasticBreakup.h NPFissionDecay.h NPDecay.h NPBeam.h NPEnergyLoss.h NPFunction.h NPParticle.h NPNucleus.h NPReaction.h NPPhaseSpace.h NPQFS.h NPTimeStamp.h TInitialConditions.h TTrackInfo.h TInteractionCoordinates.h TReactionConditions.h TFissionConditions.h NPBreitWigner.h DESTINATION ${CMAKE_INCLUDE_OUTPUT_DIRECTORY})
 
+install(FILES GEF.h NPInelasticBreakup.h NPFissionDecay.h NPDecay.h NPBeam.h NPEnergyLoss.h NPFunction.h NPParticle.h NPNucleus.h NPReaction.h NPPhaseSpace.h NPQFS.h NPTimeStamp.h TInitialConditions.h TTrackInfo.h TInteractionCoordinates.h TReactionConditions.h TFissionConditions.h NPBreitWigner.h DESTINATION ${CMAKE_INCLUDE_OUTPUT_DIRECTORY})
 
-install(FILES GEF.h NPInelasticBreakup.h NPFissionDecay.h NPDecay.h NPBeam.h NPEnergyLoss.h NPFunction.h NPParticle.h NPNucleus.h NPReaction.h NPPhaseSpace.h NPQFS.h NPTimeStamp.h TInitialConditions.h TTrackInfo.h TInteractionCoordinates.h TReactionConditions.h TFissionConditions.h DESTINATION ${CMAKE_INCLUDE_OUTPUT_DIRECTORY})
diff --git a/NPLib/Physics/NPBeam.cxx b/NPLib/Physics/NPBeam.cxx
index ff5f5d840cc2b1b1870fd63bf717d5ccf57ca3e2..0de5b6fbd3dc2e57bd7b95b98ebb963eb883089b 100644
--- a/NPLib/Physics/NPBeam.cxx
+++ b/NPLib/Physics/NPBeam.cxx
@@ -244,7 +244,6 @@ void Beam::GenerateRandomEvent(double& E, double& X, double& Y, double& Z, doubl
 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
 void Beam::Print() const {
 
-
 }
 
 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
diff --git a/NPLib/Physics/NPBreitWigner.cxx b/NPLib/Physics/NPBreitWigner.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..53d280cfa72e57cb8dd45eaddd0483c08090c927
--- /dev/null
+++ b/NPLib/Physics/NPBreitWigner.cxx
@@ -0,0 +1,269 @@
+#if __cplusplus > 201703L
+/*****************************************************************************
+ * Copyright (C) 2009-2016   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 :  Audrey ANNE contact address: anne@lpccaen.in2p3.fr     *
+ *                                                                           *
+ * Creation Date   : February 2024                                           *
+ *---------------------------------------------------------------------------*
+ * Decription:                                                               *
+ *                                                                           *
+ *                                                                           *
+ *                                                                           *
+ *                                                                           *
+ *---------------------------------------------------------------------------*
+ * Comment:                                                                  *
+ *                                                                           *
+ *                                                                           *
+ *****************************************************************************/
+
+// STL
+#include <iostream>
+#include <fstream>
+#include <cstdlib>
+#include <sstream>
+#include <cmath>
+#include <vector>
+
+// NPL header
+#include "NPBreitWigner.h"
+#include "NPFunction.h"
+#include "NPOptionManager.h"
+
+// ROOT Header
+#include "TDirectory.h"
+#include "TCanvas.h"
+
+// Use CLHEP System of unit and Physical Constant
+#include "NPGlobalSystemOfUnits.h"
+#include "NPPhysicalConstants.h"
+
+#ifdef NP_SYSTEM_OF_UNITS_H
+using namespace NPUNITS;
+#endif
+
+#include "TAxis.h"
+
+using namespace NPL;
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 
+BreitWigner::BreitWigner():hc(hbarc/fermi), uma(amu_c2){
+  
+  fR0 = 1.4; // Value in Breit Wigner models
+  fNeutron = Particle("n");
+
+  fShiftZero = 0;
+  fWidthCst = 0;
+
+  // Breit Wigner parameters
+  fX0 = 1.0;
+  fW0 = 1.0;
+  fell = 0;
+  fA = 1;
+  fn = 1;
+  fparam0 = 1.0;
+  
+  // Calculated values
+  fmu = 1.0;
+  fR = 1.0;
+  frho_0 = 1.0;
+  fP0 = 1.0;
+  fSF0 = 1.0;
+  
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+BreitWigner::~BreitWigner(){
+}
+
+
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void BreitWigner::ReadConfigurationFile(string Path){
+  NPL::InputParser parser(Path);
+  ReadConfigurationFile(parser);
+}
+
+void BreitWigner::ReadConfigurationFile(NPL::InputParser parser){
+  vector<NPL::InputBlock*> blocks = parser.GetAllBlocksWithToken("BreitWigner");
+  if(blocks.size()>0 && NPOptionManager::getInstance()->GetVerboseLevel())
+    cout << endl << "\033[1;35m//// Breit Wigner energy distribution " << endl; 
+
+  vector<string> token   = {"Energy0","Width0", "l", "Heavy","Light", "NeutronNumber","MultiplicateurAmplitude", "ShiftZero", "WidthCst"};
+  for(unsigned int i = 0 ; i < blocks.size() ; i++){
+    if(blocks[i]->HasTokenList(token)){
+ 
+      fX0 = blocks[i]->GetDouble("Energy0","MeV");
+      fW0 = blocks[i]->GetDouble("Width0","MeV");
+      if(fW0<=0) fW0 = 1e-4 ;
+      fell = blocks[i]->GetInt("l");
+      fHeavy = Particle(blocks[i]->GetString("Heavy"));
+      fLight =  Particle(blocks[i]->GetString("Light"));
+      fn = blocks[i]->GetInt("NeutronNumber");
+      fparam0 =  blocks[i]->GetDouble("MultiplicateurAmplitude","MeV");
+      fShiftZero =  blocks[i]->GetInt("ShiftZero");
+      fWidthCst =  blocks[i]->GetInt("WidthCst");
+
+    }
+
+    else{
+      cout << "ERROR: check your input file formatting in Breit Wigner block(s) " << endl; 
+      exit(1);
+    }
+
+    fA = fLight.GetA();
+    fmu = (uma*fA*fn)/(fA+fn);
+    fR = fR0*(TMath::Power(fA,(1.0/3.0)) + TMath::Power(fn,(1.0/3.0)));
+    frho_0 = Calculate_Rho_Var(fX0);
+    fP0 = Penetration_Factor(frho_0);
+    fSF0 = Shift_Factor(frho_0);
+
+    fQ = fLight.Mass() + fn*fNeutron.Mass() - fHeavy.Mass();
+    cout << "Q de reaction = " << fQ << endl;
+
+    
+  }//end reading token in input file
+}//end ReadConfigurationFile 
+
+
+double BreitWigner::Eval(const double & x_) const {
+  
+  if(x_<0) return 0.;
+  
+  double rho_x, W, dX;
+  rho_x = Calculate_Rho_Var(x_);
+  W = Width(rho_x);
+  dX = Shift(rho_x);
+
+  return fparam0*(W*fW0/4.0)/(TMath::Power(fX0+dX-x_,2.0) + TMath::Power(W/2.0, 2.0));
+}
+
+double BreitWigner::Eval_For_TF1(const double * x_, const double * /* params_ */) const
+{
+    return this->Eval(*x_);  
+}
+
+
+TF1 * BreitWigner::Make_TF1() const
+{
+  return new TF1("BW_TF1", this,&BreitWigner::Eval_For_TF1, 0.0, 10.0, 0);
+}
+
+TH1D * BreitWigner::Make_TH1() const
+{
+  TF1 *func =  new TF1("BW_TF1", this, &BreitWigner::Eval_For_TF1, 0.0, 10.0, 0);
+  TH1D *Hist = dynamic_cast<TH1D*>(func->GetHistogram());
+  
+  TAxis *AxisX = Hist->GetXaxis();
+  AxisX->Set( AxisX->GetNbins(), fQ + (AxisX->GetXmin()), fQ + (AxisX->GetXmax()) );
+  
+  return Hist;
+}
+
+double BreitWigner::Calculate_Rho_Var( double E) const {
+  return sqrt(2.0*fmu*E)*fR/hc;
+}
+
+
+double BreitWigner::Width(double rho_x) const {
+  return fW0*Width_Ratio(rho_x);
+}
+
+double BreitWigner::Shift(double rho_x) const {
+  return fW0*Shift_Ratio(rho_x);
+}
+
+
+double BreitWigner::Width_Ratio(double rho_x) const {
+  
+  if(fell>=0 and !fWidthCst){
+    double fP = Penetration_Factor(rho_x);
+    return fP/fP0;
+  }
+  else return 1.0;
+}
+
+double BreitWigner::Shift_Ratio(double rho_x) const {
+  if(fell>=0 and !fShiftZero){
+    return (fSF0 - Shift_Factor(rho_x))/(2.0*fP0);
+  }
+  else return 0.0;
+}
+
+double BreitWigner::Shift_Factor(double rho) const {
+  if(rho==0) rho = 1e-36; //to avoid singularities
+  
+  double J = std::cyl_bessel_j(fell+0.5, rho);
+  double Jm = std::cyl_bessel_j(fell-0.5, rho);
+  double Y  = std::cyl_neumann(fell+0.5, rho);
+  double Ym = std::cyl_neumann(fell-0.5, rho);
+  
+  double sum2 = J*J + Y*Y ;
+   
+  return -(sum2*fell-(J*Jm+Y*Ym)*rho)/sum2;  
+}
+
+
+double BreitWigner::Penetration_Factor(double rho) const {
+  if(rho==0) rho = 1e-36; // to avoid singularities
+  
+  Double_t J = std::cyl_bessel_j(fell+0.5,rho);
+  Double_t Y = std::cyl_neumann(fell+0.5,rho);
+
+  return  (2./TMath::Pi())/(TMath::Power(J,2)+TMath::Power(Y,2)); // in principle we must differiente rho / k but  R is the same  
+}
+
+
+
+void BreitWigner::Dump() const {
+  //print
+}
+
+
+
+//--------------- /!\ For test only /!\----------------- //
+/*
+TF1 * BreitWigner::Make_TF1(const char * name_) const
+{
+  return new TF1(name_, this, &BreitWigner::Eval_For_TF1, 0.0, 10.0, 0);
+}
+*/
+
+
+void BreitWigner::Save_TF1() const {
+
+  TF1 *BWFunc =  new TF1("BWFunc", this, &BreitWigner::Eval_For_TF1, 0.0, 10.0, 0);
+  
+  TFile myfile("../../Projects/S034_audrey/output/BreitWigner/testBW.root","RECREATE");
+ 
+  BWFunc->Write();
+  myfile.Close();
+  delete BWFunc;
+}
+
+
+
+void BreitWigner::Save_Histo() const {
+
+  TF1 *fonc =  new TF1("fonc", this, &BreitWigner::Eval_For_TF1, 0.0, 10.0, 0);
+  
+  TFile myfile("../../Projects/S034_audrey/output/BreitWigner/testHist.root","RECREATE");
+  
+  TH1 *hist = fonc->GetHistogram();
+
+  TAxis *a = hist->GetXaxis();
+  a->Set( a->GetNbins(), fQ + (a->GetXmin()), fQ + (a->GetXmax()) );
+  
+  hist->Write();
+  myfile.Close();
+  delete fonc;
+}
+
+#endif
diff --git a/NPLib/Physics/NPBreitWigner.h b/NPLib/Physics/NPBreitWigner.h
new file mode 100644
index 0000000000000000000000000000000000000000..83437be8463aa54d921c8afb9c85b2337d39f3ed
--- /dev/null
+++ b/NPLib/Physics/NPBreitWigner.h
@@ -0,0 +1,125 @@
+#ifndef NPBreitWigner_h
+#define NPBreitWigner_h
+#if __cplusplus > 201703L
+/*****************************************************************************
+ * Copyright (C) 2009-2016    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 : Audrey ANNE  contact address: anne@lpccaen.in2p3.fr     *
+ *                                                                           *
+ * Creation Date   : February 2024                                           *
+ *---------------------------------------------------------------------------*
+ * Decription:                                                               *
+ *                                                                           *
+ *                                                                           *
+ *                                                                           *
+ *                                                                           *
+ *---------------------------------------------------------------------------*
+ * Comment:                                                                  *
+ *                                                                           *
+ *                                                                           *
+ *****************************************************************************/
+// C++ header
+#include <string>
+
+// ROOT header
+#include "TH1.h"
+#include "TF1.h"
+#include "TMath.h"
+#include <cmath>
+#include "TRandom.h"
+
+// NPL header
+#include "NPInputParser.h"
+#include "NPParticle.h"
+
+class TF1;
+
+using namespace std;
+
+namespace NPL{
+  
+  class BreitWigner{
+    
+  public:  // Constructors and Destructors
+    BreitWigner();
+    ~BreitWigner();
+ 
+
+  public: //Read Method
+    void ReadConfigurationFile(string Path);
+    void ReadConfigurationFile(NPL::InputParser);
+  
+
+  private:
+    //Physical Constants
+    const double hc;
+    const double uma;
+    
+    bool fShiftZero; // = 0 -> Shift ; = 1 -> no Shift 
+    bool fWidthCst; // = 0 -> constant Width ; = 1 -> Width 
+
+    double fR0;
+
+    double fX0;
+    double fW0;
+    int fell; // l
+    int fA;  // Fragment's A number
+    int fn;  // Neutrons number
+    double fparam0;
+
+    Particle fHeavy; // Heavy in BreitWigner (example : He8 -> He4 + 4n, Heavy is He8).
+    Particle fLight;  // Light in BreitWigner (example : He8 -> He4 + 4n, Light is He4).
+    Particle fNeutron;
+
+    //Calculated values
+    double frho_0;
+    double fP0;
+    double fSF0;
+    double fmu; //
+    double fR;
+
+    double fQ;
+
+ 
+  public:
+
+    void SetA(int A){fA = A;}
+    int GetA()const{return fA;}
+
+    void SetL(int l){fell = l;}
+    int GetL()const{return fell;}
+
+    double Calculate_Rho_Var(double E) const;
+    double Width(double rho_X) const;
+    double Shift(double rho_X) const;
+    double Width_Ratio(double rho_X) const;
+    double Shift_Ratio(double rho_x) const;
+    double Shift_Factor(double rho) const;
+    double Penetration_Factor(double rho) const;
+
+    
+    double Eval(const double & x_) const;
+    double Eval_For_TF1(const double * x_, const double * /* params_ */) const;
+
+    
+    TF1 * Make_TF1() const;
+    TH1D * Make_TH1() const;
+
+    //TF1 * Make_TF1(const char * name_) const;
+    
+    //only for test -> TF1 and TH1 put in .root file
+    void Save_Histo() const ;
+    void Save_TF1() const ;
+    
+    void Dump() const;
+  }; 
+}
+
+#endif //c++17
+#endif //ndef
diff --git a/NPLib/Physics/NPInelasticBreakUp.cxx b/NPLib/Physics/NPInelasticBreakUp.cxx
deleted file mode 100644
index baad4d998e7da4d03e4da542e1774809cbf2ffbe..0000000000000000000000000000000000000000
--- a/NPLib/Physics/NPInelasticBreakUp.cxx
+++ /dev/null
@@ -1,659 +0,0 @@
-/*****************************************************************************
- * Copyright (C) 2009-2016    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 : Adrien MAtta contact: matta@lpccaen.in2p3.fr            *
- *                                                                           *
- * Creation Date   : April 2024                                              *
- *---------------------------------------------------------------------------*
- * Decription:                                                               *
- *                                                                           *
- *                                                                           *
- *---------------------------------------------------------------------------*
- * Comment:                                                                  *
- *                                                                           *
- *                                                                           *
- *****************************************************************************/
-#include <cmath>
-#include <cstdlib>
-#include <fstream>
-#include <iostream>
-#include <sstream>
-#include <string>
-#include <vector>
-
-#include "NPCore.h"
-#include "NPFunction.h"
-#include "NPInelasticBreakup.h"
-#include "NPOptionManager.h"
-
-// Use CLHEP System of unit and Physical Constant
-#include "NPGlobalSystemOfUnits.h"
-#include "NPPhysicalConstants.h"
-#ifdef NP_SYSTEM_OF_UNITS_H
-using namespace NPUNITS;
-#endif
-
-// ROOT
-#include "TF1.h"
-
-ClassImp(InelasticBreakup)
-
-    //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
-    InelasticBreakup::InelasticBreakup() {
-  //------------- Default Constructor -------------
-
-  //
-  fBeamEnergy = 0;
-  fThetaCM = 0;
-  fExcitation1 = 0;
-  fExcitation3 = 0;
-  fExcitation4 = 0;
-  fQValue = 0;
-  fVerboseLevel = NPOptionManager::getInstance()->GetVerboseLevel();
-  initializePrecomputeVariable();
-
-  fCrossSectionHist = NULL;
-  fExcitationEnergyHist = NULL;
-  fDoubleDifferentialCrossSectionHist = NULL;
-
-  fshoot3 = true;
-  fshoot4 = true;
-  fUseExInGeant4 = true;
-
-  fLabCrossSection = false; // flag if the provided cross-section is in the lab or not
-}
-//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
-// This constructor aim to provide a fast way to instantiate a reaction without input file
-// The string should be of the form "A(b,c)D@E" with E the ernegy of the beam in MeV
-InelasticBreakup::InelasticBreakup(string reaction) {
-  // Instantiate the parameter to default
-  // Analyse the reaction and extract revelant information
-  string A, b, c, D, E;
-  unsigned int i = 0;
-  for (; i < reaction.length(); i++) {
-    if (reaction.compare(i, 1, "(") != 0)
-      A.push_back(reaction[i]);
-    else
-      break;
-  }
-
-  i++;
-  for (; i < reaction.length(); i++) {
-    if (reaction.compare(i, 1, ",") != 0)
-      b.push_back(reaction[i]);
-    else
-      break;
-  }
-
-  i++;
-  for (; i < reaction.length(); i++) {
-    if (reaction.compare(i, 1, ")") != 0)
-      c.push_back(reaction[i]);
-    else
-      break;
-  }
-
-  i++;
-  for (; i < reaction.length(); i++) {
-    if (reaction.compare(i, 1, "@") != 0)
-      D.push_back(reaction[i]);
-    else
-      break;
-  }
-
-  i++;
-  for (; i < reaction.length(); i++) {
-    E.push_back(reaction[i]);
-  }
-
-  fParticle1 = Beam(A);
-  fParticle2 = Particle(b);
-  fParticle3 = Particle(c);
-  fParticle4 = Particle(D);
-  fBeamEnergy = atof(E.c_str());
-  fThetaCM = 0;
-  fExcitation1 = 0;
-  fExcitation3 = 0;
-  fExcitation4 = 0;
-  fQValue = 0;
-  fVerboseLevel = NPOptionManager::getInstance()->GetVerboseLevel();
-  initializePrecomputeVariable();
-
-  // do that to avoid warning from multiple Hist with same name...  int offset = 0;
-  int offset = 0;
-  while (gDirectory->FindObjectAny(Form("EnergyHist_%i", offset)) != 0)
-    ++offset;
-
-  fCrossSectionHist = new TH1F(Form("EnergyHist_%i", offset), "InelasticBreakup_CS", 1, 0, 180);
-  fDoubleDifferentialCrossSectionHist = NULL;
-
-  fshoot3 = true;
-  fshoot4 = true;
-
-  fLabCrossSection = false;
-
-  initializePrecomputeVariable();
-}
-//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
-InelasticBreakup::~InelasticBreakup() {}
-
-//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
-bool InelasticBreakup::CheckKinematic() {
-  double theta = fThetaCM;
-  /*if (m1 > m2){
-    theta = M_PI - fThetaCM;
-    fThetaCM = M_PI - fThetaCM;
-  }*/
-  fEnergyImpulsionCM_3 = TLorentzVector(pCM_3 * sin(theta), 0, pCM_3 * cos(theta), ECM_3);
-  fEnergyImpulsionCM_4 = fTotalEnergyImpulsionCM - fEnergyImpulsionCM_3;
-
-  fEnergyImpulsionLab_3 = fEnergyImpulsionCM_3;
-  fEnergyImpulsionLab_3.Boost(0, 0, fBetaCM);
-  fEnergyImpulsionLab_4 = fEnergyImpulsionCM_4;
-  fEnergyImpulsionLab_4.Boost(0, 0, fBetaCM);
-
-  if (fabs(fTotalEnergyImpulsionLab.E() - (fEnergyImpulsionLab_3.E() + fEnergyImpulsionLab_4.E())) > 1e-6) {
-    cout << "Problem with energy conservation" << endl;
-    return false;
-  }
-  else {
-    // cout << "Kinematic OK" << endl;
-    return true;
-  }
-}
-//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
-double InelasticBreakup::ShootRandomThetaCM() {
-  double theta; // CM
-  if (fDoubleDifferentialCrossSectionHist) {
-    // Take a slice in energy
-    TAxis* Y = fDoubleDifferentialCrossSectionHist->GetYaxis();
-    int binY;
-
-    // Those test are there for the tail event of the energy distribution
-    // In case the energy is outside the range of the 2D histo we take the
-    // closest available CS
-    if (Y->FindBin(fBeamEnergy) > Y->GetLast())
-      binY = Y->GetLast() - 1;
-
-    else if (Y->FindBin(fBeamEnergy) < Y->GetFirst())
-      binY = Y->GetFirst() + 1;
-
-    else
-      binY = Y->FindBin(fBeamEnergy);
-
-    TH1D* Proj = fDoubleDifferentialCrossSectionHist->ProjectionX("proj", binY, binY);
-    SetThetaCM(theta = Proj->GetRandom() * deg);
-  }
-  else if (fLabCrossSection && fCrossSectionHist) {
-    double thetalab = -1;
-    double energylab = -1;
-    while (energylab < 0) {
-      thetalab = fCrossSectionHist->GetRandom() * deg; // shoot in lab
-      energylab = EnergyLabFromThetaLab(thetalab);     // get corresponding energy
-    }
-    theta = EnergyLabToThetaCM(energylab, thetalab); // transform to theta CM
-    SetThetaCM(theta);
-  }
-  else if (fCrossSectionHist) {
-    // When root perform a Spline interpolation to shoot random number out of
-    // the distribution, it can over shoot and output a number larger that 180
-    // this lead to an additional signal at 0-4 deg Lab, especially when using a
-    // flat distribution.
-    // This fix it.
-    theta = 181;
-    if (theta / deg > 180)
-      theta = fCrossSectionHist->GetRandom();
-    // cout << " Shooting Random ThetaCM "  << theta << endl;
-    SetThetaCM(theta * deg);
-  }
-  else {
-    NPL::SendErrorAndExit("NPL::InelasticBreakup", "No cross section provided, add relevant token to input file.");
-  }
-
-  return theta;
-}
-//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
-void InelasticBreakup::ShootRandomExcitationEnergy() {
-  if (fExcitationEnergyHist) {
-    SetExcitation4(fExcitationEnergyHist->GetRandom());
-  }
-}
-
-//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
-void InelasticBreakup::KineRelativistic(double& ThetaLab3, double& KineticEnergyLab3, double& ThetaLab4,
-                                        double& KineticEnergyLab4) {
-  // 2-body relativistic kinematics: direct + inverse
-  // EnergieLab3,4 : lab energy in MeV of the 2 ejectiles
-  // ThetaLab3,4   : angles in rad
-  // case of inverse kinematics
-
-  double theta = fThetaCM;
-  if (m1 > m2) {
-    theta = M_PI - fThetaCM;
-    // fThetaCM = M_PI - fThetaCM;
-  }
-  fEnergyImpulsionCM_3 = TLorentzVector(pCM_3 * sin(theta), 0, pCM_3 * cos(theta), ECM_3);
-  fEnergyImpulsionCM_4 = fTotalEnergyImpulsionCM - fEnergyImpulsionCM_3;
-
-  fEnergyImpulsionLab_3 = fEnergyImpulsionCM_3;
-  fEnergyImpulsionLab_3.Boost(0, 0, fBetaCM);
-  fEnergyImpulsionLab_4 = fEnergyImpulsionCM_4;
-  fEnergyImpulsionLab_4.Boost(0, 0, fBetaCM);
-
-  // Angle in the lab frame
-  ThetaLab3 = fEnergyImpulsionLab_3.Angle(fEnergyImpulsionLab_1.Vect());
-  if (ThetaLab3 < 0)
-    ThetaLab3 += M_PI;
-
-  ThetaLab4 = fEnergyImpulsionLab_4.Angle(fEnergyImpulsionLab_1.Vect());
-  if (fabs(ThetaLab3) < 1e-6)
-    ThetaLab3 = 0;
-  ThetaLab4 = fabs(ThetaLab4);
-  if (fabs(ThetaLab4) < 1e-6)
-    ThetaLab4 = 0;
-
-  // Kinetic Energy in the lab frame
-  KineticEnergyLab3 = fEnergyImpulsionLab_3.E() - m3;
-  KineticEnergyLab4 = fEnergyImpulsionLab_4.E() - m4;
-
-  // test for total energy conversion
-  if (fabs(fTotalEnergyImpulsionLab.E() - (fEnergyImpulsionLab_3.E() + fEnergyImpulsionLab_4.E())) > 1e-6)
-    cout << "Problem for energy conservation" << endl;
-}
-
-//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
-double InelasticBreakup::ReconstructRelativistic(double EnergyLab, double ThetaLab, double PhiLab) {
-  // EnergyLab in MeV
-  // ThetaLab in rad
-  double E3 = m3 + EnergyLab;
-  double p_Lab_3 = sqrt(E3 * E3 - m3 * m3);
-  fEnergyImpulsionLab_3 =
-      TLorentzVector(p_Lab_3 * sin(ThetaLab) * cos(PhiLab), p_Lab_3 * sin(PhiLab), p_Lab_3 * cos(ThetaLab), E3);
-  fEnergyImpulsionLab_4 = fTotalEnergyImpulsionLab - fEnergyImpulsionLab_3;
-
-  double Eex = fEnergyImpulsionLab_4.Mag() - fParticle4.Mass();
-
-  return Eex;
-}
-
-TLorentzVector InelasticBreakup::LorentzAfterInelasticBreakup(double EnergyLab, double ThetaLab, double PhiLab) {
-  double E3 = m3 + EnergyLab;
-  double p_Lab_3 = sqrt(E3 * E3 - m3 * m3);
-  fEnergyImpulsionLab_3 =
-      TLorentzVector(p_Lab_3 * sin(ThetaLab) * cos(PhiLab), p_Lab_3 * sin(PhiLab), p_Lab_3 * cos(ThetaLab), E3);
-  fEnergyImpulsionLab_4 = fTotalEnergyImpulsionLab - fEnergyImpulsionLab_3;
-  return fEnergyImpulsionLab_4;
-}
-
-//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
-// Return ThetaCM
-double InelasticBreakup::EnergyLabToThetaCM(double EnergyLab, double ThetaLab) {
-  double E3 = m3 + EnergyLab;
-  double p_Lab_3 = sqrt(E3 * E3 - m3 * m3);
-
-  fEnergyImpulsionLab_3 = TLorentzVector(p_Lab_3 * sin(ThetaLab), 0, p_Lab_3 * cos(ThetaLab), E3);
-  fEnergyImpulsionCM_3 = fEnergyImpulsionLab_3;
-  fEnergyImpulsionCM_3.Boost(0, 0, -fBetaCM);
-
-  double ThetaCM = M_PI - fEnergyImpulsionCM_1.Angle(fEnergyImpulsionCM_3.Vect());
-
-  return (ThetaCM);
-}
-//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
-// Return EnergyLab
-double InelasticBreakup::EnergyLabFromThetaLab(double ThetaLab) {
-  // ThetaLab in rad
-
-  // IMPORTANT NOTICE: This function is not suitable for reaction A(c,d)B
-  // where M(c) < M(d), i.e. (p,d) or (d,3He) since in this case the same
-  // angle observed in the lab corresponds to two different energies.
-  //
-  // If this situation is encountered here:
-  // 1- the final energy will be determined randomly with a 50%-50%
-  //     split for either energies.
-  // 2- Any angle outside of the allowed range (in this case) will return -1.
-  // 3- The user lab distribution will be used between angles {0,max} and the
-  //    spatial distribution of the high energy and low energy branch
-  //    will be the same.
-  // 4- Practically, in an experiment using a downstream spectrometer
-  //    only one of the energy branches is considered.
-  //
-  // !! If both of the branches are needed the user SHOULD use the center-of-mass distribution.
-
-  //
-  // This calculation uses the formalism from J.B Marion and F.C Young
-  // (Book: Nucler InelasticBreakup Analysis, Graphs and Tables)
-
-  // Treat Exeptions
-  if (fBeamEnergy == 0)
-    return m4 * fQValue / (m3 + m4);
-
-  double A, B, C, D, ThetaLabMax = 181 * deg;
-  double Q = fQValue;
-  double T1 = fBeamEnergy;
-  double TT = fBeamEnergy + Q;
-  double sign = +1;
-
-  A = m1 * m4 * (T1 / TT) / (m1 + m2) / (m3 + m4);
-  B = m1 * m3 * (T1 / TT) / (m1 + m2) / (m3 + m4);
-  C = m2 * m3 * (1 + (m1 * Q) / (m2 * TT)) / (m1 + m2) / (m3 + m4);
-  D = m2 * m4 * (1 + (m1 * Q) / (m2 * TT)) / (m1 + m2) / (m3 + m4);
-
-  if (fabs(A + B + C + D - 1) > 1e-6 or fabs(A * C - B * D) > 1e-6) {
-    cout << " InelasticBreakup balance is wrong in NPInelasticBreakup object." << endl;
-    exit(-1);
-  }
-
-  if (B > D) {
-    ThetaLabMax = asin(sqrt(D / B));
-    if (gRandom->Rndm() < 0.5)
-      sign = -1;
-  }
-  if (ThetaLab > ThetaLabMax)
-    return -1;
-
-  double cosine = cos(ThetaLab);
-  double sine2 = pow(sin(ThetaLab), 2);
-  double factor = sqrt(D / B - sine2);
-  double EnergyLab = TT * B * pow(cosine + sign * factor, 2);
-
-  // cout << " Angle/energy: " << ThetaLab/deg << " " << EnergyLab << endl ;
-  // cin.get();
-
-  return EnergyLab;
-}
-
-//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
-void InelasticBreakup::Print() const {
-  // Print informations concerning the reaction
-
-  cout << "InelasticBreakup : " << fParticle2.GetName() << "(" << fParticle1.GetName() << "," << fParticle3.GetName()
-       << ")" << fParticle4.GetName() << "  @  " << fBeamEnergy << " MeV" << endl;
-
-  cout << "Exc Particle 1 = " << fExcitation1 << " MeV" << endl;
-  cout << "Exc Particle 3 = " << fExcitation3 << " MeV" << endl;
-  cout << "Exc Particle 4 = " << fExcitation4 << " MeV" << endl;
-  cout << "Qgg = " << fQValue << " MeV" << endl;
-}
-
-/////////////////////////////////////////////////////////////////////////////////////////////////////////
-void InelasticBreakup::ReadConfigurationFile(string Path) {
-  ifstream InelasticBreakupFile;
-  string GlobalPath = getenv("NPTOOL");
-  string StandardPath = GlobalPath + "/Inputs/EventGenerator/" + Path;
-  InelasticBreakupFile.open(Path.c_str());
-  if (!InelasticBreakupFile.is_open()) {
-    InelasticBreakupFile.open(StandardPath.c_str());
-    if (InelasticBreakupFile.is_open()) {
-      Path = StandardPath;
-    }
-    else {
-      cout << "InelasticBreakup File " << Path << " not found" << endl;
-      exit(1);
-    }
-  }
-  NPL::InputParser parser(Path);
-  ReadConfigurationFile(parser);
-}
-////////////////////////////////////////////////////////////////////////////////
-Particle InelasticBreakup::GetParticle(string name, NPL::InputParser parser) {
-  vector<NPL::InputBlock*> blocks = parser.GetAllBlocksWithTokenAndValue("DefineParticle", name);
-  unsigned int size = blocks.size();
-  if (size == 0)
-    return NPL::Particle(name);
-  else if (size == 1) {
-    cout << " -- User defined nucleus " << name << " -- " << endl;
-    vector<string> token = {"SubPart", "BindingEnergy"};
-    if (blocks[0]->HasTokenList(token)) {
-      NPL::Particle N(name, blocks[0]->GetVectorString("SubPart"), blocks[0]->GetDouble("BindingEnergy", "MeV"));
-      if (blocks[0]->HasToken("ExcitationEnergy"))
-        N.SetExcitationEnergy(blocks[0]->GetDouble("ExcitationEnergy", "MeV"));
-      if (blocks[0]->HasToken("SpinParity"))
-        N.SetSpinParity(blocks[0]->GetString("SpinParity").c_str());
-      if (blocks[0]->HasToken("Spin"))
-        N.SetSpin(blocks[0]->GetDouble("Spin", ""));
-      if (blocks[0]->HasToken("Parity"))
-        N.SetParity(blocks[0]->GetString("Parity").c_str());
-      if (blocks[0]->HasToken("LifeTime"))
-        N.SetLifeTime(blocks[0]->GetDouble("LifeTime", "s"));
-
-      cout << " -- -- -- -- -- -- -- -- -- -- --" << endl;
-      return N;
-    }
-  }
-  else {
-    NPL::SendErrorAndExit("NPL::InelasticBreakup", "Too many nuclei define with the same name");
-  }
-
-  return (NPL::Particle());
-}
-
-//////////////////////////////////////////////////////////////////////////////////////////////////////////
-void InelasticBreakup::ReadConfigurationFile(NPL::InputParser parser) {
-
-  vector<NPL::InputBlock*> blocks = parser.GetAllBlocksWithToken("TwoBodyInelasticBreakup");
-  if (blocks.size() > 0 && NPOptionManager::getInstance()->GetVerboseLevel())
-    cout << endl << "\033[1;35m//// Two body reaction found " << endl;
-
-  vector<string> token1 = {"Beam", "Target", "Light", "Heavy"};
-  vector<string> token2 = {"Beam", "Target", "Particle3", "Particle4"};
-  double CSHalfOpenAngleMin = 0 * deg;
-  double CSHalfOpenAngleMax = 180 * deg;
-  for (unsigned int i = 0; i < blocks.size(); i++) {
-    if (blocks[i]->HasTokenList(token1)) {
-      int v = NPOptionManager::getInstance()->GetVerboseLevel();
-      NPOptionManager::getInstance()->SetVerboseLevel(0);
-      fParticle1.ReadConfigurationFile(parser);
-      NPOptionManager::getInstance()->SetVerboseLevel(v);
-
-      fBeamEnergy = fParticle1.GetEnergy();
-      fParticle2 = GetParticle(blocks[i]->GetString("Target"), parser);
-      fParticle3 = GetParticle(blocks[i]->GetString("Light"), parser);
-      fParticle4 = GetParticle(blocks[i]->GetString("Heavy"), parser);
-    }
-    else if (blocks[i]->HasTokenList(token2)) {
-      fParticle1.SetVerboseLevel(0);
-      fParticle1.ReadConfigurationFile(parser);
-      fBeamEnergy = fParticle1.GetEnergy();
-
-      fParticle2 = GetParticle(blocks[i]->GetString("Target"), parser);
-      fParticle3 = GetParticle(blocks[i]->GetString("Particle3"), parser);
-      fParticle4 = GetParticle(blocks[i]->GetString("Particle4"), parser);
-    }
-    else {
-      cout << "ERROR: check your input file formatting \033[0m" << endl;
-      exit(1);
-    }
-
-    if (blocks[i]->HasToken("ExcitationEnergyBeam")) {
-      fExcitation1 = blocks[i]->GetDouble("ExcitationEnergyBeam", "MeV");
-    }
-    else if (blocks[i]->HasToken("ExcitationEnergy1")) {
-      fExcitation1 = blocks[i]->GetDouble("ExcitationEnergy1", "MeV");
-    }
-
-    if (blocks[i]->HasToken("ExcitationEnergyLight"))
-      fExcitation3 = blocks[i]->GetDouble("ExcitationEnergyLight", "MeV");
-    else if (blocks[i]->HasToken("ExcitationEnergy3"))
-      fExcitation3 = blocks[i]->GetDouble("ExcitationEnergy3", "MeV");
-
-    if (blocks[i]->HasToken("ExcitationEnergyHeavy"))
-      fExcitation4 = blocks[i]->GetDouble("ExcitationEnergyHeavy", "MeV");
-    else if (blocks[i]->HasToken("ExcitationEnergy4"))
-      fExcitation4 = blocks[i]->GetDouble("ExcitationEnergy4", "MeV");
-
-    if (blocks[i]->HasToken("ExcitationEnergyDistribution")) {
-      vector<string> file = blocks[i]->GetVectorString("ExcitationEnergyDistribution");
-      fExcitationEnergyHist = Read1DProfile(file[0], file[1]);
-      fExcitation4 = 0;
-    }
-
-    if (blocks[i]->HasToken("CrossSectionPath")) {
-      vector<string> file = blocks[i]->GetVectorString("CrossSectionPath");
-      TH1F* CStemp = Read1DProfile(file[0], file[1]);
-
-      // multiply CStemp by sin(theta)
-      TF1* fsin = new TF1("sin", Form("1/(sin(x*%f/180.))", M_PI), 0, 180);
-      CStemp->Divide(fsin, 1);
-      SetCrossSectionHist(CStemp);
-      delete fsin;
-    }
-
-    if (blocks[i]->HasToken("LabCrossSectionPath")) {
-      fLabCrossSection = true;
-
-      vector<string> file = blocks[i]->GetVectorString("LabCrossSectionPath");
-      TH1F* CStemp = Read1DProfile(file[0], file[1]);
-
-      // multiply CStemp by sin(theta)
-      TF1* fsin = new TF1("sin", Form("1/(sin(x*%f/180.))", M_PI), 0, 180);
-      CStemp->Divide(fsin, 1);
-      SetCrossSectionHist(CStemp);
-      delete fsin;
-    }
-
-    if (blocks[i]->HasToken("DoubleDifferentialCrossSectionPath")) {
-      vector<string> file = blocks[i]->GetVectorString("DoubleDifferentialCrossSectionPath");
-      TH2F* CStemp = Read2DProfile(file[0], file[1]);
-
-      // multiply CStemp by sin(theta)
-      // X axis is theta CM
-      // Y axis is beam energy
-      // Division affect only X axis
-      TF1* fsin = new TF1("sin", Form("1/(sin(x*%f/180.))", M_PI), 0, 180);
-      CStemp->Divide(fsin, 1);
-
-      SetDoubleDifferentialCrossSectionHist(CStemp);
-      delete fsin;
-    }
-
-    if (blocks[i]->HasToken("HalfOpenAngleMin")) {
-      CSHalfOpenAngleMin = blocks[i]->GetDouble("HalfOpenAngleMin", "deg");
-    }
-    if (blocks[i]->HasToken("HalfOpenAngleMax")) {
-      CSHalfOpenAngleMax = blocks[i]->GetDouble("HalfOpenAngleMax", "deg");
-    }
-    if (blocks[i]->HasToken("Shoot3")) {
-      fshoot3 = blocks[i]->GetInt("Shoot3");
-    }
-    if (blocks[i]->HasToken("Shoot4")) {
-      fshoot4 = blocks[i]->GetInt("Shoot4");
-    }
-    if (blocks[i]->HasToken("ShootHeavy")) {
-      fshoot4 = blocks[i]->GetInt("ShootHeavy");
-    }
-    if (blocks[i]->HasToken("ShootLight")) {
-      fshoot3 = blocks[i]->GetInt("ShootLight");
-    }
-    if (blocks[i]->HasToken("UseExInGeant4")) {
-      // This option will not change the Ex of the produced ion in G4 Tracking
-      // This is to be set to true when using a Ex distribution without decay
-      // Otherwise the Ion Table size grew four ech event slowing down the
-      // simulation
-      fUseExInGeant4 = blocks[i]->GetInt("UseExInGeant4");
-    }
-  }
-  SetCSAngle(CSHalfOpenAngleMin / deg, CSHalfOpenAngleMax / deg);
-  initializePrecomputeVariable();
-  cout << "\033[0m";
-}
-
-////////////////////////////////////////////////////////////////////////////////////////////
-void InelasticBreakup::initializePrecomputeVariable() {
-
-  if (fBeamEnergy < 0)
-    fBeamEnergy = 0;
-
-  if (fExcitation1 >= 0)
-    fParticle1.SetExcitationEnergy(fExcitation1); // Write over the beam excitation energy
-
-  // fParticle1.GetExcitationEnergy() is a copy of fExcitation1
-  m1 = fParticle1.Mass() + fParticle1.GetExcitationEnergy(); // in case of isomeric state,
-  m2 = fParticle2.Mass();                                    // Target
-  m3 = fParticle3.Mass() + fExcitation3;
-  m4 = fParticle4.Mass() + fExcitation4;
-  fQValue = m1 + m2 - m3 - m4;
-
-  s = m1 * m1 + m2 * m2 + 2 * m2 * (fBeamEnergy + m1);
-  fTotalEnergyImpulsionCM = TLorentzVector(0, 0, 0, sqrt(s));
-  fEcm = sqrt(s) - m1 - m2;
-
-  ECM_1 = (s + m1 * m1 - m2 * m2) / (2 * sqrt(s));
-  ECM_2 = (s + m2 * m2 - m1 * m1) / (2 * sqrt(s));
-  ECM_3 = (s + m3 * m3 - m4 * m4) / (2 * sqrt(s));
-  ECM_4 = (s + m4 * m4 - m3 * m3) / (2 * sqrt(s));
-
-  pCM_1 = sqrt(ECM_1 * ECM_1 - m1 * m1);
-  pCM_2 = sqrt(ECM_2 * ECM_2 - m2 * m2);
-  pCM_3 = sqrt(ECM_3 * ECM_3 - m3 * m3);
-  pCM_4 = sqrt(ECM_4 * ECM_4 - m4 * m4);
-
-  fImpulsionLab_1 = TVector3(0, 0, sqrt(fBeamEnergy * fBeamEnergy + 2 * fBeamEnergy * m1));
-  fImpulsionLab_2 = TVector3(0, 0, 0);
-
-  fEnergyImpulsionLab_1 = TLorentzVector(fImpulsionLab_1, m1 + fBeamEnergy);
-  fEnergyImpulsionLab_2 = TLorentzVector(fImpulsionLab_2, m2);
-
-  fTotalEnergyImpulsionLab = fEnergyImpulsionLab_1 + fEnergyImpulsionLab_2;
-
-  fBetaCM = fTotalEnergyImpulsionLab.Beta();
-
-  fEnergyImpulsionCM_1 = fEnergyImpulsionLab_1;
-  fEnergyImpulsionCM_1.Boost(0, 0, -fBetaCM);
-
-  fEnergyImpulsionCM_2 = fEnergyImpulsionLab_2;
-  fEnergyImpulsionCM_2.Boost(0, 0, -fBetaCM);
-}
-
-////////////////////////////////////////////////////////////////////////////////////////////
-void InelasticBreakup::SetParticle3(double EnergyLab, double ThetaLab) {
-  double p3 = sqrt(pow(EnergyLab, 2) + 2 * m3 * EnergyLab);
-
-  fEnergyImpulsionLab_3 = TLorentzVector(p3 * sin(ThetaLab), 0, p3 * cos(ThetaLab), EnergyLab + m3);
-  fEnergyImpulsionLab_4 = fTotalEnergyImpulsionLab - fEnergyImpulsionLab_3;
-
-  fParticle3.SetEnergyImpulsion(fEnergyImpulsionLab_3);
-  fParticle4.SetEnergyImpulsion(fEnergyImpulsionLab_4);
-
-  fThetaCM = EnergyLabToThetaCM(EnergyLab, ThetaLab);
-  fExcitation4 = ReconstructRelativistic(EnergyLab, ThetaLab);
-}
-
-////////////////////////////////////////////////////////////////////////////////////////////
-Double_t InelasticBreakup::GetTotalCrossSection() const {
-  Double_t stot = fCrossSectionHist->Integral("width"); // take bin width into account (in deg!)
-  stot *= M_PI / 180;                                   // correct so that bin width is in rad
-  stot *= 2 * M_PI;                                     // integration over phi
-
-  return stot;
-}
-
-////////////////////////////////////////////////////////////////////////////////////////////
-void InelasticBreakup::SetCSAngle(double CSHalfOpenAngleMin, double CSHalfOpenAngleMax) {
-  if (fCrossSectionHist) {
-    for (int i = 0; i < fCrossSectionHist->GetNbinsX(); i++) {
-      if (fCrossSectionHist->GetBinCenter(i) > CSHalfOpenAngleMax ||
-          fCrossSectionHist->GetBinCenter(i) < CSHalfOpenAngleMin) {
-        fCrossSectionHist->SetBinContent(i, 0);
-      }
-    }
-  }
-}
-
-///////////////////////////////////////////////////////////////////////////////
-// Check whenever the reaction is allowed at the given energy
-bool InelasticBreakup::IsAllowed(double Energy) {
-  double AvailableEnergy = Energy + fParticle1.Mass() + fParticle2.Mass();
-  double RequiredEnergy = fParticle3.Mass() + fParticle4.Mass();
-
-  if (AvailableEnergy > RequiredEnergy)
-    return true;
-  else
-    return false;
-}
diff --git a/NPLib/Physics/NPInelasticBreakUp.h b/NPLib/Physics/NPInelasticBreakUp.h
deleted file mode 100644
index 1a3dd89014ec1af30f75948cb3d4c93d80759fd5..0000000000000000000000000000000000000000
--- a/NPLib/Physics/NPInelasticBreakUp.h
+++ /dev/null
@@ -1,265 +0,0 @@
-#ifndef NPInelasticBreakUp_h
-#define NPInelasticBreakUp_h
-/*****************************************************************************
- * Copyright (C) 2009-2016    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 : Adrien MAtta contact: matta@lpccaen.in2p3.fr            *
- *                                                                           *
- * Creation Date   : April 2024                                              *
- *---------------------------------------------------------------------------*
- * Decription:                                                               *
- *                                                                           *
- *                                                                           *
- *---------------------------------------------------------------------------*
- * Comment:                                                                  *
- *                                                                           *
- *                                                                           *
- *****************************************************************************/
-// C++ header
-#include <string>
-
-// NPL
-#include "NPBeam.h"
-#include "NPInputParser.h"
-#include "NPParticle.h"
-using namespace NPL;
-
-// ROOT header
-#include "NPReaction.h"
-#include "TCanvas.h"
-#include "TGraph.h"
-#include "TH1F.h"
-#include "TLorentzRotation.h"
-#include "TLorentzVector.h"
-#include "TRandom.h"
-#include "TVector3.h"
-
-using namespace std;
-
-namespace NPL {
-
-  class InelasticBreakup {
-
-   public: // Constructors and Destructors
-    InelasticBreakup();
-    ~InelasticBreakup();
-
-   public: // Various Method
-    Particle GetParticle(string name, NPL::InputParser parser);
-    void ReadConfigurationFile(string Path);
-    void ReadConfigurationFile(NPL::InputParser);
-
-   private:
-    TRandom* RandGen;
-
-   private:
-    int fVerboseLevel;
-
-   private: // use for Monte Carlo simulation
-    bool fshoot3;
-    bool fshoot4;
-    bool fshoot5;
-    bool fUseExInGeant4;
-    bool fLabCrossSection;
-
-   private:
-    Beam fParticle1;                           // Beam
-    Particle fParticle2;                       // Target
-    Particle fParticle3;                       // Light ejectile
-    Particle fParticle4;                       // Heavy ejectile
-    double fQValue;                            // Q-value in MeV
-    double fEcm;                               // Ecm in MeV
-    double fBeamEnergy;                        // Beam energy in MeV
-    double fThetaCM;                           // Center-of-mass angle in radian
-    double fExcitation1;                       // Excitation energy in MeV of the beam, useful for isomers
-    double fExcitation3;                       // Excitation energy in MeV
-    double fExcitation4;                       // Excitation energy in MeV
-    TH1F* fCrossSectionHist;                   // Differential cross section in CM frame
-    TH2F* fDoubleDifferentialCrossSectionHist; // Diff. CS CM frame vs Beam E
-    TH1F* fExcitationEnergyHist;               // Distribution of Excitation energy
-   public:
-    // Getters and Setters
-    void SetBeamEnergy(const double& eBeam) {
-      fBeamEnergy = eBeam;
-      initializePrecomputeVariable();
-    }
-    void SetEcm(const double& Ecm) {
-      fEcm = Ecm;
-      s = pow(Ecm + m1 + m2, 2);
-      fBeamEnergy = (s - m1 * m1 - m2 * m2) / (2 * m2) - m1;
-      initializePrecomputeVariable();
-    }
-    void SetThetaCM(const double& angle) {
-      fThetaCM = angle;
-      initializePrecomputeVariable();
-    }
-    void SetExcitation1(const double& exci) {
-      fExcitation1 = exci;
-      initializePrecomputeVariable();
-    }
-    void SetExcitation3(const double& exci) {
-      fExcitation3 = exci;
-      initializePrecomputeVariable();
-    }
-    void SetExcitation4(const double& exci) {
-      fExcitation4 = exci;
-      initializePrecomputeVariable();
-    }
-    // For retro compatibility
-    void SetExcitationBeam(const double& exci) {
-      fExcitation1 = exci;
-      initializePrecomputeVariable();
-    }
-    void SetExcitationLight(const double& exci) {
-      fExcitation3 = exci;
-      initializePrecomputeVariable();
-    }
-    void SetExcitationHeavy(const double& exci) {
-      fExcitation4 = exci;
-      initializePrecomputeVariable();
-    }
-    void SetVerboseLevel(const int& verbose) { fVerboseLevel = verbose; }
-    void SetCrossSectionHist(TH1F* CrossSectionHist) {
-      delete fCrossSectionHist;
-      fCrossSectionHist = CrossSectionHist;
-    }
-
-    void SetDoubleDifferentialCrossSectionHist(TH2F* CrossSectionHist) {
-      fDoubleDifferentialCrossSectionHist = CrossSectionHist;
-    }
-    double GetBeamEnergy() const { return fBeamEnergy; }
-    double GetThetaCM() const { return fThetaCM; }
-    double GetExcitation1() const { return fExcitation1; }
-    double GetExcitation3() const { return fExcitation3; }
-    double GetExcitation4() const { return fExcitation4; }
-    double GetQValue() const { return fQValue; }
-    double GetEcm() const { return fEcm; }
-    Particle* GetParticle1() { return &fParticle1; }
-    Particle* GetParticle2() { return &fParticle2; }
-    Particle* GetParticle3() { return &fParticle3; }
-    Particle* GetParticle4() { return &fParticle4; }
-    Particle* GetNucleus1() { return GetParticle1(); }
-    Particle* GetNucleus2() { return GetParticle2(); }
-    Particle* GetNucleus3() { return GetParticle3(); }
-    Particle* GetNucleus4() { return GetParticle4(); }
-
-    TH1F* GetCrossSectionHist() const { return fCrossSectionHist; }
-    int GetVerboseLevel() const { return fVerboseLevel; }
-    bool GetShoot3() const { return fshoot3; }
-    bool GetShoot4() const { return fshoot4; }
-    bool GetUseExInGeant4() const { return fUseExInGeant4; }
-
-   public:
-    // Modify the CS histo so cross section shoot is within ]HalfOpenAngleMin,HalfOpenAngleMax[
-    void SetCSAngle(double CSHalfOpenAngleMin, double CSHalfOpenAngleMax);
-
-   private: // intern precompute variable
-    void initializePrecomputeVariable();
-    double m1;
-    double m2;
-    double m3;
-    double m4;
-    double m5;
-
-    // Lorents Vector
-    TLorentzVector fEnergyImpulsionLab_1;
-    TLorentzVector fEnergyImpulsionLab_2;
-    TLorentzVector fEnergyImpulsionLab_3;
-    TLorentzVector fEnergyImpulsionLab_4;
-    TLorentzVector fTotalEnergyImpulsionLab;
-
-    TLorentzVector fEnergyImpulsionCM_1;
-    TLorentzVector fEnergyImpulsionCM_2;
-    TLorentzVector fEnergyImpulsionCM_3;
-    TLorentzVector fEnergyImpulsionCM_4;
-    TLorentzVector fTotalEnergyImpulsionCM;
-
-    // Impulsion Vector3
-    TVector3 fImpulsionLab_1;
-    TVector3 fImpulsionLab_2;
-    TVector3 fImpulsionLab_3;
-    TVector3 fImpulsionLab_4;
-
-    TVector3 fImpulsionCM_1;
-    TVector3 fImpulsionCM_2;
-    TVector3 fImpulsionCM_3;
-    TVector3 fImpulsionCM_4;
-
-    // CM Energy composante & CM impulsion norme
-    Double_t ECM_1;
-    Double_t ECM_2;
-    Double_t ECM_3;
-    Double_t ECM_4;
-    Double_t pCM_1;
-    Double_t pCM_2;
-    Double_t pCM_3;
-    Double_t pCM_4;
-
-    // Mandelstam variable
-    Double_t s;
-
-    // Center of Mass Kinematic
-    Double_t fBetaCM;
-
-   public:
-    TLorentzVector GetEnergyImpulsionLab_1() const { return fEnergyImpulsionLab_1; }
-    TLorentzVector GetEnergyImpulsionLab_2() const { return fEnergyImpulsionLab_2; }
-    TLorentzVector GetEnergyImpulsionLab_3() const { return fEnergyImpulsionLab_3; }
-    TLorentzVector GetEnergyImpulsionLab_4() const { return fEnergyImpulsionLab_4; }
-
-   public: // Kinematics
-    // Check that the reaction is alowed
-    bool CheckKinematic();
-    bool IsLabCrossSection() { return fLabCrossSection; };
-
-    // Use fCrossSectionHist to shoot a Random ThetaCM and set fThetaCM to this value
-    double ShootRandomThetaCM();
-
-    // Use fExcitationEnergyHist to shoot a Random Excitation energy and set fExcitation4 to this value
-    void ShootRandomExcitationEnergy();
-
-    // Compute ThetaLab and EnergyLab for product of reaction
-    void KineRelativistic(double& ThetaLab3, double& KineticEnergyLab3, double& ThetaLab4, double& KineticEnergyLab4);
-
-    // Return Excitation Energy
-    double ReconstructRelativistic(double EnergyLab, double ThetaLab, double PhiLab = 0);
-
-    // Return Lorentz Vector of Heavy Recoil after reaction
-    TLorentzVector LorentzAfterInelasticBreakup(double EnergyLab, double ThetaLab, double PhiLab = 0);
-
-    // Return ThetaCM
-    // EnergyLab: energy measured in the laboratory frame
-    // ExcitationEnergy: excitation energy previously calculated.
-    double EnergyLabToThetaCM(double EnergyLab, double ThetaLab);
-    // Return theoretical EnergyLab, useful for a random distribution in the lab frame
-    // ThetaLab: angle measured in the laboratory frame
-    // This uses the fExcitation4 and fQValue both set previously
-    double EnergyLabFromThetaLab(double ThetaLab);
-
-    // Check whenever the reaction is allowed at the given energy
-    bool IsAllowed(double Energy);
-
-    void SetParticle3(double EnergyLab, double ThetaLab);
-
-    double GetP_CM_1() { return pCM_1; }
-    double GetP_CM_2() { return pCM_2; }
-    double GetP_CM_3() { return pCM_3; }
-    double GetP_CM_4() { return pCM_4; }
-    double GetE_CM_1() { return ECM_1; }
-    double GetE_CM_2() { return ECM_2; }
-    double GetE_CM_3() { return ECM_3; }
-    double GetE_CM_4() { return ECM_4; }
-
-    // Print private paremeter
-    void Print() const;
-
-    ClassDef(InelasticBreakup, 0)
-  };
-} // namespace NPL
-#endif
diff --git a/NPLib/Physics/NPQFS.cxx b/NPLib/Physics/NPQFS.cxx
index 17710ab3d2cdf51d5d2e96e7c5ed66809324a08a..06295d4f90c677f4e15683a89f9b53dea6e69f36 100644
--- a/NPLib/Physics/NPQFS.cxx
+++ b/NPLib/Physics/NPQFS.cxx
@@ -58,13 +58,14 @@ using namespace NPUNITS;
 
 // ROOT
 #include"TF1.h"
+#include "TMath.h"
 
 ClassImp(QFS)
 
 ////////////////////////////////////////////////////////////////////////////////
 
 QFS::QFS(){
-
+  
     //------------- Default Constructor -------------
     fVerboseLevel         = NPOptionManager::getInstance()->GetVerboseLevel();
     fBeamEnergy           = 0;
@@ -92,12 +93,14 @@ QFS::QFS(){
     fPerpMomentumHist = NULL;
     fParMomentumHist = NULL;
     fDeexcitation = false;
+
 }
 
 ////////////////////////////////////////////////////////////////////////////////
 
 QFS::~QFS(){
 
+
 }
 
 /////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -121,7 +124,7 @@ void QFS::ReadConfigurationFile(string Path){
 ////////////////////////////////////////////////////////////////////////////////
 
 void QFS::ReadConfigurationFile(NPL::InputParser parser){
-
+  
   cout << " In QFS ReadConfiguration " << endl;
   vector<NPL::InputBlock*> blocks = parser.GetAllBlocksWithToken("QFSReaction");
   if(blocks.size()>0 && NPOptionManager::getInstance()->GetVerboseLevel())
diff --git a/NPLib/Physics/NPQFS.h b/NPLib/Physics/NPQFS.h
index 5637d14714c4d1af87b228a9d25093b750d96ebe..089b4b4e3fc551450b8e851815c3136597598e1d 100644
--- a/NPLib/Physics/NPQFS.h
+++ b/NPLib/Physics/NPQFS.h
@@ -45,6 +45,8 @@
 #include "NPParticle.h"
 #include "NPBeam.h"
 #include "NPInputParser.h"
+
+
 using namespace NPL;
 
 // ROOT header
@@ -62,10 +64,11 @@ namespace NPL{
   class QFS{
 
     public:  // Constructors and Destructors
-      QFS();
+    QFS();
       ~QFS();
 
     private:
+    
     int fVerboseLevel;
     Beam     fParticleA;                 // Beam (A)
     Particle  fParticleT;                 // Target (T)
diff --git a/NPLib/Physics/NPReaction.cxx b/NPLib/Physics/NPReaction.cxx
index 70f0206a18977458ea78d3ab9b19720b27a215f4..f2e70c3ce38ca13e1965958aa1b15449a1f9c26e 100644
--- a/NPLib/Physics/NPReaction.cxx
+++ b/NPLib/Physics/NPReaction.cxx
@@ -245,12 +245,6 @@ double Reaction::ShootRandomThetaCM() {
 
   return theta;
 }
-//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
-void Reaction::ShootRandomExcitationEnergy() {
-  if (fExcitationEnergyHist) {
-    SetExcitation4(fExcitationEnergyHist->GetRandom());
-  }
-}
 
 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
 void Reaction::KineRelativistic(double& ThetaLab3, double& KineticEnergyLab3, double& ThetaLab4,
@@ -473,6 +467,7 @@ void Reaction::ReadConfigurationFile(NPL::InputParser parser) {
   double CSHalfOpenAngleMin = 0 * deg;
   double CSHalfOpenAngleMax = 180 * deg;
   for (unsigned int i = 0; i < blocks.size(); i++) {
+    
     if (blocks[i]->HasTokenList(token1)) {
       int v = NPOptionManager::getInstance()->GetVerboseLevel();
       NPOptionManager::getInstance()->SetVerboseLevel(0);
@@ -483,7 +478,8 @@ void Reaction::ReadConfigurationFile(NPL::InputParser parser) {
       fParticle2 = GetParticle(blocks[i]->GetString("Target"), parser);
       fParticle3 = GetParticle(blocks[i]->GetString("Light"), parser);
       fParticle4 = GetParticle(blocks[i]->GetString("Heavy"), parser);
-    }
+    }// if token1
+    
     else if (blocks[i]->HasTokenList(token2)) {
       fParticle1.SetVerboseLevel(0);
       fParticle1.ReadConfigurationFile(parser);
@@ -492,7 +488,8 @@ void Reaction::ReadConfigurationFile(NPL::InputParser parser) {
       fParticle2 = GetParticle(blocks[i]->GetString("Target"), parser);
       fParticle3 = GetParticle(blocks[i]->GetString("Particle3"), parser);
       fParticle4 = GetParticle(blocks[i]->GetString("Particle4"), parser);
-    }
+    }//if token2
+    
     else {
       cout << "ERROR: check your input file formatting \033[0m" << endl;
       exit(1);
@@ -585,12 +582,38 @@ void Reaction::ReadConfigurationFile(NPL::InputParser parser) {
       // simulation
       fUseExInGeant4 = blocks[i]->GetInt("UseExInGeant4");
     }
+    
+  }//end for loop TwoBodyReaction
+  
+  
+  vector<NPL::InputBlock*> blocksBW = parser.GetAllBlocksWithToken("BreitWigner");
+  if (blocksBW.size() > 0 && NPOptionManager::getInstance()->GetVerboseLevel()) {
+    
+   #if __cplusplus > 201703L 
+    fBreitWigner.ReadConfigurationFile(parser);
+    fExcitationEnergyHist = fBreitWigner.Make_TH1();
+    fExcitation4 = 0;
+    #else
+    cout << "You need at least C++17 to use the BreitWigner distribution" << endl;
+    #endif
   }
+  
+  
   SetCSAngle(CSHalfOpenAngleMin / deg, CSHalfOpenAngleMax / deg);
   initializePrecomputeVariable();
   cout << "\033[0m";
+  
+}//end ReadConfigurationFile
+
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+void Reaction::ShootRandomExcitationEnergy() {
+  if (fExcitationEnergyHist) {
+    SetExcitation4(fExcitationEnergyHist->GetRandom());
+  }
 }
 
+
 ////////////////////////////////////////////////////////////////////////////////////////////
 void Reaction::initializePrecomputeVariable() {
 
diff --git a/NPLib/Physics/NPReaction.h b/NPLib/Physics/NPReaction.h
index fa43b2c6a3046a13d08c9d3554deaa5953965ce3..f216fd81abbf8d0bb549e8bff93cd7b58bbf61cd 100644
--- a/NPLib/Physics/NPReaction.h
+++ b/NPLib/Physics/NPReaction.h
@@ -36,6 +36,10 @@
 #include "NPInputParser.h"
 #include "NPParticle.h"
 
+#if __cplusplus > 201703L
+#include "NPBreitWigner.h"
+#endif
+
 using namespace NPL;
 
 // ROOT header
@@ -99,7 +103,13 @@ namespace NPL {
     double fExcitation4;                       // Excitation energy in MeV
     TH1D* fCrossSectionHist;                   // Differential cross section in CM frame
     TH2F* fDoubleDifferentialCrossSectionHist; // Diff. CS CM frame vs Beam E
+
     TH1D* fExcitationEnergyHist;               // Distribution of Excitation energy
+
+    #if __cplusplus > 201703L
+    BreitWigner fBreitWigner;                  // Breit Wigner energy distribution
+    #endif
+
    public:
     // Getters and Setters
     void SetBeamEnergy(const double& eBeam) {
diff --git a/NPLib/Physics/TReactionConditions.cxx b/NPLib/Physics/TReactionConditions.cxx
index f4882241d3a74dc507eeebbe8ba27d3594ff1905..c47c51d3c0de1651de0444cc7b1b7edae9a71a24 100644
--- a/NPLib/Physics/TReactionConditions.cxx
+++ b/NPLib/Physics/TReactionConditions.cxx
@@ -87,7 +87,7 @@ void TReactionConditions::Dump() const{
     << fRC_Internal_Momentum.X() << " ; "
     << fRC_Internal_Momentum.Y() << " ; "
     << fRC_Internal_Momentum.Z() << ")" << endl;
- 
+    
     TVector3 *emitted= new TVector3(); 
     // emmitted particle
     unsigned int size = fRC_Particle_Name.size();
diff --git a/NPLib/Physics/TReactionConditions.h b/NPLib/Physics/TReactionConditions.h
index ade0078b866ab31e50e5d22d1626030c07a4bba8..9b0ead8c724347ce7355fa901516daf206da99b7 100644
--- a/NPLib/Physics/TReactionConditions.h
+++ b/NPLib/Physics/TReactionConditions.h
@@ -58,6 +58,7 @@ private:
     double fRC_Vertex_Position_X;
     double fRC_Vertex_Position_Y;
     double fRC_Vertex_Position_Z;
+
     //Center of mass angle for the reaction
     double fRC_ThetaCM;
 
@@ -100,7 +101,7 @@ public:
     void SetExcitationEnergy4  (const double& Ex) {fRC_ExcitationEnergy4=Ex;};//!
     void SetThetaCM            (const double & ThetaCM)               {fRC_ThetaCM = ThetaCM;}//!
     void SetInternalMomentum   (const TVector3& IntMom)               {fRC_Internal_Momentum = IntMom;}//!
-    
+  
     // emmitted particles
     void SetParticleName       (const string & Particle_Name)         {fRC_Particle_Name.push_back(Particle_Name);}//!
     void SetTheta              (const double & Angle)                 {fRC_Theta.push_back(Angle);}//!
@@ -135,7 +136,7 @@ public:
     double GetExcitation4         () const {return fRC_ExcitationEnergy4     ;}//!       
     double GetThetaCM             () const {return fRC_ThetaCM;}//!
     TVector3 GetInternalMomentum  () const {return fRC_Internal_Momentum;}//!
-    
+  
     // emmitted particles
     int GetParticleMultiplicity()                const {return fRC_Kinetic_Energy.size();}//!
     string GetParticleName        (const int &i) const {return fRC_Particle_Name[i];}//!
diff --git a/NPLib/TrackReconstruction/NPDCReconstructionMT.cxx b/NPLib/TrackReconstruction/NPDCReconstructionMT.cxx
index cca5634728e8015af0a8f9b6ecc6d1cf98310e10..7786a657541c14434c10ddd20dc6022e964186f9 100644
--- a/NPLib/TrackReconstruction/NPDCReconstructionMT.cxx
+++ b/NPLib/TrackReconstruction/NPDCReconstructionMT.cxx
@@ -30,6 +30,8 @@
 using namespace std;
 using namespace NPL;
 
+
+
 ////////////////////////////////////////////////////////////////////////////////
 DCReconstructionMT::DCReconstructionMT(unsigned int number_thread) {
   ROOT::EnableThreadSafety();
@@ -70,10 +72,15 @@ void DCReconstructionMT::AddPlan(unsigned int ID, const vector<double>& X, const
     }
   }
 
-  fitX[free_thread] = &X;
-  fitZ[free_thread] = &Z;
+  // fitX[free_thread] = &X;
+  // fitZ[free_thread] = &Z;
+  
+  fitX[free_thread] = &Z;
+  fitZ[free_thread] = &X;
+  
   fitR[free_thread] = &R;
   m_uid[free_thread] = ID;
+
   // assume all X,Z,R of same size
   sizeX[free_thread] = X.size();
   m_Ready[free_thread] = true;
@@ -142,6 +149,7 @@ double DCReconstructionMT::SumD(const double* parameter) {
   double P = 0;
   double a = parameter[0];
   double b = parameter[1];
+ 
   double ab = a * b;
   double a2 = a * a;
   unsigned int id = parameter[2];
@@ -158,6 +166,7 @@ double DCReconstructionMT::SumD(const double* parameter) {
     x = (a * d - ab + c) / (1 + a2);
     z = a * x + b;
     p = (x - c) * (x - c) + (z - d) * (z - d) - r * r;
+ 
     // numerical trick to have a smooth derivative instead of using abs
     P += sqrt(p * p + 0.1);
   }
@@ -214,6 +223,7 @@ void DCReconstructionMT::StartThread(unsigned int id) {
   double ai, bi;
   unsigned int uid;
   const double* xs;
+  
   // create the functor
   // each threads needs its own or the minisation is not thread safe
   ROOT::Math::Functor* func = new ROOT::Math::Functor(this, &NPL::DCReconstructionMT::SumD, 3);
@@ -233,9 +243,10 @@ void DCReconstructionMT::StartThread(unsigned int id) {
       // Define the starting point of the fit: a straight line passing through the
       // the first and last wire
       // z = ax+b -> x=(z-b)/a
-      ai = ((*fitZ[id])[sizeX[id] - 1] - (*fitZ[id])[0]) /
-           ((*fitX[id])[sizeX[id] - 1] - (*fitX[id])[0] + (*fitR[id])[sizeX[id] - 1] - (*fitR[id])[0]);
-      bi = (*fitZ[id])[0] - ai * ((*fitX[id])[0] + (*fitR[id])[0]);
+      // if(id == 0) cout << endl;
+       ai = ((*fitZ[id])[sizeX[id] - 1] - (*fitZ[id])[0]) /
+      ((*fitX[id])[sizeX[id] - 1] - (*fitX[id])[0] + (*fitR[id])[sizeX[id] - 1] - (*fitR[id])[0]);
+       bi = (*fitZ[id])[0] - ai * ((*fitX[id])[0] + (*fitR[id])[0]);
 
       if (std::isinf(ai)) { // then there is no two point in different layer
         m_a[uid] = -10000;
@@ -244,11 +255,12 @@ void DCReconstructionMT::StartThread(unsigned int id) {
         m_X100[uid] = -10000;
         m_minimum[uid] = 10000;
       }
-
+      
       else {
+ 
         mini->Clear();
         mini->SetVariable(0, "a", ai, 1);
-        mini->SetVariable(1, "b", bi, 1);
+	mini->SetVariable(1, "b", bi, 1);
         mini->SetFixedVariable(2, "id", id);
         // Perform minimisation
         mini->Minimize();
@@ -256,10 +268,15 @@ void DCReconstructionMT::StartThread(unsigned int id) {
         // access set of parameter that produce the minimum
         xs = mini->X();
         uid = m_uid[id];
-        m_a[uid] = xs[0];
-        m_b[uid] = xs[1];
+        // m_a[uid] = xs[0];
+        // m_b[uid] = xs[1];
+
+	m_a[uid] = 1.0/xs[0];
+	m_b[uid] = -(1.0/xs[0]) * xs[1];
         m_X0[uid] = -m_b[uid] / m_a[uid];
         m_X100[uid] = (100 - m_b[uid]) / m_a[uid];
+	m_a[uid] = xs[0];
+        m_b[uid] = xs[1];
         m_minimum[uid] = mini->MinValue();
       }
       // notify main thread job is done
diff --git a/NPLib/TrackReconstruction/NPDCReconstructionMT.h b/NPLib/TrackReconstruction/NPDCReconstructionMT.h
index 29af99a16a000f355c2a2a44c9bac339af3d6311..342a3ae8b029bfa63ca849ec533f0f05da948f0f 100644
--- a/NPLib/TrackReconstruction/NPDCReconstructionMT.h
+++ b/NPLib/TrackReconstruction/NPDCReconstructionMT.h
@@ -70,7 +70,7 @@ namespace NPL{
 
       // Function used by the minimizer in BuildTrack2D
       double SumD(const double* parameter );
-
+    
       // For debugging/optimisation
       // Scan Sumd versus parameter a or b (tovary =0 for a, 1 for b)
       // return a TGraph for display
diff --git a/NPLib/Utility/CMakeLists.txt b/NPLib/Utility/CMakeLists.txt
index 1c57054b063ea73dc6b1319d75a3999cf1e5fd13..5f3a62684526dc0972b60eba64445213a31c9dc6 100644
--- a/NPLib/Utility/CMakeLists.txt
+++ b/NPLib/Utility/CMakeLists.txt
@@ -8,8 +8,10 @@ add_executable(nponline nponline.cxx)
 target_link_libraries(nponline ${ROOT_LIBRARIES} NPCore NPOnline) 
 add_executable(npcalibration npcalibration.cxx)
 target_link_libraries(npcalibration ${ROOT_LIBRARIES} -lThread -lGraf -lTreePlayer -lHist -lMatrix NPCore) 
+add_executable(npefficiency npefficiency.cxx)
+target_link_libraries(npefficiency ${ROOT_LIBRARIES} -lThread -lGraf -lTreePlayer -lHist -lMatrix NPCore) 
 add_executable(npspectra_test npspectra_test.cxx)
 target_link_libraries(npspectra_test ${ROOT_LIBRARIES} NPCore NPOnline) 
 
-install(PROGRAMS nptool-installer npanalysis nponline npreader npcalibration DESTINATION ${CMAKE_BINARY_OUTPUT_DIRECTORY})
+install(PROGRAMS nptool-installer npanalysis nponline npreader npcalibration npefficiency DESTINATION ${CMAKE_BINARY_OUTPUT_DIRECTORY})
 install(SCRIPT ${CMAKE_BINARY_DIR}/scripts/post_install.cmake ${DETLIST})
diff --git a/NPLib/Utility/npefficiency b/NPLib/Utility/npefficiency
new file mode 100755
index 0000000000000000000000000000000000000000..bdc88b3b038fcba07c6a74b6913940cce4af603f
Binary files /dev/null and b/NPLib/Utility/npefficiency differ
diff --git a/NPLib/Utility/npefficiency.cxx b/NPLib/Utility/npefficiency.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..fc9fe5c96b8c3ee6e8fceee9eab7c8d21bcecd89
--- /dev/null
+++ b/NPLib/Utility/npefficiency.cxx
@@ -0,0 +1,185 @@
+// NPL
+#include"NPDetectorManager.h"
+#include"NPOptionManager.h"
+#include"NPVAnalysis.h"
+#include"NPAnalysisFactory.h"
+#include"RootInput.h"
+#include"RootHistogramsCalib.h"
+
+// STL
+#include<iostream>
+#include<stdio.h>
+#include<dlfcn.h>
+#include<stdlib.h>
+#include<unistd.h>
+#include<sys/time.h>
+
+// Root
+#include"TTreeReader.h"
+#include"TKey.h"
+#include"TEnv.h" 
+#include"TROOT.h"
+void ProgressDisplay(clock_t&,clock_t&,unsigned long&, unsigned long&, unsigned long&, double&, unsigned long&, int&, int&);
+void ProgressDisplay(struct timeval& begin, struct timeval& end, unsigned long& treated,unsigned long& inter,unsigned long& total,double& mean_rate,unsigned long& displayed, int& current_tree, int& total_tree);
+////////////////////////////////////////////////////////////////////////////////
+int main(int argc , char** argv){
+  // command line parsing
+  NPOptionManager* myOptionManager = NPOptionManager::getInstance(argc,argv);
+  std::string efficiencyfileName    = myOptionManager->GetEfficiencyFile();
+  std::string OutputfileName      = myOptionManager->GetOutputFile();
+  
+  myOptionManager->SetReader(true);
+  myOptionManager->SetIsEfficiency(true);
+  std::string inputfilename = myOptionManager->GetRunToReadFile();
+
+  if (myOptionManager->IsDefault("Efficiency")) {
+    std::cout << "Please use a valid Efficiency File" << std::endl;
+    return 0;
+  }
+
+  // get input files from NPOptionManager
+
+
+  // Instantiate the detector using a file
+  NPL::DetectorManager* myDetector = new NPL::DetectorManager();
+  RootHistogramsCalib::getInstance(OutputfileName);
+  
+  myDetector->ReadConfigurationFile(myOptionManager->GetDetectorFile());
+  myDetector->ReadEfficiencyFile(efficiencyfileName);
+  myDetector->InitializeRootInput();
+  TTreeReader* inputTreeReader = RootInput::getInstance()->GetTreeReader();
+  myDetector->SetTreeReader(inputTreeReader);
+  
+  
+  std::cout << std::endl << "///////// Starting Efficiency ///////// "<< std::endl;
+  TChain* Chain = RootInput:: getInstance()->GetChain();
+  myOptionManager->GetNumberOfEntryToAnalyse();
+
+	unsigned long first_entry = myOptionManager->GetFirstEntryToAnalyse(); // defaults to zero
+  unsigned long nentries = Chain->GetEntries();
+  if(nentries> myOptionManager->GetNumberOfEntryToAnalyse() && myOptionManager->GetNumberOfEntryToAnalyse()>0)
+    nentries = myOptionManager->GetNumberOfEntryToAnalyse() ;
+	if(nentries + first_entry > Chain->GetEntries()) {nentries = first_entry+Chain->GetEntries();}
+	
+
+  TString ChainName = Chain->GetName();
+  std::cout << " Number of Event to be treated : " << nentries << " on chain " << ChainName << std::endl;
+
+  unsigned long inter = 0;
+  unsigned long treated = 0;
+  double mean_rate =0;
+  unsigned long displayed=0;
+  clock_t end;
+  clock_t begin = clock();
+  struct timeval tv_end;
+  struct timeval tv_begin; gettimeofday(&tv_begin,NULL);
+  unsigned long new_nentries = 0 ;
+  int current_tree = 0 ;
+  int total_tree = Chain->GetNtrees();
+  int entry_max = NPOptionManager::getInstance()->GetNumberOfEntryToAnalyse();
+
+  myDetector->InitializeRootHistogramsEfficiency(); 
+  while(inputTreeReader->Next()){
+  myDetector->FillHistogramsEfficiency();
+    current_tree = Chain->GetTreeNumber()+1;
+    ProgressDisplay(tv_begin,tv_end,treated,inter,nentries,mean_rate,displayed,current_tree,total_tree);
+    if(entry_max >= 0 && treated> entry_max)
+      break;
+  }
+  myDetector->Efficiency();
+  myDetector->WriteHistogramsEfficiency();
+
+#if __cplusplus > 199711L && NPMULTITHREADING
+  myDetector->StopThread();
+#endif
+
+  current_tree = Chain->GetTreeNumber()+1;
+  //ProgressDisplay(begin,end,treated,inter,nentries,mean_rate,displayed,current_tree,total_tree);
+
+  ProgressDisplay(tv_begin,tv_end,treated,inter,nentries,mean_rate,displayed,current_tree,total_tree);
+
+  RootInput::Destroy();
+  RootOutput::Destroy();
+  RootHistogramsCalib::Destroy();
+  return 0;
+}
+////////////////////////////////////////////////////////////////////////////////
+void ProgressDisplay(struct timeval& begin, struct timeval& end, unsigned long& treated,unsigned long& inter,unsigned long& total,double& mean_rate,unsigned long& displayed, int& current_tree, int& total_tree){
+  gettimeofday(&end,NULL);
+  long double elapsed= end.tv_sec-begin.tv_sec+(end.tv_usec-begin.tv_usec)*1e-6;
+  if(elapsed>1||treated>=total ){
+    displayed++;
+    double event_rate = inter/elapsed;
+    mean_rate += (event_rate-mean_rate)/(displayed);
+    double percent = 100*treated/total;
+    double remain = (total-treated)/mean_rate;
+
+    char* timer;
+    double check;
+    int minutes = remain/60.;
+    int seconds = remain -60*minutes;
+    if(remain>60)
+      check=asprintf(&timer,"%dmin%ds",minutes,seconds);
+    else
+      check=asprintf(&timer,"%ds",(int)(remain));
+    
+    static char star[10];
+    if(displayed%2==0 || treated==total)
+      sprintf(star,"*******");
+    else
+      sprintf(star,"-------");
+
+    if(treated!=total)
+      printf("\r \033[1;31m %s Progress: \033[1;36m%.1f%% \033[1;31m| Rate: %.1fk evt/s | Remain: %s | Tree: %d/%d %s   \033[0m         ", star,percent,mean_rate/1000.,timer, current_tree,total_tree,star);
+
+    else{
+      printf("\r \033[1;32m %s Progress: %.1f%% | Rate: %.1fk evt/s | Remain: %s | Tree: %d/%d %s   \033[0m         ", star,percent,mean_rate/1000.,timer, current_tree, total_tree,star);
+    }
+    fflush(stdout);
+    inter=0;
+    gettimeofday(&begin,NULL);
+  }
+
+  treated++;
+  inter++;
+}
+////////////////////////////////////////////////////////////////////////////////
+void ProgressDisplay(clock_t& begin, clock_t& end, unsigned long& treated,unsigned long& inter,unsigned long& total,double& mean_rate,unsigned long& displayed, int& current_tree, int& total_tree){
+  end = clock();
+  if((end-begin)>CLOCKS_PER_SEC||treated>=total ){
+    displayed++;
+    long double elapsed =(long double) (end-begin)/CLOCKS_PER_SEC;
+    double event_rate = inter/elapsed;
+    mean_rate += (event_rate-mean_rate)/(displayed);
+    double percent = 100*treated/total;
+    double remain = (total-treated)/mean_rate;
+
+    char* timer;
+    double check;
+    int minutes = remain/60.;
+    int seconds = remain -60*minutes;
+    if(remain>60)
+      check=asprintf(&timer,"%dmin%ds",minutes,seconds);
+    else
+      check=asprintf(&timer,"%ds",(int)(remain));
+    
+    static char star[10];
+    if(displayed%2==0 || treated==total)
+      sprintf(star,"*******");
+    else
+      sprintf(star,"-------");
+
+    if(treated!=total)
+      printf("\r \033[1;31m %s Progress: \033[1;36m%.1f%% \033[1;31m| Rate: %.1fk evt/s | Remain: %s | Tree: %d/%d %s   \033[0m         ", star,percent,mean_rate/1000.,timer, current_tree,total_tree,star);
+
+    else{
+      printf("\r \033[1;32m %s Progress: %.1f%% | Rate: %.1fk evt/s | Remain: %s | Tree: %d/%d %s   \033[0m         ", star,percent,mean_rate/1000.,timer, current_tree, total_tree,star);
+    }
+    fflush(stdout);
+    inter=0;
+    begin = clock() ;
+  }
+
+  treated++;
+  inter++;
+}
diff --git a/NPSimulation/Core/MaterialManager.cc b/NPSimulation/Core/MaterialManager.cc
index 14f7be2d8c66e9a6af8bf053075d526da8c3f27e..4aaef449e499a4ad9d35fac89d7fa65ed8948d61 100644
--- a/NPSimulation/Core/MaterialManager.cc
+++ b/NPSimulation/Core/MaterialManager.cc
@@ -165,7 +165,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name, double density)
     else if (Name == "Mylar") {
       if (!density)
         density = 1.397 * g / cm3;
-      G4Material* material = new G4Material("NPS_" + Name, density, 3);
+      G4Material* material = new G4Material("NPS_" + Name, density, 3);    
       material->AddElement(GetElementFromLibrary("H"), 8);
       material->AddElement(GetElementFromLibrary("C"), 10);
       material->AddElement(GetElementFromLibrary("O"), 4);
@@ -1285,7 +1285,7 @@ G4Material* MaterialManager::GetGasFromLibrary(string Name, double Pressure, dou
   string newName = oss.str();
   map<string, G4Material*>::iterator it;
   it = m_Material.find(Name);
-
+ 
   double density = 0;
 
   G4double Vm = 0.08206 * Temperature * atmosphere / (Pressure * kelvin);
@@ -1378,6 +1378,18 @@ G4Material* MaterialManager::GetGasFromLibrary(string Name, double Pressure, dou
       return material;
     }
 
+    if (Name == "CH4_60_He_40") // Gas mix of CH4 60% and He 40% at 20C° and 1 atm
+      {
+	density = ((0.6 * (12.0107 + 4 * 1.00794) + (0.4 * 1.00794))/Vm ) *mg/cm3;
+	G4Material* material = new G4Material("NPS_" + newName, density, 2, kStateGas, Temperature, Pressure);
+	
+	material->AddMaterial(GetGasFromLibrary("CH4", Pressure, Temperature), 0.6);
+	material->AddMaterial(GetGasFromLibrary("He", Pressure, Temperature), 0.4);
+	m_Material[newName] = material;
+	return material;
+      }
+
+
     else {
       exit(1);
     }
diff --git a/NPSimulation/Core/Particle.cc b/NPSimulation/Core/Particle.cc
index 1915b4f32336d908986f398f3debbc5056260875..f14ceca58ad4605a6c5d130ca4052fdaf8d4d720 100644
--- a/NPSimulation/Core/Particle.cc
+++ b/NPSimulation/Core/Particle.cc
@@ -44,6 +44,17 @@ Particle::Particle(G4ParticleDefinition* particle,double ThetaCM,double T,G4Thre
   m_Position = Position;
   m_ShootStatus = ShootStatus;
 }
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+Particle::Particle(G4ParticleDefinition* particle,double ThetaCM,double T,G4ThreeVector Direction, G4ThreeVector Position,double Delay,bool ShootStatus){
+  m_ParticleDefinition = particle;
+  m_ThetaCM = ThetaCM;
+  m_T = T;
+  m_Direction = Direction;
+  m_Position = Position;
+  m_TimeDelay = Delay;
+  m_ShootStatus = ShootStatus;
+}
+
 
 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
 G4ParticleDefinition* Particle::GetParticleDefinition(){
@@ -60,6 +71,11 @@ double Particle::GetParticleKineticEnergy(){
   return m_T;
 }
 
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+double Particle::GetParticleTimeDelay(){
+  return m_TimeDelay;
+}
+
 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
 G4ThreeVector Particle::GetParticleMomentumDirection(){
   return m_Direction;
@@ -90,6 +106,11 @@ void Particle::SetParticleKineticEnergy(double T){
   m_T = T ;
 }
 
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+void Particle::SetParticleTimeDelay(double delay){
+  m_TimeDelay = delay ;
+}
+
 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
 void Particle::SetParticleMomentumDirection(G4ThreeVector Direction){
   m_Direction = Direction;
diff --git a/NPSimulation/Core/Particle.hh b/NPSimulation/Core/Particle.hh
index f7e46bbc2bc2369bcaa246bfbf5ed939f853ab43..ac01bfe0dd4e6dd85301a749abf30e39d564fb6c 100644
--- a/NPSimulation/Core/Particle.hh
+++ b/NPSimulation/Core/Particle.hh
@@ -37,6 +37,8 @@ namespace NPS{
       ~Particle();
       //  Constructor to be used
       Particle(G4ParticleDefinition* particle,double ThetaCM,double T,G4ThreeVector Direction, G4ThreeVector Position,bool ShootStatus=true);
+      //  Constructor to be used for EventGeneratorAlphaDecay
+      Particle(G4ParticleDefinition* particle,double ThetaCM,double T,G4ThreeVector Direction, G4ThreeVector Position,double Delay,bool ShootStatus=true);
 
     private: // Private Member
       G4ParticleDefinition* m_ParticleDefinition;
@@ -44,6 +46,7 @@ namespace NPS{
       double m_T ;
       G4ThreeVector m_Direction;
       G4ThreeVector m_Position;
+      double m_TimeDelay;
       bool m_ShootStatus;
 
     public: // Setter and Getter
@@ -51,6 +54,7 @@ namespace NPS{
       G4ParticleDefinition*   GetParticleDefinition();
       double                  GetParticleThetaCM();
       double                  GetParticleKineticEnergy();
+      double                  GetParticleTimeDelay();
       G4ThreeVector           GetParticleMomentumDirection();
       G4ThreeVector           GetParticlePosition();
       bool                    GetShootStatus();
@@ -58,6 +62,7 @@ namespace NPS{
       void SetParticleDefinition(G4ParticleDefinition*);
       void SetParticleThetaCM(double);
       void SetParticleKineticEnergy(double);
+      void SetParticleTimeDelay(double);
       void SetParticlePosition(G4ThreeVector);
       void SetParticleMomentumDirection(G4ThreeVector);
       void SetShootStatus(bool);
diff --git a/NPSimulation/Core/ParticleStack.cc b/NPSimulation/Core/ParticleStack.cc
index d71dc8767705f86b1a87dd5666ede2287623b858..50ae210bddc9c25fe515c9288edfead9091a26ff 100644
--- a/NPSimulation/Core/ParticleStack.cc
+++ b/NPSimulation/Core/ParticleStack.cc
@@ -113,7 +113,7 @@ void ParticleStack::AddBeamParticleToStack(NPS::Particle& particle){
     m_InitialConditions-> SetIncidentParticleName   (particle.GetParticleDefinition()->GetParticleName());
     //m_InitialConditions-> SetIncidentInitialKineticEnergy  (particle. GetParticleThetaCM());
     m_InitialConditions-> SetIncidentInitialKineticEnergy  (particle. GetParticleKineticEnergy());
-    
+
     G4ThreeVector U(1,0,0);
     G4ThreeVector V(0,1,0);
     
@@ -273,6 +273,7 @@ void ParticleStack::ShootAllParticle(G4Event* anEvent){
       m_particleGun->SetParticleEnergy(m_ParticleStack[i].GetParticleKineticEnergy());
       m_particleGun->SetParticleMomentumDirection(m_ParticleStack[i].GetParticleMomentumDirection());
       m_particleGun->SetParticlePosition(m_ParticleStack[i].GetParticlePosition());
+      if(m_ParticleStack[i].GetParticleTimeDelay()) m_particleGun->SetParticleTime(m_ParticleStack[i].GetParticleTimeDelay());
       m_particleGun->GeneratePrimaryVertex(anEvent);
       //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
       m_InitialConditions-> SetParticleName       ( m_ParticleStack[i].GetParticleDefinition()->GetParticleName()) ;
diff --git a/NPSimulation/Core/PrimaryGeneratorAction.cc b/NPSimulation/Core/PrimaryGeneratorAction.cc
index c061ec19943462ef39d7df6ff7f6b0df0d180045..e8f9fee632c59d403231171bdf0dd73ac0711e9b 100644
--- a/NPSimulation/Core/PrimaryGeneratorAction.cc
+++ b/NPSimulation/Core/PrimaryGeneratorAction.cc
@@ -42,6 +42,7 @@
 // Event Generator Class
 #include "EventGeneratorIsotropic.hh"
 #include "EventGeneratorGEFReader.hh"
+#include "EventGeneratorAlphaDecay.hh"
 #include "EventGeneratorCosmic.hh" 
 #include "EventGeneratorMultipleParticle.hh"
 #include "EventGeneratorBeam.hh"
@@ -99,6 +100,14 @@ void PrimaryGeneratorAction::ReadEventGeneratorFile(string Path){
         m_EventGenerator.push_back(myEventGenerator);
     }
     blocks.clear();
+    blocks = parser.GetAllBlocksWithToken("AlphaDecay");
+    if (blocks.size()>0) {
+        NPS::VEventGenerator* myEventGenerator = new EventGeneratorAlphaDecay();
+        myEventGenerator->ReadConfiguration(parser);
+        myEventGenerator->InitializeRootOutput();
+        m_EventGenerator.push_back(myEventGenerator);
+    }
+    blocks.clear();
     blocks = parser.GetAllBlocksWithToken("MultipleParticle");
     if (blocks.size()>0) {
         NPS::VEventGenerator* myEventGenerator = new EventGeneratorMultipleParticle();
diff --git a/NPSimulation/Detectors/Epic/Epic.cc b/NPSimulation/Detectors/Epic/Epic.cc
index 6501596fcc62ae09110cf211d2326d06816f5088..32f903c86743526b3ab302a42d538c39f6f37d19 100644
--- a/NPSimulation/Detectors/Epic/Epic.cc
+++ b/NPSimulation/Detectors/Epic/Epic.cc
@@ -360,6 +360,8 @@ G4AssemblyVolume* Epic::BuildEpic(){
   double posZ_first_cathode = posZ_anode - 0.5*thickness_A*mm - m_Distance_AK*mm - 0.5*m_Thickness_K*mm;
 
   // build the stack of cathodes / actinide samples / anodes to do build sensitive gas
+  //double step_length_limit = m_Distance_AK*mm / 100.;
+  //G4UserLimits * user_limits = new G4UserLimits(step_length_limit*mm, 33.*mm, 1.*us, 0, 0);
   G4UserLimits * user_limits = new G4UserLimits(25.*um, 33.*mm, 1.*us, 0, 0);
   for(int i=0; i<m_nA; i++){
 
@@ -535,60 +537,132 @@ void Epic::ReadSensitive(const G4Event* ){
   // GaseousDetector scorer
   GaseousDetectorScorers::PS_GaseousDetector* Scorer= (GaseousDetectorScorers::PS_GaseousDetector*) m_EpicScorer->GetPrimitive(0);
 
+  int previous_trackID = -1;
   unsigned int size = Scorer->GetMult();
   for(unsigned int i = 0 ; i < size ; i++){
     vector<unsigned int> level = Scorer->GetLevel(i); 
+    //double Time = RandGauss::shoot(Scorer->GetTime(i),Epic_NS::ResoTime);
     //double Energy = RandGauss::shoot(Scorer->GetEnergy(i),Epic_NS::ResoEnergy);
-    double Energy = Scorer->GetEnergy(i);  // Attention Energy of all particles (FF, alpha, e-, ...) 
+    //double Energy = Scorer->GetEnergy(i);  // Attention Energy of all particles (FF, alpha, e-, ...) 
     vector<string> step_name = Scorer->GetParticleName(i);
-    vector<int>    step_parentid = Scorer->GetParentID(i);
-    vector<int>    step_trackid = Scorer->GetTrackID(i);
+    vector<int>    step_trackID = Scorer->GetTrackID(i);
     vector<double> step_posZ = Scorer->GetStepPosZ(i);
     vector<double> step_DE = Scorer->GetEnergyLossPerStep(i);
     vector<double> step_time = Scorer->GetStepTime(i);
 
-    double influence = 0 ;
-    if(Energy>Epic_NS::EnergyThreshold){
-      double Time = RandGauss::shoot(Scorer->GetTime(i),Epic_NS::ResoTime);
-      int Anode = level[0];
-
-      double thickness_A = 2*Epic_NS::Cu_Thickness*mm + Epic_NS::Kapton_Thickness*mm;
-      double posZ_anode = (1-m_nA)*(m_Distance_AK*mm + m_Thickness_K*mm) - std::trunc(0.5*m_nA)*(m_InterDistance_KK*mm + thickness_A); 
-      posZ_anode += m_mapping_A[Anode] * (2. * (m_Distance_AK*mm + m_Thickness_K*mm) + m_InterDistance_KK*mm + thickness_A) ;
-      vector<string> name;
-      vector<int>    parentid;
-      vector<int>    trackid;
-      vector<double> z;
-      vector<double> de;
-      vector<double> dt;
-
-      for(int j=0; j<step_name.size(); j++){
-        //cout << "step #" << j << " , particle name = " << step_name.at(j) << " , z = " << step_posZ.at(j) << " , dE = " << step_DE.at(j) << " , t = " << step_time.at(j) << endl;
-    	  if(step_name.at(j)=="e-" || step_name.at(j)=="anti_nu_e") {
-	        continue;
-        }
-        else{ // FF or alpha
-          //cout << "[FF or alpha]step #" << j << " , particle name = " << step_name.at(j) << " , z = " << step_posZ.at(j) << " , dE = " << step_DE.at(j) << " , t = " << step_time.at(j) << endl;
-          influence += step_DE.at(j) * TMath::Abs(step_posZ.at(j) - posZ_anode);
-          name.push_back(step_name.at(j));
-          parentid.push_back(step_parentid.at(j));
-          trackid.push_back(step_trackid.at(j));
-          z.push_back(step_posZ.at(j));
-          de.push_back(step_DE.at(j));
-          dt.push_back(step_time.at(j) - Scorer->GetTime(i)); // dt = time from the first step in SensitiveVolume
+    int Anode = level[0];
+    double thickness_A = 2*Epic_NS::Cu_Thickness*mm + Epic_NS::Kapton_Thickness*mm;
+    double posZ_anode = (1-m_nA)*(m_Distance_AK*mm + m_Thickness_K*mm) - std::trunc(0.5*m_nA)*(m_InterDistance_KK*mm + thickness_A); 
+    posZ_anode += m_mapping_A[Anode] * (2. * (m_Distance_AK*mm + m_Thickness_K*mm) + m_InterDistance_KK*mm + thickness_A) ;
+      
+    // === Epic Data
+    int    trackID = -1;
+    string name_pertrackID = "";
+    double influence_pertrackID = 0;
+    double time_pertrackID = -1;
+    vector<double> dz;
+    vector<double> de;
+    vector<double> dt;
+    bool   end_of_new_trackID = false ;
+    for(int j=0; j<step_name.size(); j++){
+       
+      if(step_trackID.at(j) != previous_trackID){
+        if(previous_trackID != -1) end_of_new_trackID = true;
+        else {
+          trackID = step_trackID.at(j);
+          name_pertrackID = step_name.at(j);
+	        time_pertrackID = step_time.at(j);
 	      }
+	      previous_trackID = step_trackID.at(j) ;
       }
-      m_Event->Set(m_mapping_A[Anode],              // set anode number
-                   influence / m_Distance_AK*mm,    // set Q1 FF or alpha only 
-                   Energy,                          // set Q2
-                   Energy,                          // set Qmax
-                   Time,                            // set Time
-                   0.,                              // set TimeHF
-                   0.,                              // set ToF
-                   0,                               // status FakeFission
-                   name,parentid,trackid,z, de, dt);
-    }
-  }
+        
+      if(end_of_new_trackID == true || j==step_name.size()-1) {
+        if(name_pertrackID!="e-" && name_pertrackID!="anti_nu_e" && name_pertrackID!="gamma"){
+          int num_bins = (int)(std::ceil( (m_Distance_AK-dz.at(dz.size()-1)) / (25.*um) )) ;
+    	    vector<double> rebinned_de(num_bins, 0.0);
+    	    vector<double> rebinned_dt(num_bins, 0.0); 
+          vector<double> rebinned_mult(num_bins, 0.0);
+          vector<int>    mult_electrons_per_step(num_bins, 0.0);
+          double bin_Limits[num_bins+1];
+          for(int bin=0; bin<=num_bins; bin++) bin_Limits[bin] = m_Distance_AK*mm - bin * (25.*um);
+
+          // first G4Step is always included in the first fix_length user bin 
+          rebinned_de[0] += de[0]; 
+          rebinned_dt[0] += dt.at(0); 
+          rebinned_mult[0] += 1.;
+          
+          // loop over the G4Steps and assign the values to the fix-dz-length user bins
+          int bin_current = 0;
+          for(int step=1; step<dz.size()-1; step++){
+            double dzmax = 0.5*(dz[step-1] + dz[step]);
+            double dzmin = 0.5*(dz[step+1] + dz[step]);
+            for(int bin=bin_current; bin<num_bins; bin++){
+              bin_current = bin;
+              if(bin_Limits[bin] >= dzmax && dzmax >  bin_Limits[bin+1] && bin_Limits[bin] >  dzmin && dzmin >= bin_Limits[bin+1]){
+                rebinned_de[bin] += de[step]; 
+                rebinned_dt[bin] += dt[step]; 
+                rebinned_mult[bin] += 1.;
+                break;
+              }
+              else if(bin<num_bins-1 && bin_Limits[bin] >= dzmax && dzmax >  bin_Limits[bin+1] && bin_Limits[bin+1] > dzmin && dzmin >= bin_Limits[bin+2]){
+                double weight = (dzmax-bin_Limits[bin+1])/(dzmax-dzmin);
+                rebinned_de[bin] += weight * de[step];   rebinned_de[bin+1] += (1.-weight) * de[step]; 
+                rebinned_dt[bin] += weight * dt[step];   rebinned_dt[bin+1] += (1.-weight) * dt[step];
+                rebinned_mult[bin] += weight ;           rebinned_mult[bin+1] += 1. - weight ;      
+                break;
+              }
+	          }
+	        }
+
+          // last G4Step is always included in the last fix_length user bin
+          rebinned_de[num_bins-1] += de[dz.size()-1]; 
+          rebinned_dt[num_bins-1] += dt[dz.size()-1]; 
+          rebinned_mult[num_bins-1] += 1.;
+
+          // fill vectors to be set in TEpicData structure
+          for(int i=0; i<num_bins; i++){ 
+            if(rebinned_mult[i]>0) rebinned_dt[i] = rebinned_dt[i] / rebinned_mult[i] ;
+            mult_electrons_per_step[i] = ceil(rebinned_de[i]/45.);//// FIXME : replace 45. by the ionisation energy read in the configuration file
+          }
+          
+          m_Event->Set(trackID,
+                       name_pertrackID,
+		                   m_mapping_A[Anode],    // set anode number
+                       influence_pertrackID,  // set Q1 FF or alpha only 
+                       time_pertrackID,       // set Time
+                       mult_electrons_per_step, 
+                       rebinned_dt);
+    	    rebinned_de.clear();
+          rebinned_mult.clear();
+          mult_electrons_per_step.clear();
+          rebinned_dt.clear();
+        }// end of if !e- !anti_nu_e !gamma
+	      trackID = step_trackID.at(j);
+        name_pertrackID = step_name.at(j);
+	      influence_pertrackID = 0;
+        time_pertrackID = step_time.at(j);
+        dz.clear(); 
+        de.clear(); 
+        dt.clear(); 
+        end_of_new_trackID = false;
+      }
+      double dz_anode = TMath::Abs(step_posZ.at(j) - posZ_anode) - 0.5*thickness_A ; // need to remove half thickness of Anode
+      influence_pertrackID += (step_DE.at(j) * dz_anode) / m_Distance_AK*mm;
+      dz.push_back(dz_anode); 
+      de.push_back(step_DE.at(j)/eV);
+      dt.push_back(step_time.at(j));
+    }// end of loop over j
+  }// end of loop over i
+
+  //// FIXME : fill another event class FasterData with only the vectors sorted in time
+  //// FIXME : fill the FasterData
+  ///if(m_Event->GetMultiplicity()>0){
+  ///  // fill clean-up data to FasterData sorted by time and not by position
+  ///  vector<double> dt_allTracks;
+  ///  vector<double> dz_allTracks;
+  ///  vector<double> de_allTracks;
+  ///}
+
 }
 
 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
diff --git a/NPSimulation/Detectors/Minos/Minos.cc b/NPSimulation/Detectors/Minos/Minos.cc
index ea4ac5d1c96bd5973945fde1e96236420a995aa3..fa7a020685483da841692bed2d64fad155628835 100644
--- a/NPSimulation/Detectors/Minos/Minos.cc
+++ b/NPSimulation/Detectors/Minos/Minos.cc
@@ -107,14 +107,15 @@ Minos::Minos() {
   m_ReactionRegion = NULL;
 
   // RGB Color + Transparency
-  m_VisTarget = new G4VisAttributes(G4Colour(0.6, 1., 1., .4));
-  m_VissimpleBox = new G4VisAttributes(G4Colour(0, 1, 0, .6));
-  m_VisTPC = new G4VisAttributes(G4Colour(1., 0.5, 0.6, 0.3));
-  m_VisRohacell = new G4VisAttributes(G4Colour(1., 1., 1., .8));
-  m_VisKapton = new G4VisAttributes(G4Colour(1., 1., 0.6, 0.4));
-  m_VisTargetCell = new G4VisAttributes(G4Colour(0, 0, 1, .4));
+
+  m_VisTarget = new G4VisAttributes(G4Colour(0.6, 1., 1., 1.0));
+  m_VissimpleBox = new G4VisAttributes(G4Colour(0, 1, 0, 0.6));
+  m_VisTPC = new G4VisAttributes(G4Colour(1., 0.5, 0.6, 0.6));
+  m_VisRohacell = new G4VisAttributes(G4Colour(1., 1., 1., 0.6));
+  m_VisKapton = new G4VisAttributes(G4Colour(1., 1., 0.6, 0.6));
+  m_VisTargetCell = new G4VisAttributes(G4Colour(0, 0, 1, 0.6));
   m_VisTargetCell->SetForceSolid(true);
-  m_VisOuterKapton = new G4VisAttributes(G4Colour(1., 1., 0.6, 0.8));
+  m_VisOuterKapton = new G4VisAttributes(G4Colour(1., 1., 0.6, 0.6));
 
   Raw_Signal = new TH1F("raw_Signal", "raw_Signal", 512, 0, 512);
   Elec_Signal = new TH1F("Elec_Signal", "Elec_Signal", 512, 0, 512);
@@ -374,9 +375,10 @@ void Minos::ConstructDetector(G4LogicalVolume* world) {
     double MinosX = Det_pos.x();
     double MinosY = Det_pos.y();
     double MinosZ = Det_pos.z() + m_TargetLength[i] / 2.;
-
+    
     new G4PVPlacement(0, // its name
-                      G4ThreeVector(0, 0, +ChamberLength / 2),
+		      G4ThreeVector(MinosX, MinosY, Det_pos.z() +ChamberLength / 2),
+                      //G4ThreeVector(0, 0, +ChamberLength / 2),
                       /* G4ThreeVector(wX,wY, wZ + ChamberLength - m_TargetLength[i]-WindowThickness*2. - 5*mm ),	// Z
                          positioning putting TPC beginn and Target beginning w/ difference of 5mm */
                       BuildTPC(), // its logical volume
diff --git a/NPSimulation/Detectors/Nebula/Nebula.cc b/NPSimulation/Detectors/Nebula/Nebula.cc
index 40911278cba849c28fba93bfe112baadb8ced87e..e60d15eb0e865b7bce1ccbca8b070d80d5a04932 100644
--- a/NPSimulation/Detectors/Nebula/Nebula.cc
+++ b/NPSimulation/Detectors/Nebula/Nebula.cc
@@ -90,11 +90,10 @@ Nebula::Nebula(){
   m_Module = 0;
   m_Veto = 0;
 
-
   // RGB Color + Transparency
   m_VisModule = new G4VisAttributes(G4Colour(0.263, 0.682, 0.639, 1));   
   //m_VisModule = new G4VisAttributes(G4Colour(0.145, 0.384, 0.596, 1));   
-  m_VisVeto   = new G4VisAttributes(G4Colour(0.4, 0.4, 0.4, 0.2));   
+  m_VisVeto   = new G4VisAttributes(G4Colour(0.4, 0.4, 0.4, 0.8));   
   m_VisPMT    = new G4VisAttributes(G4Colour(0.1, 0.1, 0.1, 1));   
   m_VisFrame  = new G4VisAttributes(G4Colour(0, 0.3, 1, 0.5));   
 
@@ -170,7 +169,7 @@ void Nebula::ReadConfiguration(NPL::InputParser parser){
     }
     else if(blocks[i]->HasTokenList(xml)){
       if(NPOptionManager::getInstance()->GetVerboseLevel())
-        cout << endl << "////  Nebula XML file" << i+1 <<  endl;
+        cout << endl << "////  Nebula XML file " << i+1 <<  endl;
       std::string xml_file = blocks[i]->GetString("XML"); 
       G4ThreeVector Offset = NPS::ConvertVector(blocks[i]->GetTVector3("Offset","mm"));
       bool InvertX = blocks[i]->GetInt("InvertX"); 
@@ -321,15 +320,15 @@ void Nebula::ReadSensitive(const G4Event* ){
     Light_tmp = PlasticScorer_Module->GetLight(i);
     Energy = RandGauss::shoot(Energy_tmp, Energy_tmp*Nebula_NS::ResoEnergy);
     Light = RandGauss::shoot(Light_tmp, Light_tmp*Nebula_NS::ResoLight);
-
+    
     if(Light>Nebula_NS::LightThreshold){
       int DetectorNbr = level[0];
-      double Position = RandGauss::shoot(PlasticScorer_Module->GetPosition(i),Nebula_NS::ResoPosition);
-
+      double Position = RandGauss::shoot(PlasticScorer_Module->GetPositionY(i),Nebula_NS::ResoPosition);
+      
       m_Event->SetChargeUp(DetectorNbr,Light*exp(-(Nebula_NS::ModuleHeight/2-Position)/Nebula_NS::Attenuation));
       m_Event->SetChargeDown(DetectorNbr,Light*exp(-(Nebula_NS::ModuleHeight/2+Position)/Nebula_NS::Attenuation));
-     
-      // Take TOF and Position and compute Tup and Tdown
+      
+      // Take Time and Y Position and compute Tup and Tdown
       double Time = RandGauss::shoot(PlasticScorer_Module->GetTime(i),Nebula_NS::ResoTime);
 
       Time_up = (Nebula_NS::ModuleHeight/2-Position)/(c_light/Nebula_NS::MaterialIndex) + Time;
@@ -341,24 +340,22 @@ void Nebula::ReadSensitive(const G4Event* ){
   }
   //cout << endl;
 
-
-
   ///////////////////////////////// VETO SCORER //////////////////////////////////
-  unsigned int VetoHits_size = PlasticScorer_Veto->GetMult(); 
+  unsigned int VetoHits_size = PlasticScorer_Veto->GetMult();
   for(unsigned int i = 0 ; i < VetoHits_size ; i++){
     vector<unsigned int> level = PlasticScorer_Veto->GetLevel(i); 
     Energy_tmp = PlasticScorer_Veto->GetEnergy(i);
     Light_tmp = PlasticScorer_Veto->GetLight(i);
     Energy = RandGauss::shoot(Energy_tmp, Energy_tmp*Nebula_NS::ResoEnergy);
     Light = RandGauss::shoot(Light_tmp, Light_tmp*Nebula_NS::ResoLight);
-
+ 
     if(Light>Nebula_NS::LightThreshold){
       double Time = RandGauss::shoot(PlasticScorer_Veto->GetTime(i),Nebula_NS::ResoTime);
       //cout << "Time is " << Time << endl;
-      double Position = RandGauss::shoot(PlasticScorer_Veto->GetPosition(i),Nebula_NS::ResoPosition);
+      double Position = RandGauss::shoot(PlasticScorer_Veto->GetPositionY(i),Nebula_NS::ResoPosition);
       //cout << "Position is " << Position << endl;
       int DetectorNbr = level[0] + m_TotalModule;
-      //cout << "Veto ID: " << DetectorNbr << endl;
+      // cout << "Veto ID: " << DetectorNbr << endl;
       
       m_Event->SetChargeUp(DetectorNbr,Light*exp(-(Nebula_NS::VetoHeight/2-Position)/Nebula_NS::Attenuation));
       m_Event->SetChargeDown(DetectorNbr,Light*exp(-(Nebula_NS::VetoHeight/2+Position)/Nebula_NS::Attenuation));
@@ -370,6 +367,7 @@ void Nebula::ReadSensitive(const G4Event* ){
       Time_down = (Nebula_NS::VetoHeight/2+Position)/(c_light/Nebula_NS::MaterialIndex) + Time;
       //cout << "Time_down is " << Time_down << endl;
       m_Event->SetTimeDown(DetectorNbr,Time_down);
+      
     }
   }
 
diff --git a/NPSimulation/Detectors/NeuLAND/CMakeLists.txt b/NPSimulation/Detectors/NeuLAND/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b0931a90d4c1a27f6cc0a0955c9b9e82dea608c8
--- /dev/null
+++ b/NPSimulation/Detectors/NeuLAND/CMakeLists.txt
@@ -0,0 +1,2 @@
+add_library(NPSNeuLAND SHARED  NeuLAND.cc)
+target_link_libraries(NPSNeuLAND NPSCore ${ROOT_LIBRARIES} ${Geant4_LIBRARIES} ${NPLib_LIBRARIES} -lNPNeuLAND)
diff --git a/NPSimulation/Detectors/NeuLAND/NeuLAND.cc b/NPSimulation/Detectors/NeuLAND/NeuLAND.cc
new file mode 100644
index 0000000000000000000000000000000000000000..43aff6c7d0b8d7fbdd511bdc2665fbe45f1d6abd
--- /dev/null
+++ b/NPSimulation/Detectors/NeuLAND/NeuLAND.cc
@@ -0,0 +1,493 @@
+/*****************************************************************************
+ * Copyright (C) 2009-2019   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: Adrien Matta  contact address: matta@lpccaen.in2p3.fr    *
+ *                                                                           *
+ * Creation Date  : December 2019                                            *
+ * Last update    :                                                          *
+ *---------------------------------------------------------------------------*
+ * Decription:                                                               *
+ *  This class describe  NeuLAND simulation                                   *
+ *                                                                           *
+ *---------------------------------------------------------------------------*
+ * Comment:                                                                  *
+ *                                                                           *
+ *****************************************************************************/
+
+// C++ headers
+#include <sstream>
+#include <cmath>
+#include <limits>
+//G4 Geometry object
+#include "G4Tubs.hh"
+#include "G4Box.hh"
+
+//G4 sensitive
+#include "G4SDManager.hh"
+#include "G4MultiFunctionalDetector.hh"
+
+//G4 various object
+#include "G4Material.hh"
+#include "G4MaterialPropertiesTable.hh"
+#include "G4Transform3D.hh"
+#include "G4PVPlacement.hh"
+#include "G4VisAttributes.hh"
+#include "G4Colour.hh"
+
+// NPTool header
+#include "NeuLAND.hh"
+#include "PlasticBar.hh"
+#include "InteractionScorers.hh"
+#include "ProcessScorers.hh"
+#include "RootOutput.h"
+#include "MaterialManager.hh"
+#include "NPSDetectorFactory.hh"
+#include "NPOptionManager.h"
+#include "NPSHitsMap.hh"
+// CLHEP header
+#include "CLHEP/Random/RandGauss.h"
+
+using namespace std;
+using namespace CLHEP;
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+namespace NeuLAND_NS{
+  // Energy and time Resolution
+  const double LightThreshold  = 0.1*MeV;
+  const double ResoTime        = 0.75/2.355*ns; //0.75
+  const double ResoEnergy      = 0.1/2.355*MeV; 
+  const double ResoLight       = 0.1/2.355*MeV; 
+  const double ResoPosition    = 1.0*um; //1.0
+  const double ModuleWidth     = 50*mm ;
+  const double ModuleLength    = 50*mm ;
+  const double ModuleHeight    = 2500*mm ;
+  const double InterModule     = 1*mm ;
+  const double VetoWidth       = 320*mm ;
+  const double VetoLength      = 10*mm ;
+  const double VetoHeight      = 1900*mm ;
+  const double InterVeto       = 1*mm ;
+  const int    VetoPerWall     = 12;
+  const int    VetoPerExpand   = 6;
+  const double WallToVeto      = 10*cm;
+  const double MaterialIndex   = 1.58;
+  const double Attenuation     = 6680*mm; 
+
+  const string Material = "BC400";
+}
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+// NeuLAND Specific Method
+NeuLAND::NeuLAND(){
+  m_Event = new TNeuLANDData() ;
+  m_ModuleScorer = 0;
+  m_VetoScorer = 0;
+  m_Module = 0;
+  m_Veto = 0;
+
+
+  // RGB Color + Transparency
+  m_VisModule = new G4VisAttributes(G4Colour(0.263, 0.682, 0.639, 0.3));   
+  //m_VisModule = new G4VisAttributes(G4Colour(0.145, 0.384, 0.596, 1));   
+  m_VisVeto   = new G4VisAttributes(G4Colour(0.4, 0.4, 0.4, 0.8));   
+  m_VisPMT    = new G4VisAttributes(G4Colour(0.1, 0.1, 0.1, 1));   
+  m_VisFrame  = new G4VisAttributes(G4Colour(0, 0.3, 1, 0.5));   
+
+}
+
+NeuLAND::~NeuLAND(){
+}
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+void NeuLAND::AddWall(G4ThreeVector Pos, int NbrModule, bool Veto, bool Frame){
+  // Convert the Pos value to R theta Phi as Spherical coordinate is easier in G4 
+  m_Pos.push_back(Pos);
+  m_NbrModule.push_back(NbrModule);
+  m_HasVeto.push_back(Veto);
+  m_HasFrame.push_back(Frame);
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+G4LogicalVolume* NeuLAND::BuildModule(){
+  if(!m_Module){
+    G4Box* box = new G4Box("NeuLAND_Module",NeuLAND_NS::ModuleWidth*0.5,
+        NeuLAND_NS::ModuleHeight*0.5,NeuLAND_NS::ModuleLength*0.5);
+
+    G4Material* DetectorMaterial = MaterialManager::getInstance()->GetMaterialFromLibrary(NeuLAND_NS::Material);
+    m_Module = new G4LogicalVolume(box,DetectorMaterial,"logic_NeuLAND_Module",0,0,0);
+    m_Module->SetVisAttributes(m_VisModule);
+    m_Module->SetSensitiveDetector(m_ModuleScorer);
+  }
+  return m_Module;
+}
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+G4LogicalVolume* NeuLAND::BuildVeto(){
+  if(!m_Veto){
+    G4Box* box = new G4Box("NeuLAND_Veto",NeuLAND_NS::VetoWidth*0.5,
+        NeuLAND_NS::VetoHeight*0.5,NeuLAND_NS::VetoLength*0.5);
+
+    G4Material* DetectorMaterial = MaterialManager::getInstance()->GetMaterialFromLibrary(NeuLAND_NS::Material);
+    
+    m_Veto = new G4LogicalVolume(box,DetectorMaterial,"logic_NeuLAND_Veto",0,0,0);
+    m_Veto->SetVisAttributes(m_VisVeto);
+    m_Veto->SetSensitiveDetector(m_VetoScorer);
+  }
+  return m_Veto;
+}
+
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+// Virtual Method of NPS::VDetector class
+
+// Read stream at Configfile to pick-up parameters of detector (Position,...)
+// Called in DetectorConstruction::ReadDetectorConfiguration Method
+void NeuLAND::ReadConfiguration(NPL::InputParser parser){
+  vector<NPL::InputBlock*> blocks = parser.GetAllBlocksWithToken("NEULAND");
+  if(NPOptionManager::getInstance()->GetVerboseLevel())
+    cout << "//// " << blocks.size() << " detectors found " << endl;
+
+  // define an entire wall
+  vector<string> wall = {"Pos","NumberOfModule","Veto","Frame"};
+
+  // use an experiment xml file to position bars individually
+  vector<string> xml= {"XML","Offset","InvertX","InvertY"};
+
+  for(unsigned int i = 0 ; i < blocks.size() ; i++){
+    if(blocks[i]->HasTokenList(wall)){
+      if(NPOptionManager::getInstance()->GetVerboseLevel())
+        cout << endl << "////  NeuLAND " << i+1 <<  endl;
+    
+      G4ThreeVector Pos = NPS::ConvertVector(blocks[i]->GetTVector3("Pos","mm"));
+      int NbrModule = blocks[i]->GetInt("NumberOfModule");
+      bool Veto = blocks[i]->GetInt("Veto");
+      bool Frame= blocks[i]->GetInt("Frame");
+      AddWall(Pos,NbrModule,Veto,Frame);
+    }
+    else if(blocks[i]->HasTokenList(xml)){
+      if(NPOptionManager::getInstance()->GetVerboseLevel())
+        cout << endl << "////  NeuLAND XML file " << i+1 <<  endl;
+      std::string xml_file = blocks[i]->GetString("XML"); 
+      G4ThreeVector Offset = NPS::ConvertVector(blocks[i]->GetTVector3("Offset","mm"));
+      bool InvertX = blocks[i]->GetInt("InvertX"); 
+      bool InvertY = blocks[i]->GetInt("InvertY"); 
+      ReadXML(xml_file,Offset,InvertX,InvertY);
+    }
+      else{
+      cout << "ERROR: check your input file formatting " << endl;
+      exit(1);
+    }
+  }
+  std::for_each(m_NbrModule.begin(), m_NbrModule.end(), [&] (int n) {
+     m_TotalModule += n;
+  });  
+}
+
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+void NeuLAND::ReadXML(std::string xml_file,G4ThreeVector offset, bool InvertX,bool InvertY){ 
+  NPL::XmlParser xml;
+  xml.LoadFile(xml_file);
+  std::vector<NPL::XML::block*> b = xml.GetAllBlocksWithName("NEULAND");  
+  int NumberOfBars=0;
+  for(unsigned int i = 0 ; i < b.size() ; i++){
+    NumberOfBars++;
+    unsigned int id = b[i]->AsInt("ID");
+    
+    // position
+    auto PositionX = b[i]->AsDouble("xpos");
+    //cout << "//// " << PositionX << " position en x " << endl;
+    auto PositionY = b[i]->AsDouble("ypos");
+    //cout << "//// " << PositionY << " position en y " << endl;
+    auto PositionZ = b[i]->AsDouble("zpos");
+    //cout << "//// " << PositionZ << " position en z " << endl;
+    //cout <<"============================" << endl;
+    
+    // SubLayer 0 is used for Veto
+    auto SubLayer  = b[i]->AsInt("SubLayer");
+    // Name "NoUseX" is used to silence bars
+    auto nousestr  = b[i]->AsString("NAME");
+
+    auto DirectionBar = b[i]->AsString("direction");
+    //cout << "direction des barres -> " << DirectionBar << endl;
+    // cout << "id = " << id << endl;
+    
+    // Remove unused bar
+    if(nousestr.find("NoUse")==std::string::npos && PositionX!=PositionZ){
+      if(InvertX)
+        PositionX*=-1;
+      if(InvertY)
+        PositionY*=-1;
+      m_PositionBar[id]= G4ThreeVector(PositionX,PositionY,PositionZ)+offset;
+
+      // Direction bar
+      if(DirectionBar.find("V")==std::string::npos)
+	{m_IsHorizontal[id] = true;
+	  // cout << DirectionBar << endl; 
+	}
+      else m_IsHorizontal[id] = false;
+
+      // cout << " m_IsHorizontal[id] = " << m_IsHorizontal[id] << endl;
+      
+      if(SubLayer)
+        m_IsVetoBar[id]= false;
+      else
+        m_IsVetoBar[id]= true;
+    }
+    
+  } //end of for 
+  cout << " -> " << NumberOfBars << " bars found" << endl;
+
+  
+} //end of ReadXML
+
+// Construct detector and inialise sensitive part.
+// Called After DetectorConstruction::AddDetector Method
+void NeuLAND::ConstructDetector(G4LogicalVolume* world){
+  
+  // Start with XML case
+  G4RotationMatrix* Rot = new G4RotationMatrix();
+    
+  for(auto pos : m_PositionBar){
+
+    //cout << "m_IsHorizontal " <<  m_IsHorizontal[pos.first] << endl;
+    
+    if(m_IsHorizontal[pos.first])
+      {
+         Rot->rotateZ(90.*deg);
+      }
+
+    
+    
+    if(!m_IsVetoBar[pos.first]){
+      new G4PVPlacement(G4Transform3D(*Rot,pos.second),
+            BuildModule(),
+            "NeuLANDModule",world,false,pos.first);
+    }
+    else{
+      new G4PVPlacement(G4Transform3D(*Rot,pos.second),
+            BuildVeto(),
+	    "NeuLANDModule",world,false,pos.first); //"NeuLANDVeto"
+      }
+
+    Rot->set(0,0,0);
+    }
+
+
+  //Not XML
+  unsigned int nbrM = 1 ;
+  unsigned int nbrV = 1 ;
+  
+  for (unsigned short i = 0 ; i < m_Pos.size() ; i++) {
+    for (unsigned short m = 0 ; m < m_NbrModule[i] ; m++) {
+      double offset = (NeuLAND_NS::ModuleWidth+NeuLAND_NS::InterModule)*(-m_NbrModule[i]*0.5+m)+NeuLAND_NS::ModuleWidth*0.5;
+      G4ThreeVector Offset(offset,0,0);
+      new G4PVPlacement(G4Transform3D(*Rot,m_Pos[i]+Offset),
+          BuildModule(),
+          "NeuLANDModule",world,false,nbrM++);
+    }
+
+    if(m_HasVeto[i]){
+      if(m_NbrModule[i] > 15){
+        for (unsigned short m = 0 ; m < NeuLAND_NS::VetoPerWall ; m++) {
+          double offset = (NeuLAND_NS::VetoWidth+NeuLAND_NS::InterVeto)*(-NeuLAND_NS::VetoPerWall*0.5+m)+NeuLAND_NS::VetoWidth*0.5;
+          G4ThreeVector Offset(offset,0,-NeuLAND_NS::WallToVeto);
+          new G4PVPlacement(G4Transform3D(*Rot,m_Pos[i]+Offset),
+            BuildVeto(),
+            "NeuLANDVeto",world,false,nbrV++);
+        }
+      }
+      else{
+        for (unsigned short m = 0 ; m < NeuLAND_NS::VetoPerExpand ; m++) {
+          double offset = (NeuLAND_NS::VetoWidth+NeuLAND_NS::InterVeto)*(-NeuLAND_NS::VetoPerExpand*0.5+m)+NeuLAND_NS::VetoWidth*0.5;
+          G4ThreeVector Offset(offset,0,-NeuLAND_NS::WallToVeto);
+          new G4PVPlacement(G4Transform3D(*Rot,m_Pos[i]+Offset),
+            BuildVeto(),
+            "NeuLANDVeto",world,false,nbrV++);
+        }
+      }
+    }
+  }
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+// Add Detector branch to the EventTree.
+// Called After DetectorConstruction::AddDetector Method
+void NeuLAND::InitializeRootOutput(){
+  RootOutput *pAnalysis = RootOutput::getInstance();
+  TTree *pTree = pAnalysis->GetTree();
+  if(!pTree->FindBranch("NeuLAND")){
+    pTree->Branch("NeuLAND", "TNeuLANDData",&m_Event) ;
+  }
+  pTree->SetBranchAddress("NeuLAND", &m_Event) ;
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+// Read sensitive part and fill the Root tree.
+// Called at in the EventAction::EndOfEventAvtion
+void NeuLAND::ReadSensitive(const G4Event* ){
+  m_Event->Clear();
+
+  ///////////
+  // PlasticBar scorer
+  PlasticBar::PS_PlasticBar* PlasticScorer_Module = (PlasticBar::PS_PlasticBar*) m_ModuleScorer->GetPrimitive(0);
+  PlasticBar::PS_PlasticBar* PlasticScorer_Veto = (PlasticBar::PS_PlasticBar*) m_VetoScorer->GetPrimitive(0);
+  // Should we put a ProcessScorer here to get the info if the particle is first neutron and give it to NeuLANDData ?
+  
+  double Time_up, Time_down;
+  double Energy_tmp, Light_tmp;
+
+  //////////// TRIAL TO GET THE OPTICAL INDEX FROM MATERIAL PROPERTIES /////////////
+  //Trying to get Optical Index from Material directly
+  //const G4Material* aMaterial = MaterialManager::getInstance()->GetMaterialFromLibrary(NeuLAND_NS::Material);
+  //G4MaterialPropertiesTable* aMaterialPropertiesTable = aMaterial->GetMaterialPropertiesTable();
+  //if(!aMaterialPropertiesTable->PropertyExists("RINDEX")){
+  //  MaterialIndex = !aMaterialPropertiesTable->GetConstProperty("RINDEX"); 
+  //}
+  //else{
+  //  MaterialIndex = 0; 
+  //}
+  //cout << MaterialManager::getInstance()->GetMaterialFromLibrary(NeuLAND_NS::Material)->GetMaterialPropertiesTable()->GetMaterialPropertyNames()[0] << endl;
+  //////////////////////////////////////////////////////////////////////////////////
+
+  ///////////////////////////////// MODULE SCORER //////////////////////////////////
+  unsigned int ModuleHits_size = PlasticScorer_Module->GetMult(); 
+  for(unsigned int i = 0 ; i < ModuleHits_size ; i++){
+    vector<unsigned int> level = PlasticScorer_Module->GetLevel(i); 
+    Energy_tmp = PlasticScorer_Module->GetEnergy(i);
+    Light_tmp = PlasticScorer_Module->GetLight(i);
+    Energy = RandGauss::shoot(Energy_tmp, Energy_tmp*NeuLAND_NS::ResoEnergy);
+    Light = RandGauss::shoot(Light_tmp, Light_tmp*NeuLAND_NS::ResoLight);
+
+    if(Light>NeuLAND_NS::LightThreshold){
+      int DetectorNbr = level[0];
+      double PositionY = RandGauss::shoot(PlasticScorer_Module->GetPositionY(i),NeuLAND_NS::ResoPosition);
+      double PositionX = RandGauss::shoot(PlasticScorer_Module->GetPositionX(i),NeuLAND_NS::ResoPosition);
+
+      
+      double Position;
+
+      if((1<=DetectorNbr and DetectorNbr <=50)  or (101<=DetectorNbr and DetectorNbr<=150) or (201<=DetectorNbr and DetectorNbr<=250) or (301<=DetectorNbr and DetectorNbr<=350) )
+	{
+	  Position = PositionX;
+	}
+
+      else
+	{
+	  Position = PositionY;
+	}
+
+      //cout << "--------------" << endl;
+      m_Event->SetChargeUp(DetectorNbr,Light*exp(-(NeuLAND_NS::ModuleHeight/2-Position)/NeuLAND_NS::Attenuation));
+      m_Event->SetChargeDown(DetectorNbr,Light*exp(-(NeuLAND_NS::ModuleHeight/2+Position)/NeuLAND_NS::Attenuation));
+     
+      // Take Time and Position and compute Tup and Tdown
+      double Time = RandGauss::shoot(PlasticScorer_Module->GetTime(i),NeuLAND_NS::ResoTime);
+
+      Time_up = (NeuLAND_NS::ModuleHeight/2-Position)/(c_light/NeuLAND_NS::MaterialIndex) + Time;
+      m_Event->SetTimeUp(DetectorNbr,Time_up);
+      
+      Time_down = (NeuLAND_NS::ModuleHeight/2+Position)/(c_light/NeuLAND_NS::MaterialIndex) + Time;
+      m_Event->SetTimeDown(DetectorNbr,Time_down);
+    }
+  }
+
+  ///////////////////////////////// VETO SCORER //////////////////////////////////
+  unsigned int VetoHits_size = PlasticScorer_Veto->GetMult(); 
+  for(unsigned int i = 0 ; i < VetoHits_size ; i++){
+    vector<unsigned int> level = PlasticScorer_Veto->GetLevel(i); 
+    Energy_tmp = PlasticScorer_Veto->GetEnergy(i);
+    Light_tmp = PlasticScorer_Veto->GetLight(i);
+    Energy = RandGauss::shoot(Energy_tmp, Energy_tmp*NeuLAND_NS::ResoEnergy);
+    Light = RandGauss::shoot(Light_tmp, Light_tmp*NeuLAND_NS::ResoLight);
+
+    if(Light>NeuLAND_NS::LightThreshold){
+      double Time = RandGauss::shoot(PlasticScorer_Veto->GetTime(i),NeuLAND_NS::ResoTime);
+      //cout << "Time is " << Time << endl;
+      double Position = RandGauss::shoot(PlasticScorer_Veto->GetPositionY(i),NeuLAND_NS::ResoPosition);
+      //cout << "Position is " << Position << endl;
+      int DetectorNbr = level[0] + m_TotalModule;
+      //cout << "Veto ID: " << DetectorNbr << endl;
+      
+      m_Event->SetChargeUp(DetectorNbr,Light*exp(-(NeuLAND_NS::VetoHeight/2-Position)/NeuLAND_NS::Attenuation));
+      m_Event->SetChargeDown(DetectorNbr,Light*exp(-(NeuLAND_NS::VetoHeight/2+Position)/NeuLAND_NS::Attenuation));
+      
+      Time_up = (NeuLAND_NS::VetoHeight/2-Position)/(c_light/NeuLAND_NS::MaterialIndex) + Time;
+      //cout << "Time_up is " << Time_up << endl;
+      m_Event->SetTimeUp(DetectorNbr,Time_up);
+      
+      Time_down = (NeuLAND_NS::VetoHeight/2+Position)/(c_light/NeuLAND_NS::MaterialIndex) + Time;
+      //cout << "Time_down is " << Time_down << endl;
+      m_Event->SetTimeDown(DetectorNbr,Time_down);
+    }
+  }
+
+
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+////////////////////////////////////////////////////////////////   
+void NeuLAND::InitializeScorers() { 
+  // This check is necessary in case the geometry is reloaded
+  bool already_exist = false; 
+  m_ModuleScorer = CheckScorer("NeuLANDModuleScorer",already_exist) ;
+  m_VetoScorer = CheckScorer("NeuLANDVetoScorer",already_exist) ;
+
+  if(already_exist) 
+    return ;
+
+  // Otherwise the scorer is initialise
+  // Module 
+  vector<int> level; level.push_back(0);
+  G4VPrimitiveScorer* ModulePlasticBar= new PlasticBar::PS_PlasticBar("ModulePlasticBar",level, 0);
+  G4VPrimitiveScorer* ModuleInteraction= new InteractionScorers::PS_Interactions("ModuleInteraction",ms_InterCoord, 0);
+  G4VPrimitiveScorer* ModuleProcess= new ProcessScorers::PS_Process("ModuleProcess", 0);
+  //and register it to the multifunctionnal detector
+  m_ModuleScorer->RegisterPrimitive(ModulePlasticBar);
+  m_ModuleScorer->RegisterPrimitive(ModuleInteraction);
+  m_ModuleScorer->RegisterPrimitive(ModuleProcess);
+  G4SDManager::GetSDMpointer()->AddNewDetector(m_ModuleScorer) ;
+
+  // Veto 
+  G4VPrimitiveScorer* VetoPlasticBar= new PlasticBar::PS_PlasticBar("VetoPlasticBar",level, 0);
+  G4VPrimitiveScorer* VetoInteraction= new InteractionScorers::PS_Interactions("VetoInteraction",ms_InterCoord, 0);
+  G4VPrimitiveScorer* VetoProcess= new ProcessScorers::PS_Process("ModuleProcess", 0);
+  //and register it to the multifunctionnal detector
+  m_VetoScorer->RegisterPrimitive(VetoPlasticBar);
+  m_VetoScorer->RegisterPrimitive(VetoInteraction);
+  m_VetoScorer->RegisterPrimitive(VetoProcess);
+  G4SDManager::GetSDMpointer()->AddNewDetector(m_VetoScorer) ;
+
+
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+////////////////////////////////////////////////////////////////////////////////
+//            Construct Method to be pass to the DetectorFactory              //
+////////////////////////////////////////////////////////////////////////////////
+NPS::VDetector* NeuLAND::Construct(){
+  return  (NPS::VDetector*) new NeuLAND();
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+////////////////////////////////////////////////////////////////////////////////
+//            Registering the construct method to the factory                 //
+////////////////////////////////////////////////////////////////////////////////
+extern"C" {
+  class proxy_nps_NeuLAND{
+    public:
+      proxy_nps_NeuLAND(){
+        NPS::DetectorFactory::getInstance()->AddToken("NEULAND","NEULAND");
+        NPS::DetectorFactory::getInstance()->AddDetector("NEULAND",NeuLAND::Construct);
+      }
+  };
+
+  proxy_nps_NeuLAND p_nps_NeuLAND;
+}
diff --git a/NPSimulation/Detectors/NeuLAND/NeuLAND.hh b/NPSimulation/Detectors/NeuLAND/NeuLAND.hh
new file mode 100644
index 0000000000000000000000000000000000000000..5b7a20ce73bf0e6024b38e10de7f3cce2e6c9511
--- /dev/null
+++ b/NPSimulation/Detectors/NeuLAND/NeuLAND.hh
@@ -0,0 +1,124 @@
+#ifndef NeuLAND_h
+#define NeuLAND_h 1
+/*****************************************************************************
+ * Copyright (C) 2009-2019   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: Adrien Matta  contact address: matta@lpccaen.in2p3.fr    *
+ *                                                                           *
+ * Creation Date  : December 2019                                            *
+ * Last update    :                                                          *
+ *---------------------------------------------------------------------------*
+ * Decription:                                                               *
+ *  This class describe  NeuLAND simulation                                   *
+ *                                                                           *
+ *---------------------------------------------------------------------------*
+ * Comment:                                                                  *
+ *                                                                           *
+ *****************************************************************************/
+
+// C++ header
+#include <string>
+#include <vector>
+#include <map>
+using namespace std;
+
+// G4 headers
+#include "G4ThreeVector.hh"
+#include "G4RotationMatrix.hh"
+#include "G4LogicalVolume.hh"
+#include "G4MultiFunctionalDetector.hh"
+
+// NPTool header
+#include "NPSVDetector.hh"
+#include "TNeuLANDData.h"
+#include "NPInputParser.h"
+#include "NPXmlParser.h"
+
+class NeuLAND : public NPS::VDetector{
+  ////////////////////////////////////////////////////
+  /////// Default Constructor and Destructor /////////
+  ////////////////////////////////////////////////////
+  public:
+    NeuLAND() ;
+    virtual ~NeuLAND() ;
+
+    ////////////////////////////////////////////////////
+    //////// Specific Function of this Class ///////////
+    ////////////////////////////////////////////////////
+  public:
+    // Cartesian
+    void AddWall(G4ThreeVector POS, int NbrModule,bool veto,bool frame);
+    void ReadXML(std::string xml_file,G4ThreeVector offset, bool InvertX,bool InvertY); 
+
+    G4LogicalVolume* BuildModule();
+    G4LogicalVolume* BuildVeto();
+  
+  private:
+    std::map<unsigned int , G4ThreeVector> m_PositionBar;
+    std::map<unsigned int , bool> m_IsVetoBar;
+    std::map<unsigned int , bool> m_IsHorizontal;
+    G4LogicalVolume* m_Module;
+    G4LogicalVolume* m_Veto;
+    double Energy;
+    double Light;
+    
+    ////////////////////////////////////////////////////
+    //////  Inherite from NPS::VDetector class /////////
+    ////////////////////////////////////////////////////
+  public:
+    // Read stream at Configfile to pick-up parameters of detector (Position,...)
+    // Called in DetecorConstruction::ReadDetextorConfiguration Method
+    void ReadConfiguration(NPL::InputParser) ;
+
+    // Construct detector and inialise sensitive part.
+    // Called After DetecorConstruction::AddDetector Method
+    void ConstructDetector(G4LogicalVolume* world) ;
+
+    // Add Detector branch to the EventTree.
+    // Called After DetectorConstruction::AddDetector Method
+    void InitializeRootOutput() ;
+
+    // Read sensitive part and fill the Root tree.
+    // Called at in the EventAction::EndOfEventAvtion
+    void ReadSensitive(const G4Event* event) ;
+
+  public:   // Scorer
+    //   Initialize all Scorer used by the MUST2Array
+    void InitializeScorers() ;
+
+    //   Associated Scorer
+    G4MultiFunctionalDetector* m_ModuleScorer ;
+    G4MultiFunctionalDetector* m_VetoScorer ;
+    ////////////////////////////////////////////////////
+    ///////////Event class to store Data////////////////
+    ////////////////////////////////////////////////////
+  private:
+    TNeuLANDData* m_Event ;
+
+    ////////////////////////////////////////////////////
+    ///////////////Private intern Data//////////////////
+    ////////////////////////////////////////////////////
+  private: // Geometry
+    // Detector Coordinate 
+    vector<G4ThreeVector>  m_Pos; 
+    vector<int>  m_NbrModule;
+    int m_TotalModule = 0;
+    vector<bool> m_HasVeto; 
+    vector<bool> m_HasFrame; 
+    
+    // Visualisation Attribute
+    G4VisAttributes* m_VisModule;
+    G4VisAttributes* m_VisVeto;
+    G4VisAttributes* m_VisPMT;
+    G4VisAttributes* m_VisFrame;
+
+  // Needed for dynamic loading of the library
+  public:
+    static NPS::VDetector* Construct();
+};
+#endif
diff --git a/NPSimulation/Detectors/Samurai/CMakeLists.txt b/NPSimulation/Detectors/Samurai/CMakeLists.txt
index c77d1a47210d739baf592595c3fd6c6187abcf33..0723c223478e13cc1751493c1ffea4b11eb1d510 100644
--- a/NPSimulation/Detectors/Samurai/CMakeLists.txt
+++ b/NPSimulation/Detectors/Samurai/CMakeLists.txt
@@ -1,2 +1,2 @@
-add_library(NPSSamurai SHARED  Samurai.cc SamuraiFieldPropagation.cc SamuraiFDC2.cc SamuraiFDC1.cc)
+add_library(NPSSamurai SHARED  Samurai.cc SamuraiFieldPropagation.cc SamuraiFDC2.cc SamuraiFDC1.cc SamuraiFDC0.cc SamuraiBDC.cc)
 target_link_libraries(NPSSamurai NPSCore ${ROOT_LIBRARIES} ${Geant4_LIBRARIES} ${NPLib_LIBRARIES} -lNPSamurai)
diff --git a/NPSimulation/Detectors/Samurai/Samurai.cc b/NPSimulation/Detectors/Samurai/Samurai.cc
index 92da9b578022c6d2181756c6c7612959ce89451f..8353824cde6b10545018335e26a0c610c3497ce5 100644
--- a/NPSimulation/Detectors/Samurai/Samurai.cc
+++ b/NPSimulation/Detectors/Samurai/Samurai.cc
@@ -68,7 +68,7 @@ namespace Samurai_NS{
   //Main outer box
   const double Magnet_Width = 6700*mm; //(x)
   const double Magnet_Height = 4640*mm;//(y)
-  const double Magnet_Depth = 6000*mm;//(z)
+  const double Magnet_Depth = 4950*mm;//(z) //If depth is larger, it overlaps on FDC2
   const double Magnet_Depth_eps = 0.2*mm; //(delta-z)
   const string Magnet_Material = "G4_Galactic"; //G4_Galactic
 
@@ -113,11 +113,17 @@ namespace Samurai_NS{
 Samurai::Samurai(){
 
   //Visualization attributes
-  m_VisMagnet = new G4VisAttributes(G4Colour(0,0,1,0.5));
-  m_VisYokes = new G4VisAttributes(G4Colour(0,1,0,0.5));
-  m_VisRYokes = new G4VisAttributes(G4Colour(1,0,0,0.5));
-  m_VisPropvol = new G4VisAttributes(G4Colour(0,1,1,0.5));
 
+  m_VisMagnet = new G4VisAttributes(G4Colour(0,0,1,0.2));
+  m_VisYokes = new G4VisAttributes(G4Colour(0,1,0,0.2));
+  m_VisRYokes = new G4VisAttributes(G4Colour(1,0,0,0.2));
+  m_VisPropvol = new G4VisAttributes(G4Colour(0,1,1,0.2));
+
+  // m_VisMagnet = new G4VisAttributes(G4Colour(0,0,1,0.0));
+  // m_VisYokes = new G4VisAttributes(G4Colour(0,1,0,0.0));
+  // m_VisRYokes = new G4VisAttributes(G4Colour(1,0,0,0.0));
+  // m_VisPropvol = new G4VisAttributes(G4Colour(0,1,1,0.0));
+  
   //Logical volumes
   m_Magnet = NULL;
   m_Yoke = NULL;
@@ -213,6 +219,7 @@ G4LogicalVolume* Samurai::BuildMagnet(){
     m_Magnet->SetVisAttributes(m_VisMagnet);
     m_Magnet->SetSensitiveDetector(m_SamuraiScorer);
     cout << "ATTACHING SCORER\n";
+    
   }
   return m_Magnet;
 }
@@ -231,6 +238,7 @@ G4LogicalVolume* Samurai::BuildYoke(){
     //Logical Volume
     m_Yoke = new G4LogicalVolume(yoke, YokeMaterial, "logic_Samurai_yoke",0,0,0);
     m_Yoke->SetVisAttributes(m_VisYokes);
+  
   }
   return m_Yoke;
 }
@@ -405,7 +413,7 @@ void Samurai::SetPropagationRegion(){
   if(!m_PropagationRegion){
     m_PropagationRegion= new G4Region("NPSamuraiFieldPropagation");
     m_PropagationRegion -> AddRootLogicalVolume(BuildPropvol());
-    m_PropagationRegion->SetUserLimits(new G4UserLimits(m_StepSize));
+    m_PropagationRegion->SetUserLimits(new G4UserLimits(m_StepSize));    
   }
   
   G4FastSimulationManager* mng = m_PropagationRegion->GetFastSimulationManager();
diff --git a/NPSimulation/Detectors/Samurai/SamuraiBDC.cc b/NPSimulation/Detectors/Samurai/SamuraiBDC.cc
new file mode 100644
index 0000000000000000000000000000000000000000..4288a4cc5332bc8412c77d78c1b00eb0d3a48fbf
--- /dev/null
+++ b/NPSimulation/Detectors/Samurai/SamuraiBDC.cc
@@ -0,0 +1,455 @@
+/*****************************************************************************
+ * Copyright (C) 2009-2021   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: Audrey ANNE  contact address: anne@lpccaen.in2p3.fr      *
+ *                                                                           *
+ * Creation Date  :                                                          *
+ * Last update    :                                                          *
+ *---------------------------------------------------------------------------*
+ * Decription:                                                               *
+ *  This class describe  Samurai BDCs simulation                             *
+ *                                                                           *
+ *---------------------------------------------------------------------------*
+ * Comment:                                                                  *
+ *                                                                           *
+ *****************************************************************************/
+
+// C++ headers
+#include <sstream>
+#include <cmath>
+
+//G4 Geometry object
+#include "G4Box.hh"
+#include "G4Tubs.hh"
+
+//G4 sensitive
+#include "G4SDManager.hh"
+#include "G4MultiFunctionalDetector.hh"
+
+//G4 various object
+#include "G4Material.hh"
+#include "G4Transform3D.hh"
+#include "G4PVPlacement.hh"
+#include "G4VisAttributes.hh"
+#include "G4Colour.hh"
+#include "G4RegionStore.hh"
+
+// NPTool header
+#include "SamuraiBDC.hh"
+#include "RootOutput.h"
+#include "MaterialManager.hh"
+#include "NPSDetectorFactory.hh"
+#include "NPOptionManager.h"
+#include "NPSHitsMap.hh"
+// CLHEP header
+#include "CLHEP/Random/RandGauss.h"
+
+#include "WireScorers.hh"
+
+#include "G4TwoVector.hh"
+#include "G4ExtrudedSolid.hh"
+
+using namespace std;
+using namespace CLHEP;
+
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+namespace SamuraiBDC_NS{
+  // Samurai magnet construction paramethers
+
+  //Main outer box
+  const double BDC_Width = 94*mm; //(x)
+  const double BDC_Height = 94*mm;//(y)
+  const double BDC_Depth = 90*mm;//(z)
+  const string BDC_Gas = "CH4_60_He_40";
+
+  const double BDC_Temperature = 298.15; // K
+  const double BDC_Pressure = 1.0; //atm
+
+  //Detector Number
+  const short int BDC_DetectorNumber = 1;
+
+  //Wires
+  const double Wire_Length = 80*mm;
+  const double Wire_Diameter = 4.8*mm;
+  const string Wire_Gas = "CH4_60_He_40";
+  const double Wire_Temperature = 298.15; // K 
+  const double Wire_Pressure = 1.0; //atm
+  const int Number_Of_Layer = 8; // from 0 to 7 in the xml file
+  const int Number_Of_Wire_By_Layer = 16; // from 0 to 15 in the xml file
+  const double Drift_Speed = 1.33e-4;//------> FIX ME!!! not important (yet)
+
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+// Samurai Specific Method
+SamuraiBDC::SamuraiBDC(){
+
+  //Visualization attributes
+  m_VisBDC = new G4VisAttributes(G4Colour(1,1,0,0.5));
+  //Logical volumes
+  m_BDC1 = NULL;
+  m_BDC2 = NULL;
+ 
+ //Wire
+  m_VisWire = new G4VisAttributes(G4Colour(1.0,0,0.0,1.0));
+  //Logical volumes
+  m_Wire = NULL;
+  //Scorer
+  m_WireScorerBDC = NULL;
+
+  //Data event
+  m_Event = new TSamuraiBDCData;
+
+  //Hexagon
+  m_Hexagon = NULL;
+  
+}
+
+SamuraiBDC::~SamuraiBDC(){
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+void SamuraiBDC::AddDetector(G4ThreeVector Mag_Pos, G4ThreeVector Offset, unsigned int det){
+
+    m_position[det] = Mag_Pos + Offset;
+  
+  return;
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+G4LogicalVolume* SamuraiBDC::BuildBDC1(){
+  if(!m_BDC1){
+    //Shape - G4Box
+    G4Box* box = new G4Box("BDC_Box",SamuraiBDC_NS::BDC_Width*0.5,
+			   SamuraiBDC_NS::BDC_Height*0.5,SamuraiBDC_NS::BDC_Depth*0.5);
+
+    //Material - Gas
+    G4Material* Gas = MaterialManager::getInstance()->GetGasFromLibrary(SamuraiBDC_NS::BDC_Gas, SamuraiBDC_NS::BDC_Pressure,SamuraiBDC_NS::BDC_Temperature);
+
+    //Logical Volume
+    m_BDC1 = new G4LogicalVolume(box, Gas, "logic_SamuraiBDC_box",0,0,0);
+    m_BDC1->SetVisAttributes(m_VisBDC);
+  }
+  return m_BDC1;
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+G4LogicalVolume* SamuraiBDC::BuildBDC2(){
+  if(!m_BDC2){
+    //Shape - G4Box
+    G4Box* box = new G4Box("BDC_Box",SamuraiBDC_NS::BDC_Width*0.5,
+			   SamuraiBDC_NS::BDC_Height*0.5,SamuraiBDC_NS::BDC_Depth*0.5);
+
+    //Material - Gas
+    G4Material* Gas = MaterialManager::getInstance()->GetGasFromLibrary(SamuraiBDC_NS::BDC_Gas, SamuraiBDC_NS::BDC_Pressure,SamuraiBDC_NS::BDC_Temperature);
+
+    //Logical Volume
+    m_BDC2 = new G4LogicalVolume(box, Gas, "logic_SamuraiBDC_box",0,0,0);
+    m_BDC2->SetVisAttributes(m_VisBDC);
+  }
+  return m_BDC2;
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+G4LogicalVolume* SamuraiBDC::BuildWire(){
+if(!m_Wire){
+  //Shape - G4Tubs
+  G4Tubs* solidWire = new G4Tubs("BDC_Wire", 0.0, SamuraiBDC_NS::Wire_Diameter*0.5,SamuraiBDC_NS::Wire_Length*0.5, 0., 360.);
+
+  //Material - Gas
+  G4Material* GasWire = MaterialManager::getInstance()->GetGasFromLibrary(SamuraiBDC_NS::Wire_Gas, SamuraiBDC_NS::Wire_Pressure,SamuraiBDC_NS::Wire_Temperature);
+  
+  //Logical Volume
+  m_Wire = new G4LogicalVolume(solidWire, GasWire, "logic_SamuraiWire_tub",0,0,0);
+  m_Wire->SetVisAttributes(m_VisWire);
+  m_Wire->SetSensitiveDetector(m_WireScorerBDC);
+  
+  }
+  return m_Wire;
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+G4LogicalVolume* SamuraiBDC::BuildHexagon(){
+if(!m_Hexagon){
+  //Shape 
+ 
+  const G4int nsect = 6;
+  std::vector<G4TwoVector> polygon(nsect);
+  G4double ang = twopi/nsect;
+
+  G4double dz = SamuraiBDC_NS::Wire_Length*0.5;
+  G4double rmax = SamuraiBDC_NS::Wire_Diameter*0.5;
+  
+  for (G4int i = 0; i < nsect; ++i)
+    {
+      G4double phi = i*ang;
+      G4double cosphi = std::cos(phi);
+      G4double sinphi = std::sin(phi);
+      polygon[i].set(rmax*cosphi, rmax*sinphi);
+    }
+  
+  G4TwoVector offsetA(0,0), offsetB(0,0);
+  G4double scaleA = 1, scaleB = 1;
+  G4VSolid* solidHexagon = new G4ExtrudedSolid("Extruded", polygon, dz, offsetA, scaleA, offsetB, scaleB);
+  
+
+  
+  //Material - Gas
+  G4Material* GasWire = MaterialManager::getInstance()->GetGasFromLibrary(SamuraiBDC_NS::Wire_Gas, SamuraiBDC_NS::Wire_Pressure,SamuraiBDC_NS::Wire_Temperature);
+  
+  //Logical Volume
+  m_Hexagon = new G4LogicalVolume(solidHexagon, GasWire, "logic_SamuraiWire_tub",0,0,0);
+  m_Hexagon->SetVisAttributes(m_VisWire);
+  m_Hexagon->SetSensitiveDetector(m_WireScorerBDC);
+  
+  }
+  return m_Hexagon;
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+// Virtual Method of NPS::VDetector class
+// Read stream at Configfile to pick-up parameters of detector (Position,...)
+// (Called in DetecorConstruction::ReadDetectorConfiguration Method)
+void SamuraiBDC::ReadConfiguration(NPL::InputParser parser){
+  
+  vector<NPL::InputBlock*> blocks = parser.GetAllBlocksWithToken("SAMURAIBDC");
+  if(NPOptionManager::getInstance()->GetVerboseLevel())
+    cout << "//// " << blocks.size() << " BDC detector(s) found " << endl;
+  
+  vector<string> xml = {"XML","Offset", "InvertX","InvertY","InvertD"};
+
+  G4ThreeVector Mag_Pos;
+  G4ThreeVector Offset;
+  
+  for(unsigned int i = 0 ; i < blocks.size() ; i++){
+    if(blocks[i]->HasTokenList(xml))
+      {
+	cout << endl << "////  Samurai BDC (" << i+1 << ")" << endl;
+	unsigned int det = std::atoi(blocks[i]->GetMainValue().c_str());//1 or 2
+	string xml_file = blocks[i]->GetString("XML");
+	Offset = NPS::ConvertVector(blocks[i]->GetTVector3("Offset", "mm"));
+	bool invert_x = blocks[i]->GetInt("InvertX"); 
+	bool invert_y = blocks[i]->GetInt("InvertY"); 
+	bool invert_d = blocks[i]->GetInt("InvertD"); 
+	m_offset[det] = Offset;
+	m_invertX[det] = invert_x;
+	m_invertY[det] = invert_y;
+	m_invertD[det] = invert_d;
+	ReadXML(xml_file,Offset,invert_y,invert_y,det);
+	AddDetector(Mag_Pos, Offset, det);
+      }
+
+    else{
+      cout << "ERROR: check your XML input file for BDC detector" << endl;
+      exit(1);
+    }//end exception  
+
+  }
+     
+}//end read configuration
+
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//////////////////// nouveau ///////////////////
+void SamuraiBDC::ReadXML(std::string xml_file,G4ThreeVector offset, bool InvertX,bool InvertY,unsigned int det){ 
+  NPL::XmlParser xml;
+  xml.LoadFile(xml_file);
+
+  std::string name = "SAMURAIBDC"+NPL::itoa(det);
+  std::vector<NPL::XML::block*> b = xml.GetAllBlocksWithName(name);
+
+  int NumberOfWires=0;
+  for(unsigned int i = 0 ; i < b.size() ; i++){
+    NumberOfWires++;
+
+    // Wire ID in general
+    auto ID  = b[i]->AsInt("ID");
+
+    // Layer Number
+    auto LayerNbr = b[i]->AsInt("layer");
+    
+    // Wire direction
+    auto DirectionWire = b[i]->AsString("anodedir");
+    //Wire id in the layer
+    auto WireNbr  = b[i]->AsInt("wireid");
+
+    //Wire x or y position
+    auto PositionXY = b[i]->AsDouble("wirepos");
+    auto PositionZ = b[i]->AsDouble("wirez");
+
+    if(det==1)
+      {
+	// position wire and direction wire for BDC1
+	if(DirectionWire.find("Y")==std::string::npos){ // if not horizontal
+	  m_PositionWire1[ID] = G4ThreeVector(PositionXY,0.0,PositionZ);
+	  m_IsHorizontal1[ID] = false;
+	}
+	else {
+	  m_PositionWire1[ID] = G4ThreeVector(0.0,PositionXY,PositionZ);
+	  m_IsHorizontal1[ID] = true;
+	}
+	
+	m_LayerNbr1[ID] = LayerNbr;
+	m_WireNbr1[ID] = WireNbr;
+      }//end det==1
+
+    else if(det==2)
+      {
+	// position wire and direction wire for BDC2
+	if(DirectionWire.find("Y")==std::string::npos){ // if not horizontal
+	  m_PositionWire2[ID] = G4ThreeVector(PositionXY,0.0,PositionZ);
+	  m_IsHorizontal2[ID] = false;
+	}
+	else {
+	  m_PositionWire2[ID] = G4ThreeVector(0.0,PositionXY,PositionZ);
+	  m_IsHorizontal2[ID] = true;
+	}
+	
+	m_LayerNbr2[ID] = LayerNbr;
+	m_WireNbr2[ID] = WireNbr;
+
+      }//end det==2
+    
+  } //end of for loop
+  cout << " -> " << NumberOfWires << " wires found for BDC" <<det << endl;
+
+}//end of ReadXML
+
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+// Construct detector and inialise sensitive part.
+// (Called After DetectorConstruction::AddDetector Method)
+void SamuraiBDC::ConstructDetector(G4LogicalVolume* world){
+
+  G4RotationMatrix* Rot = new G4RotationMatrix();
+    
+  new G4PVPlacement(0, m_position[1],
+		    BuildBDC1(), "SAMURAIBDC1" , world, false, 1);
+
+  new G4PVPlacement(0, m_position[2],
+		    BuildBDC2(), "SAMURAIBDC2" , world, false, 2);
+  
+  for(auto pos1 : m_PositionWire1){    
+    if(m_IsHorizontal1[pos1.first])
+      {
+	Rot->rotateY(90.*deg);
+      }
+    else {
+      Rot->rotateX(90.*deg);
+      }
+
+    new G4PVPlacement(G4Transform3D(*Rot,pos1.second),
+            BuildWire(),
+		      "WireModule", m_BDC1,false,pos1.first);
+    Rot->set(0,0,0);
+  }// end for loop on wires BDC1
+
+  for(auto pos2 : m_PositionWire2){  
+    if(m_IsHorizontal2[pos2.first])
+      {
+	Rot->rotateY(90.*deg);
+      }
+    else Rot->rotateX(90.*deg);
+    	
+    new G4PVPlacement(G4Transform3D(*Rot,pos2.second),
+            BuildWire(),
+            "WireModule", m_BDC2 ,false,pos2.first);
+    Rot->set(0,0,0);
+  }// end for loop on wires BDC2
+  
+  return;
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+// Add Detector branch to the EventTree.
+// Called After DetecorConstruction::AddDetector Method
+void SamuraiBDC::InitializeRootOutput(){
+  RootOutput *pAnalysis = RootOutput::getInstance();
+  TTree *pTree = pAnalysis->GetTree();
+  if(!pTree->FindBranch("SamuraiBDC")){
+    pTree->Branch("SamuraiBDC", "TSamuraiBDCData", &m_Event) ;
+  }
+  pTree->SetBranchAddress("SamuraiBDC", &m_Event);
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+// Read sensitive part and fill the Root tree.
+// (Called at in the EventAction::EndOfEventAvtion)
+
+void SamuraiBDC::ReadSensitive(const G4Event* event){
+  
+  m_Event->Clear();
+  //Interaction Scorer
+  WireScorers::PS_Wire* WireScorerBDC= (WireScorers::PS_Wire*) m_WireScorerBDC->GetPrimitive(0);
+
+  unsigned int sizeWire =WireScorerBDC->GetMult();
+  for(unsigned int i = 0 ; i < sizeWire ; i++)
+    {
+      int layer = WireScorerBDC->GetLayerNumber(i);
+      int wireNbr = WireScorerBDC->GetWireNumber(i);
+      double time = WireScorerBDC->GetTime(i);
+      int edge = WireScorerBDC->GetEdge(i);
+      double DriftLength = WireScorerBDC->GetDriftLength(i);
+      int DetectorNumber = WireScorerBDC->GetDetectorNumber(i);    
+      m_Event->SetData(DetectorNumber, layer, wireNbr, DriftLength, edge);
+    }
+  
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......  
+void SamuraiBDC::InitializeScorers() { 
+  // This check is necessary in case the geometry is reloaded
+  bool already_exist = false; 
+  m_WireScorerBDC = CheckScorer("WireScorerBDC",already_exist) ;
+ 
+  if(already_exist) 
+    return;
+
+  // Otherwise the scorer is initialised
+  vector<int> level; level.push_back(0);
+  
+  //Wire
+  G4VPrimitiveScorer* InteractionWireBDC= new WireScorers::PS_Wire("WS_BDC",level, SamuraiBDC_NS::Number_Of_Layer,SamuraiBDC_NS::Number_Of_Wire_By_Layer,SamuraiBDC_NS::Drift_Speed, m_WireAngle1) ;
+  m_WireScorerBDC->RegisterPrimitive(InteractionWireBDC);
+  G4SDManager::GetSDMpointer()->AddNewDetector(m_WireScorerBDC) ;
+
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+////////////////////////////////////////////////////////////////////////////////
+//            Construct Method to be pass to the DetectorFactory              //
+////////////////////////////////////////////////////////////////////////////////
+
+NPS::VDetector* SamuraiBDC::Construct(){
+  return  (NPS::VDetector*) new SamuraiBDC();
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+////////////////////////////////////////////////////////////////////////////////
+//            Registering the construct method to the factory                 //
+////////////////////////////////////////////////////////////////////////////////
+extern"C" {
+  class proxy_nps_samuraiBDC{
+    public:
+      proxy_nps_samuraiBDC(){
+        NPS::DetectorFactory::getInstance()->AddToken("SAMURAIBDC","SAMURAIBDC");
+        NPS::DetectorFactory::getInstance()->AddDetector("SAMURAIBDC",SamuraiBDC::Construct);
+      }
+  };
+  
+  proxy_nps_samuraiBDC p_nps_samuraiBDC;
+}
+
+
diff --git a/NPSimulation/Detectors/Samurai/SamuraiBDC.hh b/NPSimulation/Detectors/Samurai/SamuraiBDC.hh
new file mode 100644
index 0000000000000000000000000000000000000000..7cf02368f64e629edf49bbd8064ece4bb4e309da
--- /dev/null
+++ b/NPSimulation/Detectors/Samurai/SamuraiBDC.hh
@@ -0,0 +1,151 @@
+#ifndef Samurai_h
+#define Samurai_h 1
+/*****************************************************************************
+ * Copyright (C) 2009-2021   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: Audrey ANNE  contact address: anne@lpccaen.in2p3.fr      *
+ *                                                                           *
+ * Creation Date  :                                                          *
+ * Last update    :                                                          *
+ *---------------------------------------------------------------------------*
+ * Decription:                                                               *
+ *  This class describe  Samurai BDCs simulation                             *
+ *                                                                           *
+ *---------------------------------------------------------------------------*
+ * Comment:                                                                  *
+ *                                                                           *
+ *****************************************************************************/
+
+// C++ header
+#include <string>
+#include <vector>
+#include <stdlib.h>
+using namespace std;
+
+// G4 headers
+#include "G4ThreeVector.hh"
+#include "G4RotationMatrix.hh"
+#include "G4LogicalVolume.hh"
+#include "G4MultiFunctionalDetector.hh"
+#include "G4VSolid.hh"
+
+// NPTool header
+#include "NPSVDetector.hh"
+#include "NPInputParser.h"
+#include "NPXmlParser.h"
+#include "NPCore.h"
+#include "TSamuraiBDCData.h"
+
+class SamuraiBDC : public NPS::VDetector{
+  ////////////////////////////////////////////////////
+  /////// Default Constructor and Destructor /////////
+  ////////////////////////////////////////////////////
+  public:
+    SamuraiBDC() ;
+    virtual ~SamuraiBDC() ;
+
+    ////////////////////////////////////////////////////
+    /////// Specific Function of this Class ///////////
+    ////////////////////////////////////////////////////
+  public:
+  
+    // Cartezian BDC
+    void AddDetector(G4ThreeVector Mag_Pos, G4ThreeVector Offset, unsigned int det);
+    void ReadXML(std::string xml_file,G4ThreeVector offset, bool InvertX,bool InvertY, unsigned int det);
+
+    G4LogicalVolume* BuildBDC1();
+    G4LogicalVolume* BuildBDC2();
+    G4LogicalVolume* BuildWire();
+    G4LogicalVolume* BuildHexagon();
+
+  private:
+  
+    //Logical Volume
+
+    //BDC1
+    std::map<unsigned int , G4ThreeVector> m_PositionWire1;
+    std::map<unsigned int , int> m_LayerNbr1;
+    std::map<unsigned int , int> m_WireNbr1;
+    std::map<unsigned int , bool> m_IsHorizontal1;
+    std::map<unsigned int , double> m_WireAngle1; 
+
+    //BDC2
+    std::map<unsigned int , G4ThreeVector> m_PositionWire2;
+    std::map<unsigned int , int> m_LayerNbr2; 
+    std::map<unsigned int , int> m_WireNbr2; 
+    std::map<unsigned int , bool> m_IsHorizontal2;
+    std::map<unsigned int , double> m_WireAngle2;
+  
+    G4LogicalVolume* m_BDC1; 
+    G4LogicalVolume* m_BDC2; 
+    G4LogicalVolume* m_Wire;
+
+    G4LogicalVolume* m_Hexagon;
+  
+    ////////////////////////////////////////////////////
+    //////  Inherite from NPS::VDetector class /////////
+    ////////////////////////////////////////////////////
+  public:
+    // Read stream at Configfile to pick-up parameters of detector (Position,...)
+    // Called in DetecorConstruction::ReadDetectorConfiguration Method
+    void ReadConfiguration(NPL::InputParser) ;
+
+    // Construct detector and initialise sensitive part.
+    // (Called After DetecorConstruction::AddDetector Method)
+    void ConstructDetector(G4LogicalVolume* world) ;
+
+    // Add Detector branch to the EventTree.
+    // (Called After DetecorConstruction::AddDetector Method)
+    void InitializeRootOutput() ;
+
+    // Read sensitive part and fill the Root tree.
+    // (Called at in the EventAction::EndOfEventAction)
+    void ReadSensitive(const G4Event* event) ;
+
+  public:
+    // Scorer
+    // Initialize the scorer(s) used by the BDC detector
+    void InitializeScorers() ;
+
+    // Associated Scorer
+    G4MultiFunctionalDetector* m_WireScorerBDC ;
+  
+    ////////////////////////////////////////////////////
+    ///////////Event class to store Data////////////////
+    ////////////////////////////////////////////////////
+  private:
+    TSamuraiBDCData* m_Event;
+    ////////////////////////////////////////////////////
+
+    ////////////////////////////////////////////////////
+    ///////////////Private intern Data//////////////////
+    ////////////////////////////////////////////////////
+  private:
+    //Detector coordinates
+    std::map<unsigned int, G4ThreeVector> m_position;//!
+    std::map<unsigned int, G4ThreeVector> m_offset;//!
+    std::map<unsigned int, bool> m_invertX;//!
+    std::map<unsigned int, bool> m_invertY;//!
+    std::map<unsigned int, bool> m_invertD;//!
+
+    // Visualisation Attributes
+    G4VisAttributes* m_VisBDC;
+    G4VisAttributes* m_VisWire;
+
+  // Needed for dynamic loading of the library
+  public:
+    static NPS::VDetector* Construct();
+};
+#endif
+
+
+
+
+
+
+
diff --git a/NPSimulation/Detectors/Samurai/SamuraiFDC0.cc b/NPSimulation/Detectors/Samurai/SamuraiFDC0.cc
new file mode 100644
index 0000000000000000000000000000000000000000..a2bb64c33f8be5b0a04ca9a5a93db79e8af2b5c2
--- /dev/null
+++ b/NPSimulation/Detectors/Samurai/SamuraiFDC0.cc
@@ -0,0 +1,390 @@
+/*****************************************************************************
+ * Copyright (C) 2009-2021   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: Audrey Anne  contact address: anne@lpccaen.in2p3.fr      *
+ *                                                                           *
+ * Creation Date  : january 2024                                             *
+ * Last update    :                                                          *
+ *---------------------------------------------------------------------------*
+ * Decription:                                                               *
+ *  This class describe  SamuraiFDC0 simulation                              *
+ *                                                                           *
+ *---------------------------------------------------------------------------*
+ * Comment:                                                                  *
+ *                                                                           *
+ *****************************************************************************/
+
+// C++ headers
+#include <sstream>
+#include <cmath>
+//G4 Geometry object
+#include "G4Box.hh"
+#include "G4Tubs.hh"
+
+//G4 sensitive
+#include "G4SDManager.hh"
+#include "G4MultiFunctionalDetector.hh"
+
+//G4 various object
+#include "G4Material.hh"
+#include "G4Transform3D.hh"
+#include "G4PVPlacement.hh"
+#include "G4VisAttributes.hh"
+#include "G4Colour.hh"
+#include "G4RegionStore.hh"
+
+// NPTool header
+#include "SamuraiFDC0.hh"
+#include "InteractionScorers.hh"
+#include "RootOutput.h"
+#include "MaterialManager.hh"
+#include "NPSDetectorFactory.hh"
+#include "NPOptionManager.h"
+#include "NPSHitsMap.hh"
+// CLHEP header
+#include "CLHEP/Random/RandGauss.h"
+
+#include "WireScorers.hh"
+
+#include "G4TwoVector.hh"
+#include "G4ExtrudedSolid.hh"
+
+using namespace std;
+using namespace CLHEP;
+
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+namespace SamuraiFDC0_NS{
+
+  //Main outer box
+  // const double FDC0_Width = 160*mm; //(x)
+  // const double FDC0_Height = 160*mm;//(y)
+  // const double FDC0_Depth = 160*mm;//(z)
+
+  const double FDC0_Width = 170*mm; //(x)
+  const double FDC0_Height = 170*mm;//(y)
+  const double FDC0_Depth = 170*mm;//(z)
+
+  const string FDC0_Gas = "CH4_60_He_40";
+  const double FDC0_Temperature = 298.15; // K
+  const double FDC0_Pressure = 1.0; //atm
+
+  //Detector Number
+  const short int FDC0_DetectorNumber = 0;
+
+  //Wires
+  const double Wire_Length = 150*mm;
+  const double Wire_Diameter = 5*mm;
+  const string Wire_Gas = "CH4_60_He_40";
+  const double Wire_Temperature = 298.15; // K 
+  const double Wire_Pressure = 1.0; //atm 
+
+  const int Number_Of_Layer = 8; // from 0 to 7 in the xml file
+  const int Number_Of_Wire_By_Layer = 32; // from 0 to 31 in the xml file
+  const double Drift_Speed = 1.33e-4; //------> FIX ME!!! not important (yet)
+
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+// Samurai Specific Method
+SamuraiFDC0::SamuraiFDC0(){
+
+  //Visualization attributes
+
+  //Main box
+  m_VisFDC0 = new G4VisAttributes(G4Colour(0.0,1.0,0,0.1));
+  //Logical volumes
+  m_FDC0 = NULL;
+
+  //Wire
+  m_VisWire = new G4VisAttributes(G4Colour(1.0,0,0.0,1.0));
+  //Logical volumes
+  m_Wire = NULL;
+  //Scorer
+  m_WireScorerFDC0 = NULL;
+
+  //Data event
+  m_Event = new TSamuraiFDC0Data; 
+  
+  //Hexagon
+  m_Hexagon = NULL;
+}
+
+SamuraiFDC0::~SamuraiFDC0(){
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+void SamuraiFDC0::AddDetector(G4ThreeVector Mag_Pos, G4ThreeVector Offset){
+
+  m_Pos = Mag_Pos + Offset;
+
+  return;
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+G4LogicalVolume* SamuraiFDC0::BuildFDC0(){
+  if(!m_FDC0){
+    //Shape - G4Box
+    G4Box* box = new G4Box("FDC0_Box",SamuraiFDC0_NS::FDC0_Width*0.5,
+			   SamuraiFDC0_NS::FDC0_Height*0.5,SamuraiFDC0_NS::FDC0_Depth*0.5);
+
+    //Material - Gas
+    G4Material* Gas = MaterialManager::getInstance()->GetGasFromLibrary(SamuraiFDC0_NS::FDC0_Gas, SamuraiFDC0_NS::FDC0_Pressure,SamuraiFDC0_NS::FDC0_Temperature);
+
+    //Logical Volume
+    m_FDC0 = new G4LogicalVolume(box, Gas , "logic_SamuraiFDC0_box",0,0,0);
+    m_FDC0->SetVisAttributes(m_VisFDC0);
+  }
+  return m_FDC0;
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+G4LogicalVolume* SamuraiFDC0::BuildWire(){
+if(!m_Wire){
+  //Shape - G4Tubs
+  G4Tubs* solidWire = new G4Tubs("FDC0_Wire", 0.0, SamuraiFDC0_NS::Wire_Diameter*0.5,SamuraiFDC0_NS::Wire_Length*0.5, 0., 360.);
+
+  //Material - Gas
+  G4Material* GasWire = MaterialManager::getInstance()->GetGasFromLibrary(SamuraiFDC0_NS::Wire_Gas, SamuraiFDC0_NS::Wire_Pressure,SamuraiFDC0_NS::Wire_Temperature);
+  //Logical Volume
+  m_Wire = new G4LogicalVolume(solidWire, GasWire, "logic_SamuraiWire_tub",0,0,0);
+  m_Wire->SetVisAttributes(m_VisWire);
+  m_Wire->SetSensitiveDetector(m_WireScorerFDC0);
+  
+  }
+  return m_Wire;
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+G4LogicalVolume* SamuraiFDC0::BuildHexagon(){
+if(!m_Hexagon){
+  //Shape 
+ 
+  const G4int nsect = 6;
+  std::vector<G4TwoVector> polygon(nsect);
+  G4double ang = twopi/nsect;
+
+  G4double dz = SamuraiFDC0_NS::Wire_Length*0.5;
+  G4double rmax = SamuraiFDC0_NS::Wire_Diameter*0.5;
+  
+  for (G4int i = 0; i < nsect; ++i)
+    {
+      G4double phi = i*ang;
+      G4double cosphi = std::cos(phi);
+      G4double sinphi = std::sin(phi);
+      polygon[i].set(rmax*cosphi, rmax*sinphi);
+    }
+  
+  G4TwoVector offsetA(0,0), offsetB(0,0);
+  G4double scaleA = 1, scaleB = 1;
+  G4VSolid* solidHexagon = new G4ExtrudedSolid("Extruded", polygon, dz, offsetA, scaleA, offsetB, scaleB);
+  
+
+  
+  //Material - Gas
+  G4Material* GasWire = MaterialManager::getInstance()->GetGasFromLibrary(SamuraiFDC0_NS::Wire_Gas, SamuraiFDC0_NS::Wire_Pressure,SamuraiFDC0_NS::Wire_Temperature);
+  
+  //Logical Volume
+  m_Hexagon = new G4LogicalVolume(solidHexagon, GasWire, "logic_SamuraiWire_tub",0,0,0);
+  m_Hexagon->SetVisAttributes(m_VisWire);
+  m_Hexagon->SetSensitiveDetector(m_WireScorerFDC0);
+  
+  }
+  return m_Hexagon;
+}
+
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+// Virtual Method of NPS::VDetector class
+// Read stream at Configfile to pick-up parameters of detector (Position,...)
+// (Called in DetecorConstruction::ReadDetectorConfiguration Method)
+void SamuraiFDC0::ReadConfiguration(NPL::InputParser parser){
+  
+  vector<NPL::InputBlock*> blocks2 = parser.GetAllBlocksWithToken("SAMURAIFDC0");
+
+  if(blocks2.size()==1){
+    if(NPOptionManager::getInstance()->GetVerboseLevel()) {
+      cout << "/////// Samurai FDC0 found ///////" << endl;
+    }
+
+    vector<string> xml = {"XML","Offset", "InvertX","InvertY","InvertD"};
+
+    G4ThreeVector Mag_Pos;
+    G4ThreeVector Offset;
+     
+    if(blocks2[0]->HasTokenList(xml)){
+      if(NPOptionManager::getInstance()->GetVerboseLevel())
+        cout << endl << "////  FDC0 XML file " <<  endl;
+      string xml_file = blocks2[0]->GetString("XML");
+      Offset = NPS::ConvertVector(blocks2[0]->GetTVector3("Offset", "mm"));
+      bool invert_x = blocks2[0]->GetInt("InvertX");
+      bool invert_y = blocks2[0]->GetInt("InvertY");
+      bool invert_z = blocks2[0]->GetInt("InvertD");
+      ReadXML(xml_file,Offset,invert_x,invert_y);
+    }
+    
+    AddDetector(Mag_Pos, Offset);
+
+  }
+  else{
+    cout << "ERROR for FDC0: check your input file " << endl;
+    exit(1);
+  }
+     
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//////////////////// nouveau ///////////////////
+void SamuraiFDC0::ReadXML(std::string xml_file,G4ThreeVector offset, bool InvertX,bool InvertY){ 
+  NPL::XmlParser xml;
+  xml.LoadFile(xml_file);
+
+  std::vector<NPL::XML::block*> b = xml.GetAllBlocksWithName("SAMURAIFDC0");
+  int NumberOfWires=0;
+  for(unsigned int i = 0 ; i < b.size() ; i++){
+    NumberOfWires++;
+
+    // Wire ID in general
+    auto ID  = b[i]->AsInt("ID");
+
+    // Layer Number
+    auto LayerNbr = b[i]->AsInt("layer");
+    
+    // Wire direction
+    auto DirectionWire = b[i]->AsString("anodedir");
+    //Wire id in the layer
+    auto WireNbr  = b[i]->AsInt("wireid");
+
+    //Wire x or y position
+    auto PositionXY = b[i]->AsDouble("wirepos");
+    auto PositionZ = b[i]->AsDouble("wirez");
+
+    // position wire and direction wire
+    if(DirectionWire.find("Y")==std::string::npos){ // if not horizontal
+      m_PositionWire[ID] = G4ThreeVector(PositionXY,0.0,PositionZ);
+      m_IsHorizontal[ID] = false;
+    }
+    else { // if horizontal
+      m_PositionWire[ID] = G4ThreeVector(0.0,PositionXY,PositionZ);
+      m_IsHorizontal[ID] = true;
+    }
+
+    m_LayerNbr[ID] = LayerNbr;
+    m_WireNbr[ID] = WireNbr;
+        
+  } //end of for loop
+  cout << " -> " << NumberOfWires << " wires found for FDC0" << endl;
+
+}//end of ReadXML
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+// Construct detector and inialise sensitive part.
+// (Called After DetectorConstruction::AddDetector Method)
+void SamuraiFDC0::ConstructDetector(G4LogicalVolume* world){
+
+  G4RotationMatrix* Rot = new G4RotationMatrix();
+  
+  new G4PVPlacement(0, m_Pos,
+          BuildFDC0(), "SamuraiFDC0", world, false, 0);
+  
+  for(auto pos : m_PositionWire){ //loop on FDC0 wires
+    
+    if(m_IsHorizontal[pos.first]){
+	Rot->rotateY(90.*deg);
+
+	
+      }
+    else Rot->rotateX(90.*deg);
+	
+    new G4PVPlacement(G4Transform3D(*Rot,pos.second),BuildWire(),
+		      "WireModule",m_FDC0,false,pos.first);
+    Rot->set(0,0,0);
+  }// end for loop on wires
+  
+  return;
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+// Add Detector branch to the EventTree.
+// Called After DetecorConstruction::AddDetector Method
+void SamuraiFDC0::InitializeRootOutput(){
+  RootOutput *pAnalysis = RootOutput::getInstance();
+  TTree *pTree = pAnalysis->GetTree();
+  
+  if(!pTree->FindBranch("SamuraiFDC0")){
+    pTree->Branch("SamuraiFDC0", "TSamuraiFDC0Data", &m_Event) ;
+  }
+  pTree->SetBranchAddress("SamuraiFDC0", &m_Event);
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+// Read sensitive part and fill the Root tree.
+// (Called at in the EventAction::EndOfEventAvtion)
+void SamuraiFDC0::ReadSensitive(const G4Event* event){
+  
+  m_Event->Clear();
+
+  WireScorers::PS_Wire* WireScorerFDC0= (WireScorers::PS_Wire*) m_WireScorerFDC0->GetPrimitive(0);
+
+  unsigned int sizeWire =WireScorerFDC0->GetMult();
+  for(unsigned int i = 0 ; i < sizeWire ; i++)
+    {
+      int layer = WireScorerFDC0->GetLayerNumber(i);
+      int wireNbr = WireScorerFDC0->GetWireNumber(i);
+      double time = WireScorerFDC0->GetTime(i);
+      int edge = WireScorerFDC0->GetEdge(i);
+      double DriftLength = WireScorerFDC0->GetDriftLength(i);
+      
+      m_Event->SetData(SamuraiFDC0_NS::FDC0_DetectorNumber, layer,
+		       wireNbr, DriftLength, edge);// driftlength instead of time
+    }
+  
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......  
+void SamuraiFDC0::InitializeScorers() { 
+  // This check is necessary in case the geometry is reloaded
+  bool already_exist = false; 
+  m_WireScorerFDC0 = CheckScorer("WireScorerFDC0",already_exist);
+  if(already_exist) 
+    return;
+
+  // Otherwise the scorer is initialised
+  vector<int> level; level.push_back(0);
+  //Wire
+  G4VPrimitiveScorer* InteractionWire= new WireScorers::PS_Wire("WS_FDC0",level, SamuraiFDC0_NS::Number_Of_Layer,SamuraiFDC0_NS::Number_Of_Wire_By_Layer,SamuraiFDC0_NS::Drift_Speed, m_WireAngle) ;
+  m_WireScorerFDC0->RegisterPrimitive(InteractionWire);
+  G4SDManager::GetSDMpointer()->AddNewDetector(m_WireScorerFDC0) ;
+  
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+////////////////////////////////////////////////////////////////////////////////
+//            Construct Method to be pass to the DetectorFactory              //
+////////////////////////////////////////////////////////////////////////////////
+NPS::VDetector* SamuraiFDC0::Construct(){
+  return  (NPS::VDetector*) new SamuraiFDC0();
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+////////////////////////////////////////////////////////////////////////////////
+//            Registering the construct method to the factory                 //
+////////////////////////////////////////////////////////////////////////////////
+extern"C" {
+  class proxy_nps_samuraiFDC0{
+    public:
+      proxy_nps_samuraiFDC0(){
+        NPS::DetectorFactory::getInstance()->AddToken("SAMURAIFDC0","SAMURAIFDC0");
+        NPS::DetectorFactory::getInstance()->AddDetector("SAMURAIFDC0",SamuraiFDC0::Construct);
+      }
+  };
+  
+  proxy_nps_samuraiFDC0 p_nps_samuraiFDC0;
+}
+
+
diff --git a/NPSimulation/Detectors/Samurai/SamuraiFDC0.hh b/NPSimulation/Detectors/Samurai/SamuraiFDC0.hh
new file mode 100644
index 0000000000000000000000000000000000000000..249954b77bfaf0d6e211aab2dfac8a17a8a8ffd4
--- /dev/null
+++ b/NPSimulation/Detectors/Samurai/SamuraiFDC0.hh
@@ -0,0 +1,134 @@
+#ifndef Samurai_h
+#define Samurai_h 1
+/*****************************************************************************
+ * Copyright (C) 2009-2021   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: Audrey Anne  contact address: anne@lpccaen.in2p3.fr      *
+ *                                                                           *
+ * Creation Date  : january 2024                                             *
+ * Last update    : june 2024                                                *
+ *---------------------------------------------------------------------------*
+ * Decription:                                                               *
+ *  This class describe  SamuraiFDC0 simulation                                  *
+ *                                                                           *
+ *---------------------------------------------------------------------------*
+ * Comment:                                                                  *
+ *                                                                           *
+ *****************************************************************************/
+
+// C++ header
+#include <string>
+#include <vector>
+using namespace std;
+
+// G4 headers
+#include "G4ThreeVector.hh"
+#include "G4RotationMatrix.hh"
+#include "G4LogicalVolume.hh"
+#include "G4MultiFunctionalDetector.hh"
+#include "G4VSolid.hh"
+
+// NPTool header
+#include "NPSVDetector.hh"
+#include "NPInputParser.h"
+#include "NPXmlParser.h"
+
+#include "TSamuraiFDC0Data.h"
+
+class SamuraiFDC0 : public NPS::VDetector{
+  ////////////////////////////////////////////////////
+  /////// Default Constructor and Destructor /////////
+  ////////////////////////////////////////////////////
+  public:
+    SamuraiFDC0() ;
+    virtual ~SamuraiFDC0() ;
+
+    ////////////////////////////////////////////////////
+    /////// Specific Function of this Class ///////////
+    ////////////////////////////////////////////////////
+  public:
+  
+    // Cartezian FDC0
+    void AddDetector(G4ThreeVector Mag_Pos, G4ThreeVector Offset);
+    void ReadXML(std::string xml_file,G4ThreeVector offset, bool InvertX,bool InvertY);
+
+    G4LogicalVolume* BuildFDC0();
+    G4LogicalVolume* BuildWire();
+    G4LogicalVolume* BuildHexagon();
+  
+  private:
+  
+    //Logical Volume
+    std::map<unsigned int , G4ThreeVector> m_PositionWire; 
+    std::map<unsigned int , int> m_LayerNbr;
+    std::map<unsigned int , int> m_WireNbr;
+    std::map<unsigned int , double> m_WireAngle;
+    std::map<unsigned int , bool> m_IsHorizontal;
+  
+    G4LogicalVolume* m_FDC0;
+    G4LogicalVolume* m_Wire;
+    G4LogicalVolume* m_Hexagon;
+    
+    ////////////////////////////////////////////////////
+    //////  Inherite from NPS::VDetector class /////////
+    ////////////////////////////////////////////////////
+  public:
+    // Read stream at Configfile to pick-up parameters of detector (Position,...)
+    // Called in DetecorConstruction::ReadDetectorConfiguration Method
+    void ReadConfiguration(NPL::InputParser) ;
+
+    // Construct detector and initialise sensitive part.
+    // (Called After DetecorConstruction::AddDetector Method)
+    void ConstructDetector(G4LogicalVolume* world) ;
+
+    // Add Detector branch to the EventTree.
+    // (Called After DetecorConstruction::AddDetector Method)
+    void InitializeRootOutput() ;
+
+    // Read sensitive part and fill the Root tree.
+    // (Called at in the EventAction::EndOfEventAction)
+    void ReadSensitive(const G4Event* event) ;
+
+  public:
+    // Scorer
+    // Initialize the scorer(s) used by the FDC0 detector
+    void InitializeScorers() ;
+
+    //   Associated Scorer
+    G4MultiFunctionalDetector* m_WireScorerFDC0;
+  
+    ////////////////////////////////////////////////////
+    ///////////Event class to store Data////////////////
+    ////////////////////////////////////////////////////
+  private:
+   
+    TSamuraiFDC0Data* m_Event;
+
+    ////////////////////////////////////////////////////
+    ///////////////Private intern Data//////////////////
+    ////////////////////////////////////////////////////
+  private:
+    //Detector coordinates
+    G4ThreeVector m_Pos;
+
+    // Visualisation Attributes
+    G4VisAttributes* m_VisFDC0;
+    G4VisAttributes* m_VisWire;
+  
+  // Needed for dynamic loading of the library
+  public:
+    static NPS::VDetector* Construct();
+};
+#endif
+
+
+
+
+
+
+
diff --git a/NPSimulation/Detectors/Samurai/SamuraiFDC2.cc b/NPSimulation/Detectors/Samurai/SamuraiFDC2.cc
index e403e631735fbbcd135259176de575dc2a8fa28d..122a9eab125f9ef56d29f161c1bf5a1951ac54c0 100644
--- a/NPSimulation/Detectors/Samurai/SamuraiFDC2.cc
+++ b/NPSimulation/Detectors/Samurai/SamuraiFDC2.cc
@@ -6,13 +6,13 @@
  *****************************************************************************/
 
 /*****************************************************************************
- * Original Author: Omar Nasr  contact address: omar.h.nasr@outlook.com      *
+ * Original Author: Audrey ANNE  contact address: anne@lpccaen.in2p3.fr      *
  *                                                                           *
- * Creation Date  : septembre 2021                                           *
- * Last update    : septembre 2021                                           *
+ * Creation Date  :                                                          *
+ * Last update    : august 2024                                              *
  *---------------------------------------------------------------------------*
  * Decription:                                                               *
- *  This class describe  Samurai simulation                                  *
+ *  This class describe  SamuraiFDC2 simulation                              *
  *                                                                           *
  *---------------------------------------------------------------------------*
  * Comment:                                                                  *
@@ -37,9 +37,12 @@
 #include "G4Colour.hh"
 #include "G4RegionStore.hh"
 
+#include "G4Tubs.hh"
+#include "G4SubtractionSolid.hh"
+#include "G4IntersectionSolid.hh"
+
 // NPTool header
 #include "SamuraiFDC2.hh"
-//#include "CalorimeterScorers.hh"
 #include "InteractionScorers.hh"
 #include "RootOutput.h"
 #include "MaterialManager.hh"
@@ -49,6 +52,8 @@
 // CLHEP header
 #include "CLHEP/Random/RandGauss.h"
 
+#include "WireScorers.hh"
+
 using namespace std;
 using namespace CLHEP;
 
@@ -58,14 +63,29 @@ namespace SamuraiFDC2_NS{
   // Samurai magnet construction paramethers
 
   //Main outer box
-  const double FDC2_Width = 2616*mm; //(x)
-  const double FDC2_Height = 1156*mm;//(y)
-  const double FDC2_Depth = 876*mm;//(z)
-  const string FDC2_Material = "G4_Galactic"; 
+  const double FDC2_Width = 2296*mm; //(x)
+  const double FDC2_Height = 836*mm;//(y)
+  const double FDC2_Depth = 650*mm;//(z)
+  const string FDC2_Material_Void = "G4_Galactic";
+
+  const string FDC2_Gas = "CH4_60_He_40";
+  const double FDC2_Temperature = 298.15; // K
+  const double FDC2_Pressure = 1.0; //atm
 
   //Detector Number
   const short int FDC2_DetectorNumber = 2;
 
+  //Wires
+  const double Wire_length = 3000*mm;
+  const double Wire_diameter = 19.99*mm;
+  const string Wire_Gas = "CH4_60_He_40";
+  const double Wire_Temperature = 298.15; // K 
+  const double Wire_Pressure = 1.0; //atm
+
+  const int Number_Of_Layer = 14; // from 0 to 13 in the xml file
+  const int Number_Of_Wire_By_Layer = 112; // from 0 to 111 in the xml file
+  const double Drift_Speed = 1.33e-4; //------> FIX ME!!! not important (yet)
+
 }
 
 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -74,14 +94,20 @@ namespace SamuraiFDC2_NS{
 SamuraiFDC2::SamuraiFDC2(){
 
   //Visualization attributes
-  m_VisFDC2 = new G4VisAttributes(G4Colour(1,0,1,0.5));
+  m_VisFDC2 = new G4VisAttributes(G4Colour(1,0,1,0.3));
   //Logical volumes
   m_FDC2 = NULL;
+
+  //Wire
+  m_VisWire = new G4VisAttributes(G4Colour(1.0,0,0.0,0.7));
+  //Logical volumes
+  m_Wire = NULL;
   //Scorer
-  m_FDC2Scorer = NULL;
-  //Ideal Data event
-  m_Event = new TSamuraiIdealData;
+  m_WireScorerFDC2 = NULL;
 
+  //Data event
+  m_Event = new TSamuraiFDC2Data;
+  
 }
 
 SamuraiFDC2::~SamuraiFDC2(){
@@ -94,7 +120,7 @@ void SamuraiFDC2::AddDetector(G4ThreeVector Mag_Pos, double Mag_Angle, G4ThreeVe
 
   Offset.rotateY(-(m_Angle));
   m_Pos = Mag_Pos + Offset;
-
+  
   return;
 }
 
@@ -105,19 +131,41 @@ G4LogicalVolume* SamuraiFDC2::BuildFDC2(){
     //Shape - G4Box
     G4Box* box = new G4Box("FDC2_Box",SamuraiFDC2_NS::FDC2_Width*0.5,
 			   SamuraiFDC2_NS::FDC2_Height*0.5,SamuraiFDC2_NS::FDC2_Depth*0.5);
-  
-    //Material - vacuum
-    G4Material* VacuumMaterial = MaterialManager::getInstance()
-      ->GetMaterialFromLibrary(SamuraiFDC2_NS::FDC2_Material);
+    
+    //Material
+    G4Material* Gas = MaterialManager::getInstance()->GetGasFromLibrary(SamuraiFDC2_NS::FDC2_Gas,SamuraiFDC2_NS::FDC2_Pressure, SamuraiFDC2_NS::FDC2_Temperature);
 
     //Logical Volume
-    m_FDC2 = new G4LogicalVolume(box, VacuumMaterial, "logic_SamuraiFDC2_box",0,0,0);
+    m_FDC2 = new G4LogicalVolume(box, Gas, "logic_SamuraiFDC2_box",0,0,0);
     m_FDC2->SetVisAttributes(m_VisFDC2);
-    m_FDC2->SetSensitiveDetector(m_FDC2Scorer);
   }
   return m_FDC2;
 }
 
+
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+G4LogicalVolume* SamuraiFDC2::BuildWire(){
+if(!m_Wire){
+
+  //Shape - G4Tubs
+  G4Tubs* solidWire = new G4Tubs("FDC2_Wire", 0.0, SamuraiFDC2_NS::Wire_diameter*0.5,SamuraiFDC2_NS::Wire_length*0.5, 0., 360.);
+
+  
+  //material
+  G4Material* GasWire = MaterialManager::getInstance()->GetGasFromLibrary(SamuraiFDC2_NS::Wire_Gas, SamuraiFDC2_NS::Wire_Pressure,SamuraiFDC2_NS::Wire_Temperature);
+  
+  
+  //Logical Volume
+  m_Wire = new G4LogicalVolume(solidWire, GasWire, "logic_SamuraiWire_tub",0,0,0);
+  m_Wire->SetVisAttributes(m_VisWire);
+  m_Wire->SetSensitiveDetector(m_WireScorerFDC2);
+  
+  }
+  return m_Wire;
+}
+
+
 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
 
 // Virtual Method of NPS::VDetector class
@@ -129,21 +177,25 @@ void SamuraiFDC2::ReadConfiguration(NPL::InputParser parser){
   vector<NPL::InputBlock*> blocks = parser.GetAllBlocksWithToken("Samurai");
   vector<NPL::InputBlock*> blocks2 = parser.GetAllBlocksWithToken("SAMURAIFDC2");
 
+  G4ThreeVector Mag_Pos;
+  double Mag_Angle;
+  G4ThreeVector Offset;
+  double Off_Angle;
+  
   if(blocks.size()==1 && blocks2.size()==1){
     if(NPOptionManager::getInstance()->GetVerboseLevel()) {
-      cout << "/////// Samurai FDC2 found ///////" << endl;
+      cout << "/////// Samurai FDC2 found with Samurai Magnet ///////" << endl;
     }
     vector<string> cart = {"POS","ANGLE"};
     vector<string> sphe = {"R","Theta","Phi","ANGLE"};
-
-    G4ThreeVector Mag_Pos;
-    double Mag_Angle;
-
+    vector<string> xml = {"XML","Offset", "InvertX","InvertY","InvertD"};
+    
     if(blocks[0]->HasTokenList(cart)){
       Mag_Pos = NPS::ConvertVector(blocks[0]->GetTVector3("POS", "cm"));
       Mag_Angle = blocks[0]->GetDouble("ANGLE","deg");
     }
-    else if(blocks[0]->HasTokenList(sphe)){
+    
+    if(blocks[0]->HasTokenList(sphe)){
       double R = blocks[0]->GetDouble("R","mm");
       double Theta = blocks[0]->GetDouble("Theta","deg");
       double Phi = blocks[0]->GetDouble("Phi","deg");
@@ -152,38 +204,177 @@ void SamuraiFDC2::ReadConfiguration(NPL::InputParser parser){
       Mag_Pos.setPhi(Phi);
       Mag_Angle = blocks[0]->GetDouble("ANGLE","deg");
     }
-    
-    G4ThreeVector Offset = NPS::ConvertVector(blocks2[0]->GetTVector3("Offset", "mm"));
-    double Off_Angle = blocks2[0]->GetDouble("OffAngle","deg");
 
-    //string xml = blocks2[0]->GetString("XML");
-    //bool invert_x = blocks2[0]->GetBool("InvertX");
-    //bool invert_y = blocks2[0]->GetBool("InvertY");
-    //bool invert_z = blocks2[0]->GetBool("InvertD");
-  
+    if(blocks2[0]->HasTokenList(xml)){
+      if(NPOptionManager::getInstance()->GetVerboseLevel())
+        cout << endl << "////  FDC2 XML file " <<  endl;
+      string xml_file = blocks2[0]->GetString("XML");
+      Offset = NPS::ConvertVector(blocks2[0]->GetTVector3("Offset", "mm"));
+      Off_Angle = blocks2[0]->GetDouble("OffAngle","deg");
+      bool invert_x = blocks2[0]->GetInt("InvertX");
+      bool invert_y = blocks2[0]->GetInt("InvertY");
+      bool invert_z = blocks2[0]->GetInt("InvertD");
+      ReadXML(xml_file,Offset,invert_x,invert_y);
+    }    
+
     AddDetector(Mag_Pos, Mag_Angle, Offset, Off_Angle);
 
-  }
+  }// SamuraiFDC2 and SamuraiMagnet
+
+  else if(blocks.size()==0 && blocks2.size()==1)
+    {
+      if(NPOptionManager::getInstance()->GetVerboseLevel())
+	{
+	  cout << "/////// Samurai FDC2 ///////" << endl;
+	}
+
+      vector<string> xml = {"XML","Offset", "InvertX","InvertY","InvertD"};
+      if(blocks2[0]->HasTokenList(xml)){//--------------> nouveau
+	if(NPOptionManager::getInstance()->GetVerboseLevel())
+	  cout << endl << "////  FDC2 XML file " <<  endl;//--------------> nouveau
+	string xml_file = blocks2[0]->GetString("XML");//--------------> nouveau
+	Offset = NPS::ConvertVector(blocks2[0]->GetTVector3("Offset", "mm"));//-----------> nouveau
+	Off_Angle = blocks2[0]->GetDouble("OffAngle","deg");//-----------> nouveau
+	bool invert_x = blocks2[0]->GetInt("InvertX");//--------------> nouveau
+	bool invert_y = blocks2[0]->GetInt("InvertY");//--------------> nouveau
+	bool invert_z = blocks2[0]->GetInt("InvertD");//--------------> nouveau
+	ReadXML(xml_file,Offset,invert_x,invert_y);//--------------> nouveau
+      }    
+
+       m_Pos = Mag_Pos + Offset;
+
+    }//SamuraiFDC2
+
+  
   else{
     cout << "ERROR: there should be only one Samurai magnet, check your input file" << endl;
     exit(1);
   }
     
-  
 }
 
 
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+void SamuraiFDC2::ReadXML(std::string xml_file,G4ThreeVector offset, bool InvertX,bool InvertY){ 
+  NPL::XmlParser xml;
+  xml.LoadFile(xml_file);
+
+  std::vector<NPL::XML::block*> b = xml.GetAllBlocksWithName("SAMURAIFDC2");
+  int NumberOfWires=0;
+  for(unsigned int i = 0 ; i < b.size() ; i++){
+    NumberOfWires++;
+
+    // Wire ID in general
+    auto WireId  = b[i]->AsInt("ID");
+
+    // Layer Number
+    auto LayerNbr = b[i]->AsInt("layer");
+    
+    // Wire direction
+    auto DirectionWire = b[i]->AsString("anodedir");
+    //Wire id in the layer
+    auto WireNbr  = b[i]->AsInt("wireid");
+
+    //Wire x or y position
+    auto PositionX = b[i]->AsDouble("wirepos");
+    auto PositionZ = b[i]->AsDouble("wirez");
+
+    // position wire and direction wire
+    // X , U or V
+    m_PositionWire[WireId] = G4ThreeVector(PositionX,0.0,PositionZ);
+    m_IsHorizontal[WireId] = false;
+    
+    m_WireAngle[WireId] = 0.0*deg;
+    
+    if(DirectionWire.find("X")!=std::string::npos){ //X
+      m_WireAngle[WireId] = 0.0*deg;
+    }
+    
+    else if(DirectionWire.find("U")!=std::string::npos){ //U
+      m_WireAngle[WireId] = -30.0*deg;
+    }
+    
+    else if (DirectionWire.find("V")!=std::string::npos){ //V
+      m_WireAngle[WireId] = 30.0*deg;
+    }
+    
+    m_LayerNbr[WireId] = LayerNbr;
+    m_WireNbr[WireId] = WireNbr;
+    
+  } //end of for loop
+  cout << " -> " << NumberOfWires << " wires found" << endl;
+
+}//end of ReadXML
+
+
 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
 
 // Construct detector and inialise sensitive part.
 // (Called After DetectorConstruction::AddDetector Method)
 void SamuraiFDC2::ConstructDetector(G4LogicalVolume* world){
 
+  // Box
   G4RotationMatrix* Rot = new G4RotationMatrix();
-  Rot->rotateY(m_Angle);
+  Rot->rotateY(m_Angle);//rotation in volume's reference frame
   new G4PVPlacement(Rot, m_Pos,
           BuildFDC2(), "SamuraiFDC2", world, false, 0);
 
+  // Wires
+  G4RotationMatrix* RotWire = new G4RotationMatrix();// wire's rotation at the end
+  RotWire->set(0,0,0);
+
+  G4RotationMatrix* BoxRot = new G4RotationMatrix();
+  BoxRot->set(0,0,0);
+
+  
+  //material
+  G4Material* GasWire = MaterialManager::getInstance()->GetGasFromLibrary(SamuraiFDC2_NS::Wire_Gas, SamuraiFDC2_NS::Wire_Pressure,SamuraiFDC2_NS::Wire_Temperature);
+
+  
+  for(auto pos : m_PositionWire){ //loop on wires
+    
+      RotWire->rotateX(-90.*deg);    
+      RotWire->rotateZ(m_WireAngle[pos.first]);
+
+      G4ThreeVector position = pos.second;
+      double X = position[0];
+      double Y = position[1];
+      double Z = position[2];
+
+      double newX, newY;
+      newX = X*cos(-m_WireAngle[pos.first])+Y*sin(-m_WireAngle[pos.first]);
+      newY = -X*sin(-m_WireAngle[pos.first]) + Y*cos(-m_WireAngle[pos.first]);
+
+      m_PositionWire[pos.first] = G4ThreeVector(newX, newY, Z);
+      G4ThreeVector positionWire(newX, newY, Z);
+
+      
+      //////////////////////////////////////////////////////
+      G4Box* box = new G4Box("FDC2_Box",SamuraiFDC2_NS::FDC2_Width*0.5,
+			     SamuraiFDC2_NS::FDC2_Depth*0.5,SamuraiFDC2_NS::FDC2_Height*0.5);
+      G4Tubs* solidWire = new G4Tubs("FDC2_Wire", 0.0, SamuraiFDC2_NS::Wire_diameter*0.5,SamuraiFDC2_NS::Wire_length*0.5, 0., 360.);
+
+      BoxRot->rotateY(m_WireAngle[pos.first]);
+      
+      G4ThreeVector BoxPosition(-X,0, 0);
+      G4Transform3D TransformBox(*BoxRot, BoxPosition);
+      
+      G4VSolid* Intersection = new G4IntersectionSolid("FDC2_Wire", solidWire, box, TransformBox);
+      m_Wire = new G4LogicalVolume(Intersection, GasWire, "logic_SamuraiWire_tub",0,0,0);
+      m_Wire->SetVisAttributes(m_VisWire);
+      m_Wire->SetSensitiveDetector(m_WireScorerFDC2);
+
+      // intersection
+      new G4PVPlacement(G4Transform3D(*RotWire, positionWire),
+			m_Wire,
+			"WireModule",m_FDC2,false,pos.first);
+
+      RotWire->set(0,0,0);
+      BoxRot->set(0,0,0);
+   
+  }// end for loop on wires
+  
   return;
 }
 
@@ -194,10 +385,10 @@ void SamuraiFDC2::ConstructDetector(G4LogicalVolume* world){
 void SamuraiFDC2::InitializeRootOutput(){
   RootOutput *pAnalysis = RootOutput::getInstance();
   TTree *pTree = pAnalysis->GetTree();
-  if(!pTree->FindBranch("IdealDataFDC2")){
-    pTree->Branch("IdealDataFDC2", "TSamuraiIdealData", &m_Event) ;
+  if(!pTree->FindBranch("SamuraiFDC2")){
+    pTree->Branch("SamuraiFDC2", "TSamuraiFDC2Data", &m_Event) ;
   }
-  pTree->SetBranchAddress("IdealDataFDC2", &m_Event);
+  pTree->SetBranchAddress("SamuraiFDC2", &m_Event);
 }
 
 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -208,25 +399,21 @@ void SamuraiFDC2::InitializeRootOutput(){
 void SamuraiFDC2::ReadSensitive(const G4Event* event){
   
   m_Event->Clear();
-  //Interaction Scorer
-  InteractionScorers::PS_Interactions* Scorer= (InteractionScorers::PS_Interactions*) m_FDC2Scorer->GetPrimitive(0);
-
-  unsigned int size = Scorer->GetMult(); 
-  for(unsigned int i = 0 ; i < size ; i++){
-    //vector<unsigned int> level = Scorer->GetLevel(i); 
-    //double Energy = RandGauss::shoot(Scorer->GetEnergy(i),SamuraiFDC2_NS::ResoEnergy);
-    //double Energy = Scorer->GetEnergy(i);
-
-    double energy = Scorer->GetEnergy(i);
-    double brho = Scorer->GetBrho(i);
-    double posx = Scorer->GetPositionX(i);
-    double posy = Scorer->GetPositionY(i);
-    double posz = Scorer->GetPositionZ(i);
-    double mom_mag = brho*Scorer->GetCharge(i);
-    double theta = Scorer->GetTheta(i);
-    double phi = Scorer->GetPhi(i);
-    m_Event->SetData(SamuraiFDC2_NS::FDC2_DetectorNumber, energy, posx, posy, posz, mom_mag, theta, phi, brho);
-  }
+
+  WireScorers::PS_Wire* WireScorerFDC2= (WireScorers::PS_Wire*) m_WireScorerFDC2->GetPrimitive(0);
+
+  unsigned int sizeWire =WireScorerFDC2->GetMult();
+  for(unsigned int i = 0 ; i < sizeWire ; i++)
+    {
+      int layer = WireScorerFDC2->GetLayerNumber(i);
+      int wireNbr = WireScorerFDC2->GetWireNumber(i);
+      double time = WireScorerFDC2->GetTime(i);
+      int edge = WireScorerFDC2->GetEdge(i);
+      double DriftLength = WireScorerFDC2->GetDriftLength(i);    
+      
+      m_Event->SetData(SamuraiFDC2_NS::FDC2_DetectorNumber, layer,
+		       wireNbr, DriftLength, edge);
+    }
 }
 
 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......  
@@ -234,17 +421,17 @@ void SamuraiFDC2::ReadSensitive(const G4Event* event){
 void SamuraiFDC2::InitializeScorers() { 
   // This check is necessary in case the geometry is reloaded
   bool already_exist = false; 
-  m_FDC2Scorer = CheckScorer("FDC2Scorer",already_exist) ;
+  m_WireScorerFDC2 = CheckScorer("WireScorerFDC2",already_exist);
 
   if(already_exist) 
     return ;
 
   // Otherwise the scorer is initialised
   vector<int> level; level.push_back(0);
-  //Interaction 
-  G4VPrimitiveScorer* Interaction= new InteractionScorers::PS_Interactions("Interaction",ms_InterCoord, 0) ; 
-  m_FDC2Scorer->RegisterPrimitive(Interaction);
-  G4SDManager::GetSDMpointer()->AddNewDetector(m_FDC2Scorer) ;
+  //Wire
+  G4VPrimitiveScorer* InteractionWire= new WireScorers::PS_Wire("WS_FDC2",level, SamuraiFDC2_NS::Number_Of_Layer,SamuraiFDC2_NS::Number_Of_Wire_By_Layer,SamuraiFDC2_NS::Drift_Speed, m_WireAngle) ;
+  m_WireScorerFDC2->RegisterPrimitive(InteractionWire);
+  G4SDManager::GetSDMpointer()->AddNewDetector(m_WireScorerFDC2) ;
 }
 
 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
diff --git a/NPSimulation/Detectors/Samurai/SamuraiFDC2.hh b/NPSimulation/Detectors/Samurai/SamuraiFDC2.hh
index 1dc277fc1347124b30879263f3a70a0e16cee23f..c8cbf458b2c2eba81d81a876f4aa551fad54e6d9 100644
--- a/NPSimulation/Detectors/Samurai/SamuraiFDC2.hh
+++ b/NPSimulation/Detectors/Samurai/SamuraiFDC2.hh
@@ -8,13 +8,13 @@
  *****************************************************************************/
 
 /*****************************************************************************
- * Original Author: Omar Nasr  contact address: omar.h.nasr@outlook.com      *
+* Original Author: Audrey ANNE  contact address: anne@lpccaen.in2p3.fr      *
  *                                                                           *
- * Creation Date  : septembre 2021                                           *
- * Last update    : septembre 2021                                           *
+ * Creation Date  :                                                          *
+ * Last update    : august 2024                                              *
  *---------------------------------------------------------------------------*
  * Decription:                                                               *
- *  This class describe  Samurai simulation                                  *
+ *  This class describe  SamuraiFDC2 simulation                              *
  *                                                                           *
  *---------------------------------------------------------------------------*
  * Comment:                                                                  *
@@ -37,9 +37,10 @@ using namespace std;
 // NPTool header
 #include "NPSVDetector.hh"
 #include "NPInputParser.h"
+#include "NPXmlParser.h"
+
+#include "TSamuraiFDC2Data.h" 
 
-//#include "SamuraiFieldPropagation.hh"
-#include "TSamuraiIdealData.h"
 
 
 class SamuraiFDC2 : public NPS::VDetector{
@@ -57,16 +58,22 @@ class SamuraiFDC2 : public NPS::VDetector{
   
     // Cartezian FDC2
     void AddDetector(G4ThreeVector Mag_Pos, double Mag_Angle, G4ThreeVector Offset, double Off_Angle);
+    void ReadXML(std::string xml_file,G4ThreeVector offset, bool InvertX,bool InvertY);
 
     G4LogicalVolume* BuildFDC2();
+    G4LogicalVolume* BuildWire();
+  
   private:
   
     //Logical Volume
-    G4LogicalVolume* m_FDC2;
-
-    // Visualisation Attributes
-    G4VisAttributes* m_VisFDC2;
+    std::map<unsigned int , G4ThreeVector> m_PositionWire; 
+    std::map<unsigned int , int> m_LayerNbr; 
+    std::map<unsigned int , int> m_WireNbr;
+    std::map<unsigned int , double> m_WireAngle; 
+    std::map<unsigned int , bool> m_IsHorizontal; 
 
+    G4LogicalVolume* m_FDC2;
+    G4LogicalVolume* m_Wire; 
     
     ////////////////////////////////////////////////////
     //////  Inherite from NPS::VDetector class /////////
@@ -95,15 +102,16 @@ class SamuraiFDC2 : public NPS::VDetector{
 
 
     //   Associated Scorer
-    G4MultiFunctionalDetector* m_FDC2Scorer ;
+    G4MultiFunctionalDetector* m_WireScorerFDC2 ;
+  
     ////////////////////////////////////////////////////
     ///////////Event class to store Data////////////////
     ////////////////////////////////////////////////////
   private:
-    //TSamuraiFDC2Data* m_Event;
+    TSamuraiFDC2Data* m_Event;
     //////////////////////////////////////////////////////////////////
 
-    TSamuraiIdealData* m_Event;
+    //TSamuraiIdealData* m_Event;
 
     ////////////////////////////////////////////////////
     ///////////////Private intern Data//////////////////
@@ -113,7 +121,11 @@ class SamuraiFDC2 : public NPS::VDetector{
     G4ThreeVector m_Pos;
     // Angle of Rotation
     double m_Angle;
+
   
+    // Visualisation Attributes
+    G4VisAttributes* m_VisFDC2;
+    G4VisAttributes* m_VisWire;
 
   // Needed for dynamic loading of the library
   public:
diff --git a/NPSimulation/Detectors/Samurai/SamuraiFieldPropagation.cc b/NPSimulation/Detectors/Samurai/SamuraiFieldPropagation.cc
index 6571c9964ad050c1bd9581f853b43f20b0abd8ef..37e6b193dcab840bda74aabae85f9697128c6edc 100644
--- a/NPSimulation/Detectors/Samurai/SamuraiFieldPropagation.cc
+++ b/NPSimulation/Detectors/Samurai/SamuraiFieldPropagation.cc
@@ -38,6 +38,7 @@
 #include "G4UserLimits.hh"
 #include "G4SystemOfUnits.hh"
 #include "G4PhysicalConstants.hh"
+#include "G4RunManager.hh"
 //nptool libraries
 #include "NPFunction.h"
 #include "NPInputParser.h"
@@ -136,11 +137,18 @@ void NPS::SamuraiFieldPropagation::ReadConfiguration() {
 ////////////////////////////////////////////////////////////////////////////////
 G4bool NPS::SamuraiFieldPropagation::IsApplicable(const G4ParticleDefinition& particleType) {
   if (particleType.GetPDGCharge() == 0) return false;
+  
+  else if (particleType.GetParticleName() == "e-" or particleType.GetParticleName() == "e+" )
+    {
+      return false;
+    }
+  
   return true;
 }
 
 ////////////////////////////////////////////////////////////////////////////////
 G4bool NPS::SamuraiFieldPropagation::ModelTrigger(const G4FastTrack& fastTrack) {
+  
   return true;
 }
 
@@ -286,7 +294,7 @@ void NPS::SamuraiFieldPropagation::RungeKuttaPropagation (const G4FastTrack& fas
   double speed = PrimaryTrack->GetVelocity();
   double charge = PrimaryTrack->GetParticleDefinition()->GetPDGCharge() / coulomb;
   double ConF_p = 1 / (joule * c_light / (m/s)) ; // MeV/c to kg*m/s (SI units)
-
+  
   //Initially inside is false -> calculate trajectory
   if (!inside){
     count = 2;//skip first two positions as they are the same as the current position
@@ -298,14 +306,14 @@ void NPS::SamuraiFieldPropagation::RungeKuttaPropagation (const G4FastTrack& fas
 
     trajectory.clear();
     trajectory = m_Map->Propagate(Brho, pos, dir);
-
+    
     inside = true;
   }
 
   G4ThreeVector newPosition (trajectory[count].x(), trajectory[count].y(), trajectory[count].z());
   //benchmark
   //G4ThreeVector newDir = (newPosition - localPosition).unit();
-  //G4ThreeVector newMomentum = newDir * localMomentum.mag(); 
+  //G4ThreeVector newMomentum = newDir * localMomentum.mag();
 
   //Check if newPosition is not inside
   if (solid->Inside(newPosition) != kInside){
@@ -320,13 +328,18 @@ void NPS::SamuraiFieldPropagation::RungeKuttaPropagation (const G4FastTrack& fas
     //if(single_particle) PrintData(m_StepSize, newPosition, newMomentum, outRKsp);
     //else PrintData(m_StepSize, newPosition, newMomentum, outRK);
     //counter++;
+    
   }
-
+  
   //benchmark
   G4ThreeVector newDir = (newPosition - localPosition).unit();
   G4ThreeVector newMomentum = newDir * localMomentum.mag(); 
-
-
+  
+  if(abs(newPosition[0]-localPosition[0])>10.0 or abs(newPosition[1]-localPosition[1])>10.0 or abs(newPosition[2]-localPosition[2])>10.0)
+    {
+      G4RunManager::GetRunManager()->AbortEvent();     
+    }
+  
   double time  = PrimaryTrack->GetGlobalTime()+(newPosition - localPosition).mag()/speed;
 
   fastStep.ProposePrimaryTrackFinalPosition( newPosition );
diff --git a/NPSimulation/Detectors/Samurai/SamuraiFieldPropagation.hh b/NPSimulation/Detectors/Samurai/SamuraiFieldPropagation.hh
index 8cfc6c13a0c8bf7b50a1ab4e2860cf43f51e0d52..d959ffd17083d1f147cb72666ab6b4b92f247da2 100644
--- a/NPSimulation/Detectors/Samurai/SamuraiFieldPropagation.hh
+++ b/NPSimulation/Detectors/Samurai/SamuraiFieldPropagation.hh
@@ -82,8 +82,7 @@ namespace NPS{
     //  out << setprecision(17) << pos.x() << "\t" << pos.y() << "\t" << pos.z() << "\t";
     //  out << setprecision(17) << mom.x() << "\t" << mom.y() << "\t" << mom.z() << "\t";
     //  out << setprecision(17) << mom.getR() << "\t" << mom.getPhi() << "\t" << mom.getTheta() << endl;
-    //}
-
+    //}    
 
     bool m_Initialized; //field map initialized
     double m_StepSize;  //propagation step size
diff --git a/NPSimulation/Detectors/Vamos/ChargeStateDistribution.cc b/NPSimulation/Detectors/Vamos/ChargeStateDistribution.cc
new file mode 100644
index 0000000000000000000000000000000000000000..f9625aaf2165ae4e5366c86e3c2e0e8aa567c45e
--- /dev/null
+++ b/NPSimulation/Detectors/Vamos/ChargeStateDistribution.cc
@@ -0,0 +1,163 @@
+/*****************************************************************************
+ * Copyright (C) 2009-2016   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: Elia Pilotto, Omar Nasr                                  *
+ * contact address: pilottoelia@gmail.com, omar.nasr@etu.unicaen.fr          *
+ *                                                                           *
+ * Creation Date  : September 2021                                           *
+ * Last update    :                                                          *
+ *---------------------------------------------------------------------------*
+ * Decription:                                                               *
+ * Use to kill the beam track and replace it with the reaction product       *
+ *                                                                           *
+ *                                                                           *
+ *                                                                           *
+ *---------------------------------------------------------------------------*
+ * Comment:                                                                  *
+ *                                                                           *
+ *****************************************************************************/
+
+//C++ libraries
+#include <iostream>
+#include <string>
+#include <iomanip>
+#include <cmath>
+#include <Randomize.hh>
+#include <fstream>
+//G4 libraries
+#include "G4Electron.hh"
+#include "G4Gamma.hh"
+#include "G4IonTable.hh"
+#include "G4EmCalculator.hh"
+#include "G4VPhysicalVolume.hh"
+#include "G4IonTable.hh"
+#include "G4UserLimits.hh"
+#include "G4SystemOfUnits.hh"
+#include "G4PhysicalConstants.hh"
+//nptool libraries
+#include "NPFunction.h"
+#include "NPInputParser.h"
+#include "NPOptionManager.h"
+#include "NPSFunction.hh"
+//other
+#include "ChargeStateDistribution.hh"
+#include "RootOutput.h"
+#include "TLorentzVector.h"
+
+using namespace std;
+
+////////////////////////////////////////////////////////////////////////////////
+NPS::ChargeStateDistribution::ChargeStateDistribution(G4String modelName, G4Region* envelope)
+  : G4VFastSimulationModel(modelName, envelope) {
+
+    m_StepSize = 5*mm;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+NPS::ChargeStateDistribution::ChargeStateDistribution(G4String modelName)
+  : G4VFastSimulationModel(modelName) {}
+
+////////////////////////////////////////////////////////////////////////////////
+NPS::ChargeStateDistribution::~ChargeStateDistribution() {}
+
+////////////////////////////////////////////////////////////////////////////////
+G4bool NPS::ChargeStateDistribution::IsApplicable(const G4ParticleDefinition& particleType) {
+  if (particleType.GetPDGCharge() < 10) return false;
+  else return true;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+G4bool NPS::ChargeStateDistribution::ModelTrigger(const G4FastTrack& fastTrack) {
+
+  cout << "////////////////// MODEL TRIGGER ///////////////////" << endl;
+  const G4Track* PrimaryTrack = fastTrack.GetPrimaryTrack();
+
+  G4ThreeVector V = PrimaryTrack->GetMomentum().unit();
+  G4ThreeVector P = fastTrack.GetPrimaryTrackLocalPosition();
+  G4VSolid* solid = fastTrack.GetPrimaryTrack()->GetVolume()->GetLogicalVolume()->GetSolid();
+  double to_exit = solid->DistanceToOut(P, V);
+  double to_entrance = solid->DistanceToOut(P, -V);
+  bool is_first = (to_entrance == 0);
+  bool is_end = (to_exit == 0);
+
+  if (is_first && m_shoot) {
+    m_shoot = false;
+  }
+
+  if (is_first) {
+    m_shoot = true;
+  }
+
+  cout << "m_StepSize= " << m_StepSize << endl;
+  cout << "to_entrance= " << to_entrance << endl;
+  cout << "to_exit= " << to_exit << endl;
+  cout << "is_first= " << is_first << endl;
+  cout << "m_shoot= " << m_shoot << endl;
+   
+  cout << "Model trigger Q = " << PrimaryTrack->GetDynamicParticle()->GetCharge() << endl;
+  return m_shoot;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void NPS::ChargeStateDistribution::DoIt(const G4FastTrack& fastTrack, G4FastStep& fastStep) {
+
+  m_shoot = false;
+  cout << "////////////////// DO IT ///////////////////" << endl;
+  G4ThreeVector localPosition  = fastTrack.GetPrimaryTrackLocalPosition();
+  G4ThreeVector localDirection = fastTrack.GetPrimaryTrackLocalDirection();
+  const G4Track* track = fastTrack.GetPrimaryTrack();
+
+  G4double time                  = track->GetGlobalTime();
+  G4ThreeVector pdirection       = track->GetMomentum().unit();
+  G4ThreeVector Momentum         = track->GetMomentum();
+  G4ThreeVector worldPosition    = track->GetPosition();
+  G4double originalKineticEnergy = track->GetKineticEnergy();
+  
+  G4int Z = track->GetParticleDefinition()->GetAtomicNumber();
+  G4int A = track->GetParticleDefinition()->GetAtomicMass();
+  G4double Q = track->GetDynamicParticle()->GetCharge();
+
+  //G4DynamicParticle* dynamicParticle = const_cast<G4DynamicParticle*>(fastTrack.GetPrimaryTrack()->GetDynamicParticle());
+  //dynamicParticle->SetCharge(Q + 5);  // Modify the particle's charge
+
+  //G4double newQ = track->GetDynamicParticle()->GetCharge();
+  
+  //const G4DynamicParticle* dynamicParticle = fastTrack.GetPrimaryTrack()->GetDynamicParticle();
+  //G4ParticleDefinition* particleDef = const_cast<G4ParticleDefinition*>(dynamicParticle->GetDefinition());
+
+  /*
+  fastStep.SetPrimaryTrackFinalKineticEnergy(originalKineticEnergy);
+  fastStep.ProposePrimaryTrackFinalMomentumDirection(localDirection,true);
+  fastStep.SetPrimaryTrackFinalPosition(localPosition+G4ThreeVector(0,0,1),true);
+  fastStep.ProposePrimaryTrackFinalTime(time);
+  fastStep.SetTotalEnergyDeposited(0);
+  fastStep.ProposePrimaryTrackPathLength(m_StepSize);
+  */
+
+  // Set the end of the step conditions
+  fastStep.SetPrimaryTrackFinalKineticEnergyAndDirection(0, localDirection);
+  fastStep.SetPrimaryTrackFinalPosition(localPosition+G4ThreeVector(0,0,1),true);
+  fastStep.SetTotalEnergyDeposited(0);
+  fastStep.SetPrimaryTrackFinalTime(time); // FIXME
+  fastStep.KillPrimaryTrack();
+  fastStep.SetPrimaryTrackPathLength(0.0);
+
+  G4int newCharge = Q+5;
+  static G4IonTable* IonTable = G4ParticleTable::GetParticleTable()->GetIonTable();
+  G4ParticleDefinition* particleDef;
+  particleDef = IonTable->GetIon(Z,A);
+
+  G4DynamicParticle dynamicParticle(particleDef,Momentum.unit(),originalKineticEnergy);
+  fastStep.CreateSecondaryTrack(dynamicParticle,localPosition+G4ThreeVector(0,0,2),time);
+
+  cout << Q << " " << dynamicParticle.GetCharge() << endl;
+
+    return;
+}
+
+
diff --git a/NPSimulation/Detectors/Vamos/ChargeStateDistribution.hh b/NPSimulation/Detectors/Vamos/ChargeStateDistribution.hh
new file mode 100644
index 0000000000000000000000000000000000000000..e10e2f659e408663fcae93ba26237a15ca178ada
--- /dev/null
+++ b/NPSimulation/Detectors/Vamos/ChargeStateDistribution.hh
@@ -0,0 +1,67 @@
+/*****************************************************************************
+ * Copyright (C) 2009-2016   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: Pierre Morfouace                                         *
+ * contact address: pierre.morfouace@cea.fr                                  *
+ *                                                                           *
+ * Creation Date  : January 2023                                             *
+ * Last update    :                                                          *
+ *---------------------------------------------------------------------------*
+ * Decription: Based On SamuraiFieldPropagation                              *
+ * Use to kill the beam track and replace it with the reaction product       *
+ *                                                                           *
+ *                                                                           *
+ *                                                                           *
+ *---------------------------------------------------------------------------*
+ * Comment:                                                                  *
+ *                                                                           *
+ *****************************************************************************/
+
+#ifndef ChargeStateDistribution_h
+#define ChargeStateDistribution_h
+
+#include "G4VFastSimulationModel.hh"
+#include "G4Abla.hh"
+#include "G4AblaInterface.hh"
+#include "G4Fragment.hh"
+#include "G4VPhysicalVolume.hh"
+#include "G4Region.hh"
+
+#include "GladFieldMap.h"
+
+#include <string>
+#include <vector>
+#include <fstream>
+#include <iomanip>
+
+namespace NPS{
+
+  class ChargeStateDistribution : public G4VFastSimulationModel{
+    public:
+      ChargeStateDistribution (G4String, G4Region*);
+      ChargeStateDistribution (G4String);
+      ~ChargeStateDistribution ();
+
+    public:
+      G4bool IsApplicable(const G4ParticleDefinition&);
+      G4bool ModelTrigger(const G4FastTrack &);
+      void DoIt(const G4FastTrack&, G4FastStep&);
+
+      void RungeKuttaPropagation (const G4FastTrack& fastTrack, G4FastStep& fastStep);
+
+    public:
+      void SetStepSize(double step){m_StepSize=step;};
+
+    private:
+      double m_StepSize;
+      bool m_shoot;
+  };
+}
+
+
+#endif 
diff --git a/NPSimulation/Detectors/Vamos/Vamos.cc b/NPSimulation/Detectors/Vamos/Vamos.cc
index 3c3855ab008769f65e103dca3e82267eed6bca8f..582eb93d19f42834628a871f6154e1ff70d8492c 100644
--- a/NPSimulation/Detectors/Vamos/Vamos.cc
+++ b/NPSimulation/Detectors/Vamos/Vamos.cc
@@ -38,6 +38,9 @@
 #include "G4Transform3D.hh"
 #include "G4UnionSolid.hh"
 #include "G4VisAttributes.hh"
+#include "G4RegionStore.hh"
+#include "G4FastSimulationManager.hh"
+#include "G4UserLimits.hh"
 
 // NPTool header
 #include "CalorimeterScorers.hh"
@@ -49,6 +52,7 @@
 #include "NPSHitsMap.hh"
 #include "RootOutput.h"
 #include "Vamos.hh"
+#include "ChargeStateDistribution.hh"
 
 // CLHEP header
 #include "CLHEP/Random/RandGauss.h"
@@ -108,8 +112,8 @@ namespace Vamos_NS {
   const G4double TMW2_Thickness = 5 * mm;
 
   // FPMW
-  const G4double FPMW1_Width     = 200 * mm;
-  const G4double FPMW1_Length    = 400 * mm;
+  const G4double FPMW1_Width     = 70 * mm;
+  const G4double FPMW1_Length    = 95 * mm;
   const G4double FPMW1_Thickness = 5 * mm;
 
 
@@ -139,7 +143,8 @@ Vamos::Vamos() {
   m_DC4               = 0;
   m_DC1               = 0;
   m_DC2               = 0;
-
+  m_ChargeStateRegion = 0;
+  m_StepSize          = 5*mm;
   ICcounter = 0;
 
   // RGB Color + Transparency
@@ -315,7 +320,7 @@ G4AssemblyVolume* Vamos::BuildTMW1() {
     G4LogicalVolume* mylar_volume = new G4LogicalVolume(box_mylar, MylarMaterial, "logic_Vamos_mylar1", 0, 0, 0);
     mylar_volume->SetVisAttributes(m_VisMylar);
 
-    gas_volume->SetSensitiveDetector(m_InterScorer);
+    //gas_volume->SetSensitiveDetector(m_InterScorer);
 
     G4ThreeVector pos_gas = G4ThreeVector(0,0,0);
     m_TMW1->AddPlacedVolume(gas_volume, pos_gas, 0);
@@ -355,6 +360,23 @@ G4AssemblyVolume* Vamos::BuildTMW2() {
 
     pos_mylar = G4ThreeVector(0,0,0.5*TMW2_Thickness + 0.5*Mylar_Thickness);
     m_TMW2->AddPlacedVolume(mylar_volume, pos_mylar, 0);
+
+    /*m_ChargeStateRegion = G4RegionStore::GetInstance()->FindOrCreateRegion("ChargeStateProcess");
+    m_ChargeStateRegion->AddRootLogicalVolume(gas_volume);
+    m_ChargeStateRegion->SetUserLimits(new G4UserLimits(m_StepSize));
+    G4FastSimulationManager* mng = m_ChargeStateRegion->GetFastSimulationManager();
+
+    unsigned int size = m_ChargeStateModel.size();
+    for(unsigned int i=0; i<size; i++)
+        mng->RemoveFastSimulationModel(m_ChargeStateModel[i]);
+
+    m_ChargeStateModel.clear();
+    G4VFastSimulationModel* fsm;
+    fsm = new NPS::ChargeStateDistribution("ChargeStateDistribution",m_ChargeStateRegion);
+    //((NPS::ChargeStateDistribution*) fsm)->SetStepSize(m_StepSize);
+    m_ChargeStateModel.push_back(fsm);*/
+
+
   }
   return m_TMW2;
 }
@@ -368,23 +390,41 @@ G4AssemblyVolume* Vamos::BuildFPMW1() {
 
     G4Material* DetectorMaterial = MaterialManager::getInstance()->GetGasFromLibrary(m_Gas_FPMW1, m_Pressure_FPMW1, 295 * kelvin);
     G4Material* MylarMaterial    = MaterialManager::getInstance()->GetMaterialFromLibrary("Mylar");
-
-    G4LogicalVolume* gas_volume   = new G4LogicalVolume(box, DetectorMaterial, "logic_Vamos_FPMW1", 0, 0, 0);
-    gas_volume->SetVisAttributes(m_VisGasC4H10);
-
+    G4Material* Vaccuum          = MaterialManager::getInstance()->GetMaterialFromLibrary("Vaccuum");
+    
+    G4LogicalVolume* gas_volume_FPMW1   = new G4LogicalVolume(box, Vaccuum, "logic_Vamos_FPMW1", 0, 0, 0);
+    gas_volume_FPMW1->SetVisAttributes(m_VisGasC4H10);
+    gas_volume_FPMW1->SetSensitiveDetector(m_InterScorer);
+    
     G4LogicalVolume* mylar_volume = new G4LogicalVolume(box_mylar, MylarMaterial, "logic_Vamos_mylar3", 0, 0, 0);
     mylar_volume->SetVisAttributes(m_VisMylar);
 
-    gas_volume->SetSensitiveDetector(m_InterScorer);
 
     G4ThreeVector pos_gas = G4ThreeVector(0,0,0);
-    m_FPMW1->AddPlacedVolume(gas_volume, pos_gas, 0);
+    m_FPMW1->AddPlacedVolume(gas_volume_FPMW1, pos_gas, 0);
+
+    //G4ThreeVector pos_mylar = G4ThreeVector(0,0,-0.5*FPMW1_Thickness - 0.5*Mylar_Thickness);
+    //m_FPMW1->AddPlacedVolume(mylar_volume, pos_mylar, 0);
+
+    //pos_mylar = G4ThreeVector(0,0,0.5*FPMW1_Thickness + 0.5*Mylar_Thickness);
+    //m_FPMW1->AddPlacedVolume(mylar_volume, pos_mylar, 0);
+
+    
+    /*m_ChargeStateRegion = G4RegionStore::GetInstance()->FindOrCreateRegion("ChargeStateProcess");
+    m_ChargeStateRegion->AddRootLogicalVolume(gas_volume_FPMW1);
+    m_ChargeStateRegion->SetUserLimits(new G4UserLimits(m_StepSize));
+    G4FastSimulationManager* mng = m_ChargeStateRegion->GetFastSimulationManager();
+
+    unsigned int size = m_ChargeStateModel.size();
+    for(unsigned int i=0; i<size; i++)
+        mng->RemoveFastSimulationModel(m_ChargeStateModel[i]);
 
-    /*G4ThreeVector pos_mylar = G4ThreeVector(0,0,-0.5*FPMW1_Thickness - 0.5*Mylar_Thickness);
-    m_FPMW1->AddPlacedVolume(mylar_volume, pos_mylar, 0);
+    m_ChargeStateModel.clear();
+    G4VFastSimulationModel* fsm;
+    fsm = new NPS::ChargeStateDistribution("ChargeStateDistribution",m_ChargeStateRegion);
+    ((NPS::ChargeStateDistribution*) fsm)->SetStepSize(m_StepSize);
+    m_ChargeStateModel.push_back(fsm);*/
 
-    pos_mylar = G4ThreeVector(0,0,0.5*FPMW1_Thickness + 0.5*Mylar_Thickness);
-    m_FPMW1->AddPlacedVolume(mylar_volume, pos_mylar, 0);*/
   }
   return m_FPMW1;
 }
diff --git a/NPSimulation/Detectors/Vamos/Vamos.hh b/NPSimulation/Detectors/Vamos/Vamos.hh
index d191da9c253895280a4d215931e0715ac11124ed..bed3a01b94549e5b4df5a46571c15d2acde8e373 100644
--- a/NPSimulation/Detectors/Vamos/Vamos.hh
+++ b/NPSimulation/Detectors/Vamos/Vamos.hh
@@ -33,6 +33,7 @@ using namespace std;
 #include "G4AssemblyVolume.hh"
 #include "G4MultiFunctionalDetector.hh"
 #include "G4UnionSolid.hh"
+#include "G4VFastSimulationModel.hh"
 
 // NPTool header
 #include "NPSVDetector.hh"
@@ -135,6 +136,12 @@ class Vamos : public NPS::VDetector{
   private:
     TVamosData* m_Event ;
 
+  private:
+    G4Region* m_ChargeStateRegion;
+    vector<G4VFastSimulationModel*> m_ChargeStateModel;
+
+    int m_StepSize;
+
     ////////////////////////////////////////////////////
     ///////////////Private intern Data//////////////////
     ////////////////////////////////////////////////////
diff --git a/NPSimulation/EventGenerator/CMakeLists.txt b/NPSimulation/EventGenerator/CMakeLists.txt
index 5d5f47b34a146c2b066964e8ffd826aba667b033..f9e5c7d86595561c182d537439b2b46c1ee49c71 100644
--- a/NPSimulation/EventGenerator/CMakeLists.txt
+++ b/NPSimulation/EventGenerator/CMakeLists.txt
@@ -1,2 +1,2 @@
-add_library(NPSEventGenerator OBJECT EventGeneratorBeam.cc EventGeneratorMultipleParticle.cc EventGeneratorCosmic.cc EventGeneratorIsotropic.cc EventGeneratorGEFReader.cc VEventGenerator.cc) 
+add_library(NPSEventGenerator OBJECT EventGeneratorBeam.cc EventGeneratorMultipleParticle.cc EventGeneratorCosmic.cc EventGeneratorIsotropic.cc EventGeneratorGEFReader.cc EventGeneratorAlphaDecay.cc VEventGenerator.cc) 
 #target_link_libraries(NPSEventGenerator ${ROOT_LIBRARIES} ${Geant4_LIBRARIES} ${NPLib_LIBRARIES} -lNPInitialConditions -lNPInteractionCoordinates )
diff --git a/NPSimulation/EventGenerator/EventGeneratorAlphaDecay.cc b/NPSimulation/EventGenerator/EventGeneratorAlphaDecay.cc
new file mode 100644
index 0000000000000000000000000000000000000000..5bf1247c8b90d28c845d11ad7694bde15ad02b11
--- /dev/null
+++ b/NPSimulation/EventGenerator/EventGeneratorAlphaDecay.cc
@@ -0,0 +1,188 @@
+/*****************************************************************************
+ * Copyright (C) 2009-2016   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: Adrien MATTA  contact address: matta@lpccaen.in2p3.fr    *
+ *                                                                           *
+ * Creation Date  : January 2009                                             *
+ * Last update    :                                                          *
+ *---------------------------------------------------------------------------*
+ * Decription:                                                               *
+ *  This event Generator is used to simulated AlphaDecay ion Source           *
+ *  Very usefull to figure out Geometric Efficacity of experimental Set-Up   *
+ *---------------------------------------------------------------------------*
+ * Comment:                                                                  *
+ *                                                                           *
+ *                                                                           *
+ *****************************************************************************/
+// C++
+#include<limits>
+
+// G4 headers
+#include "G4ParticleTable.hh"
+#include "G4IonTable.hh"
+// G4 headers including CLHEP headers
+// for generating random numbers
+#include "Randomize.hh"
+
+// NPS headers
+#include "EventGeneratorAlphaDecay.hh"
+
+// NPL headers
+#include "RootOutput.h"
+#include "NPNucleus.h"
+#include "NPOptionManager.h"
+#include "NPFunction.h"
+using namespace CLHEP;
+
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+EventGeneratorAlphaDecay::EventGeneratorAlphaDecay(){
+  // NPTool path
+  string GlobalPath = getenv("NPTOOL");
+  string StandardPath = GlobalPath + "/Inputs/EventGenerator/";
+
+  m_EnergyLow    =  0  ;
+  m_EnergyHigh   =  0  ;
+  m_x0           =  0  ;
+  m_y0           =  0  ;
+  m_z0           =  0  ;
+  m_SigmaX       =  0  ;
+  m_SigmaY       =  0  ;
+  m_SigmaZ       =  0  ;
+  m_particle     = NULL;
+  m_ExcitationEnergy = 0 ;
+  m_direction    = 'z' ;
+  m_SourceProfile = "Gauss" ;
+  m_ActivityBq   = 1.  ;
+  m_TimeWindow   = 50.e-9 ;
+
+  m_ParticleStack = ParticleStack::getInstance();
+
+}
+
+
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+EventGeneratorAlphaDecay::~EventGeneratorAlphaDecay(){
+}
+
+
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+void EventGeneratorAlphaDecay::ReadConfiguration(NPL::InputParser parser){
+  
+  vector<NPL::InputBlock*> blocks = parser.GetAllBlocksWithToken("AlphaDecay");
+  if(NPOptionManager::getInstance()->GetVerboseLevel())
+    cout << endl << "\033[1;35m//// AlphaDecay reaction found " << endl;
+
+  vector<string> token = {"EnergyLow","EnergyHigh","HalfOpenAngleMin","HalfOpenAngleMax","x0","y0","z0","ActivityBq"};
+  cout << "block.size() = " << blocks.size() << endl;
+  for(unsigned int i = 0 ; i < blocks.size() ; i++){
+    cout << "[" << i << "]" << endl;
+    if(blocks[i]->HasTokenList(token)){
+
+      m_EnergyLow         = blocks[i]->GetDouble("EnergyLow","MeV");        
+      m_EnergyHigh        = blocks[i]->GetDouble("EnergyHigh","MeV");
+      m_HalfOpenAngleMin  = blocks[i]->GetDouble("HalfOpenAngleMin","deg"); 
+      m_HalfOpenAngleMax  = blocks[i]->GetDouble("HalfOpenAngleMax","deg");
+      m_x0                = blocks[i]->GetDouble("x0","mm");                
+      m_y0                = blocks[i]->GetDouble("y0","mm");
+      m_z0                = blocks[i]->GetDouble("z0","mm");
+      m_SourceProfile     = blocks[i]->GetString("SourceProfile");          
+      m_SigmaX            = blocks[i]->GetDouble("SigmaX","mm");            
+      m_SigmaY            = blocks[i]->GetDouble("SigmaY","mm");
+      m_SigmaZ            = blocks[i]->GetDouble("SigmaZ","mm");
+      m_direction         = blocks[i]->GetString("Direction");              
+      m_ExcitationEnergy  = blocks[i]->GetDouble("ExcitationEnergy","MeV"); 
+      m_ActivityBq        = blocks[i]->GetDouble("ActivityBq","Bq");        
+      m_TimeWindow        = blocks[i]->GetDouble("TimeWindow","s");         
+      cout << "m_parameters done " << endl;
+    }
+    else{
+      cout << "ERROR: check your input file formatting \033[0m" << endl;
+      exit(1);
+    }
+  }
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+void EventGeneratorAlphaDecay::GenerateEvent(G4Event* evt){
+
+  double alpha_t = 0.;
+  double step_t  = 1.e-2 / m_ActivityBq; // step size in [s] to have a maximum proba of 1.e-2
+  int    step_n  = ((int)(m_TimeWindow / step_t) == 0) ? 1 : (int)(m_TimeWindow / step_t);
+  bool   DecayOn = true;
+
+  for(int i=0; i<step_n; i++){
+    
+    m_particle=NULL;
+    if(m_particle==NULL){
+      m_particle = G4ParticleTable::GetParticleTable()->GetIonTable()->GetIon(2, 4,m_ExcitationEnergy);
+      if(i>0){
+        alpha_t = i*step_t;
+        DecayOn = !(RandFlat::shoot() >= 1.e-2);
+      }
+    }
+    if(!DecayOn) continue;
+
+    G4double cos_theta_min   = cos(m_HalfOpenAngleMin);
+    G4double cos_theta_max   = cos(m_HalfOpenAngleMax);
+    G4double cos_theta       = cos_theta_min + (cos_theta_max - cos_theta_min) * RandFlat::shoot();
+    G4double theta           = acos(cos_theta)                                                   ;
+    G4double phi             = RandFlat::shoot() * 2 * pi                                        ;
+    G4double particle_energy = m_EnergyLow + RandFlat::shoot() * (m_EnergyHigh - m_EnergyLow)    ;
+
+    G4double x0, y0, z0;
+    G4double momentum_x, momentum_y, momentum_z;
+
+    if(m_SourceProfile=="Flat"){
+      double rand_r     = m_SigmaX*sqrt(RandFlat::shoot());
+      double rand_theta = RandFlat::shoot() * 2. * pi;
+      x0 = m_x0 + rand_r * cos(rand_theta);
+      y0 = m_y0 + rand_r * sin(rand_theta);
+      z0 = RandFlat::shoot(m_z0*mm-m_SigmaZ*mm, m_z0*mm+m_SigmaZ*mm);
+    }
+    else{ // by default gaussian source profile is considered 
+      x0 = RandGauss::shoot(m_x0,m_SigmaX);
+      y0 = RandGauss::shoot(m_y0,m_SigmaY);
+      z0 = RandGauss::shoot(m_z0,m_SigmaZ);
+    }
+    if(m_direction == 'z')
+    {
+      // Direction of particle, energy and laboratory angle
+      momentum_x = sin(theta) * cos(phi)  ;
+      momentum_y = sin(theta) * sin(phi)  ;
+      momentum_z = cos(theta)             ;
+
+    }
+    else if(m_direction == 'y')
+    {
+      // Direction of particle, energy and laboratory angle
+      momentum_z = sin(theta) * cos(phi)  ;
+      momentum_x = sin(theta) * sin(phi)  ;
+      momentum_y = cos(theta)             ;
+    }
+    else // = 'x'
+    {
+      // Direction of particle, energy and laboratory angle
+      momentum_y = sin(theta) * cos(phi)  ;
+      momentum_z = sin(theta) * sin(phi)  ;
+      momentum_x = cos(theta)             ;
+    }
+    //cout << "add an alpha particle to stack with global time = " << alpha_t << " s ==> " << alpha_t*1.e9 << " ns" << endl;
+    NPS::Particle particle(m_particle, theta, particle_energy, G4ThreeVector(momentum_x, momentum_y, momentum_z), G4ThreeVector(x0, y0, z0),alpha_t*1.e9,true);
+    m_ParticleStack->AddParticleToStack(particle);
+  }
+
+}
+
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+void EventGeneratorAlphaDecay::InitializeRootOutput(){
+
+}
diff --git a/NPSimulation/EventGenerator/EventGeneratorAlphaDecay.hh b/NPSimulation/EventGenerator/EventGeneratorAlphaDecay.hh
new file mode 100644
index 0000000000000000000000000000000000000000..6addfbc1b5333a39849ff2447220d6f153558926
--- /dev/null
+++ b/NPSimulation/EventGenerator/EventGeneratorAlphaDecay.hh
@@ -0,0 +1,74 @@
+#ifndef EventGeneratorAlphaDecay_h
+#define EventGeneratorAlphaDecay_h
+/*****************************************************************************
+ * Copyright (C) 2009-2016   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: Adrien MATTA  contact address: matta@lpccaen.in2p3.fr    *
+ *                                                                           *
+ * Creation Date  : January 2009                                             *
+ * Last update    :                                                          *
+ *---------------------------------------------------------------------------*
+ * Decription:                                                               *
+ *  This event Generator is used to simulated AlphaDecay ion Source           *
+ *  Very usefull to figure out Geometric Efficacity of experimental Set-Up   *
+ *---------------------------------------------------------------------------*
+ * Comment:                                                                  *
+ *                                                                           *
+ *                                                                           *
+ *****************************************************************************/
+// C++ header
+#include <string>
+#include <cmath>
+using namespace std;
+
+using namespace CLHEP;
+
+// G4 headers
+#include "G4Event.hh"
+
+// NPS headers
+#include "VEventGenerator.hh"
+#include "ParticleStack.hh"
+#include "NPInputParser.h"
+
+// ROOT headers
+#include "TString.h"
+#include "TF1.h"
+#include "TH1.h"
+
+class EventGeneratorAlphaDecay : public NPS::VEventGenerator{
+public:     // Constructor and destructor
+    EventGeneratorAlphaDecay() ;
+    virtual ~EventGeneratorAlphaDecay();
+
+public:     // Inherit from VEventGenerator Class
+    void ReadConfiguration(NPL::InputParser) ;
+    void GenerateEvent(G4Event*) ;
+    void InitializeRootOutput()  ;
+
+private:    // Source parameter from input file
+    G4double              m_EnergyLow        ;  // Lower limit of energy range
+    G4double              m_EnergyHigh       ;  // Upper limit of energy range
+    G4double              m_HalfOpenAngleMin ;  // Min Half open angle of the source
+    G4double              m_HalfOpenAngleMax ;  // Max Half open angle of the source
+    G4double              m_x0               ;  // Vertex Position X
+    G4double              m_y0               ;  // Vertex Position Y
+    G4double              m_z0               ;  // Vertex Position Z
+    G4double              m_SigmaX           ;  // if m_SourceProfile==Flat, m_SigmaX=radius
+    G4double              m_SigmaY           ;  // if m_SourceProfile==Flat, m_SigmaY=0
+    G4double              m_SigmaZ           ;
+    TString               m_direction        ;
+    TString               m_SourceProfile    ;  // either "Gauss" (by default) or "Flat" on disk with radius of m_SigmaX
+    G4ParticleDefinition* m_particle         ;  // Kind of particle to shoot isotropically
+    G4double              m_ExcitationEnergy ;  // Excitation energy of the emitted particle
+	  G4double              m_ActivityBq       ;  // if m_DecayLaw = "on" gives here the Activity in Bq of the sample
+    G4double              m_TimeWindow       ;  // DAQ time window during we see the alpha pile-up
+    
+    ParticleStack*        m_ParticleStack    ;
+};
+#endif
diff --git a/NPSimulation/EventGenerator/EventGeneratorBeam.cc b/NPSimulation/EventGenerator/EventGeneratorBeam.cc
index a8684d28b867724853c9f0616783b3dd56515e42..c8c0387d30ac258bdfbe00298329d4fcafe79b8d 100644
--- a/NPSimulation/EventGenerator/EventGeneratorBeam.cc
+++ b/NPSimulation/EventGenerator/EventGeneratorBeam.cc
@@ -99,7 +99,7 @@ void EventGeneratorBeam::GenerateEvent(G4Event* anEvent){
   m_Beam->GenerateRandomEvent(InitialBeamEnergy, x0, y0, z0, Beam_thetaX, Beam_phiY);
   double Xdir = tan(Beam_thetaX); //tan(thetax)= px/pz
   double Ydir = tan(Beam_phiY); //tan(phiy)= py/pz
-  double Zdir = 1; // fix pz=1 arbitrarily
+  double Zdir = 1.0; // fix pz=1 arbitrarily
   G4ThreeVector BeamDir(Xdir,Ydir,Zdir);
   BeamDir = BeamDir.unit();
   G4ThreeVector BeamPos(x0,y0,z0);
@@ -112,7 +112,7 @@ void EventGeneratorBeam::GenerateEvent(G4Event* anEvent){
                         InitialBeamEnergy,
                         BeamDir.unit(),
                         BeamPos,
-                        1);
+                        true);
   
   m_ParticleStack->AddBeamParticleToStack(BeamParticle);
 
diff --git a/NPSimulation/EventGenerator/EventGeneratorIsotropic.cc b/NPSimulation/EventGenerator/EventGeneratorIsotropic.cc
index ff9013b94257a40b84e3c5a08b56c29c6cd442cd..844db198245255b0e3c056341fbc03ce927b4b4b 100644
--- a/NPSimulation/EventGenerator/EventGeneratorIsotropic.cc
+++ b/NPSimulation/EventGenerator/EventGeneratorIsotropic.cc
@@ -69,9 +69,6 @@ EventGeneratorIsotropic::SourceParameters::SourceParameters(){
   m_particle     = NULL;
   m_direction    = 'z' ;
   m_SourceProfile = "Gauss" ;
-  m_DecayLaw     = "off";
-  m_ActivityBq   = 1.  ;
-  m_TimeWindow   = 1.e-9 ;
 }
 
 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -94,6 +91,10 @@ void EventGeneratorIsotropic::ReadConfiguration(NPL::InputParser parser){
       if(blocks[i]->HasToken("EnergyDistributionHist")){
         vector<string> file = blocks[i]->GetVectorString("EnergyDistributionHist");
         m_EnergyDistributionHist = NPL::Read1DProfile(file[0],file[1]);
+
+	for(int j=0;j<m_EnergyDistributionHist->GetNbinsX();j++)
+	  if(m_EnergyDistributionHist->GetBinCenter(j+1) < it->m_EnergyLow || m_EnergyDistributionHist->GetBinCenter(j+1) > it->m_EnergyHigh)
+	    m_EnergyDistributionHist->SetBinContent(j+1,0);
       }
       if(blocks[i]->HasToken("Direction"))
         it->m_direction=blocks[i]->GetString("Direction");
@@ -131,12 +132,6 @@ void EventGeneratorIsotropic::ReadConfiguration(NPL::InputParser parser){
         it->m_SigmaZ=blocks[i]->GetDouble("SigmaZ","mm");
       if(blocks[i]->HasToken("Multiplicity"))
         it->m_Multiplicity=blocks[i]->GetVectorInt("Multiplicity");
-      if(blocks[i]->HasToken("DecayLaw"))
-        it->m_DecayLaw=blocks[i]->GetString("DecayLaw");
-      if(blocks[i]->HasToken("ActivityBq"))
-        it->m_ActivityBq=blocks[i]->GetDouble("ActivityBq","Bq");
-      if(blocks[i]->HasToken("TimeWindow"))
-        it->m_TimeWindow=blocks[i]->GetDouble("TimeWindow","s");
     }
     else{
       cout << "ERROR: check your input file formatting \033[0m" << endl;
@@ -165,13 +160,7 @@ void EventGeneratorIsotropic::ReadConfiguration(NPL::InputParser parser){
 void EventGeneratorIsotropic::GenerateEvent(G4Event*){
 
   for(auto& par : m_Parameters) {
-    double delta_t = 0.;
-    bool   DecayOn = true;
     for(unsigned int p=0; p<par.m_particleName.size(); p++){
-      double step_t = 1.e-2 / par.m_ActivityBq; // [s]
-      if(par.m_DecayLaw=="on"){
-        par.m_Multiplicity[p] = ((int)(par.m_TimeWindow / step_t) == 0) ? 1 : (int)(50.e-9 / step_t);
-      }
       for(int i=0; i<par.m_Multiplicity[p]; i++){
         par.m_particle=NULL;
         if(par.m_particle==NULL){
@@ -185,13 +174,8 @@ void EventGeneratorIsotropic::GenerateEvent(G4Event*){
             NPL::Nucleus* N = new NPL::Nucleus(par.m_particleName[p]);
             par.m_particle = G4ParticleTable::GetParticleTable()->GetIonTable()->GetIon(N->GetZ(), N->GetA(),par.m_ExcitationEnergy[p]);
             delete N;
-            if(par.m_DecayLaw == "on" && i>0){
-              delta_t = i*step_t;
-              DecayOn = !(par.m_DecayLaw == "on" && RandFlat::shoot() > 1.e-2);
-            }
           }
         }
-        if(!DecayOn) continue;
         G4double cos_theta_min   = cos(par.m_HalfOpenAngleMin);
         G4double cos_theta_max   = cos(par.m_HalfOpenAngleMax);
         G4double cos_theta       = cos_theta_min + (cos_theta_max - cos_theta_min) * RandFlat::shoot();
@@ -249,7 +233,6 @@ void EventGeneratorIsotropic::GenerateEvent(G4Event*){
           momentum_x = cos(theta)             ;
         }
 
-
         NPS::Particle particle(par.m_particle, theta, particle_energy, G4ThreeVector(momentum_x, momentum_y, momentum_z), G4ThreeVector(x0, y0, z0));
         m_ParticleStack->AddParticleToStack(particle);
       }
diff --git a/NPSimulation/EventGenerator/EventGeneratorIsotropic.hh b/NPSimulation/EventGenerator/EventGeneratorIsotropic.hh
index 2e0cab718bac2e88d7f7baf6bbdb10e9046b89fd..d1161a3f25687e21b806c70ca655136dc31b1b09 100644
--- a/NPSimulation/EventGenerator/EventGeneratorIsotropic.hh
+++ b/NPSimulation/EventGenerator/EventGeneratorIsotropic.hh
@@ -72,9 +72,6 @@ private:    // Source parameter from input file
       vector<G4double>         m_ExcitationEnergy ;  // Excitation energy of the emitted particle
       vector<string>           m_particleName     ;
       vector<G4int>            m_Multiplicity     ;
-      TString                  m_DecayLaw         ;  // [on]: mult follows the decay law controlled by T1/2 [off]: fix mult
-	    G4double                 m_ActivityBq       ;  // if m_DecayLaw = "on" gives here the Activity in Bq of the sample
-      G4double                 m_TimeWindow       ;  // DAQ time window during we see the alpha pile-up
     };
 	  vector<SourceParameters> m_Parameters       ;
     ParticleStack*           m_ParticleStack    ;
diff --git a/NPSimulation/Process/BeamReaction.cc b/NPSimulation/Process/BeamReaction.cc
index 6d395b9b2512306972f72e1449750de9fdea76a0..43b6d68407079c08420b1938e7c2b4b5165cc010 100644
--- a/NPSimulation/Process/BeamReaction.cc
+++ b/NPSimulation/Process/BeamReaction.cc
@@ -242,7 +242,7 @@ G4bool NPS::BeamReaction::ModelTrigger(const G4FastTrack& fastTrack) {
 ////////////////////////////////////////////////////////////////////////////////
 void NPS::BeamReaction::DoIt(const G4FastTrack& fastTrack, G4FastStep& fastStep) {
 
-  // std::cout << "DOIT" << std::endl;
+  //std::cout << "DO IT" << std::endl;
   m_shoot = false;
   m_length = abs(m_length);
   // Get the track info
@@ -309,8 +309,9 @@ void NPS::BeamReaction::DoIt(const G4FastTrack& fastTrack, G4FastStep& fastStep)
     // Use to clean up the IonTable in case of the Ex changing at every event
     G4ParticleDefinition* HeavyName;
 
-    if (m_Reaction.GetUseExInGeant4())
+    if (m_Reaction.GetUseExInGeant4()){
       HeavyName = IonTable->GetIon(HeavyZ, HeavyA, m_Reaction.GetExcitation4() * MeV);
+    }
     else
       HeavyName = IonTable->GetIon(HeavyZ, HeavyA);
 
@@ -683,26 +684,20 @@ void NPS::BeamReaction::DoIt(const G4FastTrack& fastTrack, G4FastStep& fastStep)
     // Momentum in beam and world frame for light particle 1
     G4ThreeVector momentum_kine1_beam(sin(Theta1) * cos(Phi1), sin(Theta1) * sin(Phi1), cos(Theta1));
     G4ThreeVector momentum_kine1_world = momentum_kine1_beam;
-    //    momentum_kine1_world.rotate(Beam_theta, uy); // rotation of Beam_theta around Y axis
-    //    momentum_kine1_world.rotate(Beam_phi, uz);   // rotation of Beam_phi around Z axis
+    momentum_kine1_world.rotate(Beam_theta, uy); // rotation of Beam_theta around Y axis
+    momentum_kine1_world.rotate(Beam_phi, uz);   // rotation of Beam_phi around Z axis
 
     // Momentum in beam and world frame for light particle 2
     G4ThreeVector momentum_kine2_beam(sin(Theta2) * cos(Phi2), sin(Theta2) * sin(Phi2), cos(Theta2));
     G4ThreeVector momentum_kine2_world = momentum_kine2_beam;
-    //    momentum_kine2_world.rotate(Beam_theta, uy); // rotation of Beam_theta on Y axis
-    //    momentum_kine2_world.rotate(Beam_phi, uz);   // rotation of Beam_phi on Z axis
+    momentum_kine2_world.rotate(Beam_theta, uy); // rotation of Beam_theta on Y axis
+    momentum_kine2_world.rotate(Beam_phi, uz);   // rotation of Beam_phi on Z axis
 
     // Momentum in beam and world frame for heavy residual
-    //
-    // G4ThreeVector momentum_kineB_beam(sin(ThetaB) * cos(PhiB + pi),
-    //        sin(ThetaB) * sin(PhiB + pi), cos(ThetaB));
-    // G4ThreeVector momentum_kineB_world =  momentum_kineB_beam;
-    // momentum_kineB_world.rotate(Beam_theta, uy); // rotation of Beam_theta on Y axis
-    // momentum_kineB_world.rotate(Beam_phi, uz); // rotation of Beam_phi on Z axis
-
+    // Old: G4ThreeVector momentum_kineB_beam(sin(ThetaB) * cos(PhiB + pi),
+    // Old:     sin(ThetaB) * sin(PhiB + pi), cos(ThetaB));
     TLorentzVector* P_A = m_QFS.GetEnergyImpulsionLab_A();
     TLorentzVector* P_B = m_QFS.GetEnergyImpulsionLab_B();
-
     G4ThreeVector momentum_kineB_beam(P_B->Px(), P_B->Py(), P_B->Pz());
     momentum_kineB_beam = momentum_kineB_beam.unit();
     TKEB = P_B->Energy() - m_QFS.GetParticleB()->Mass();
diff --git a/NPSimulation/Process/CMakeLists.txt b/NPSimulation/Process/CMakeLists.txt
index ae5e920aef0871e32bb2dd5e0bbb6553c3c33ad1..040566ef9469818336f847bf0e57352352326508 100644
--- a/NPSimulation/Process/CMakeLists.txt
+++ b/NPSimulation/Process/CMakeLists.txt
@@ -1,6 +1,8 @@
 if(Geant4_VERSION_MAJOR GREATER 10)
   message("Compiling without IonIonElastic")
+
   add_library(NPSProcess OBJECT ThreeBody.cc FissionDecay.cc Decay.cc BeamReaction.cc FastDriftElectron.cc PhysicsList.cc G4DriftElectron.cc G4IonizationWithDE.cc G4DriftElectronPhysics.cc G4DEAbsorption.cc G4DEAmplification.cc G4DETransport.cc menate_R.cc NeutronHPphysics.cc NeutronHPMessenger.cc)
+
     add_definitions(-DGEANT4_11)
     add_definitions(-DUSE_NEUTRONHP)
 else()
diff --git a/NPSimulation/Scorers/CMakeLists.txt b/NPSimulation/Scorers/CMakeLists.txt
index e53c4bb72b44ad28598f3bc7a5fbf647f2c2d4ba..be3835155e1f39b926aa552e3a34d32002b6cded 100644
--- a/NPSimulation/Scorers/CMakeLists.txt
+++ b/NPSimulation/Scorers/CMakeLists.txt
@@ -1,2 +1,2 @@
-add_library(NPSScorers SHARED CylinderTPCScorers.cc DriftChamberScorers.cc NPSHitsMap.hh CalorimeterScorers.cc InteractionScorers.cc DSSDScorers.cc SiliconScorers.cc PhotoDiodeScorers.cc ObsoleteGeneralScorers.cc DriftElectronScorers.cc TPCScorers.cc MDMScorer.cc NeutronDetectorScorers.cc ProcessScorers.cc PlasticBar.cc GeScorers.cc GaseousDetectorScorers.cc)
+add_library(NPSScorers SHARED CylinderTPCScorers.cc DriftChamberScorers.cc NPSHitsMap.hh CalorimeterScorers.cc InteractionScorers.cc DSSDScorers.cc SiliconScorers.cc PhotoDiodeScorers.cc ObsoleteGeneralScorers.cc DriftElectronScorers.cc TPCScorers.cc MDMScorer.cc NeutronDetectorScorers.cc ProcessScorers.cc PlasticBar.cc GeScorers.cc GaseousDetectorScorers.cc WireScorers.cc)
 target_link_libraries(NPSScorers ${ROOT_LIBRARIES} ${Geant4_LIBRARIES} ${NPLib_LIBRARIES} -lNPInitialConditions -lNPInteractionCoordinates)
diff --git a/NPSimulation/Scorers/GaseousDetectorScorers.cc b/NPSimulation/Scorers/GaseousDetectorScorers.cc
index 7cf09f69db15a66fac08b3e0ccf54bccd7368e7b..13e899cbeecbe7bc751ef066d55970e034674cc3 100644
--- a/NPSimulation/Scorers/GaseousDetectorScorers.cc
+++ b/NPSimulation/Scorers/GaseousDetectorScorers.cc
@@ -48,10 +48,10 @@ vector<GaseousDetectorData>::iterator
 GaseousDetectorDataVector::find(const unsigned int& index) {
   for (vector<GaseousDetectorData>::iterator it = m_Data.begin();
        it != m_Data.end(); it++) {
-    if ((*it).GetIndex() == index)
-      return it;
+    if ((*it).GetIndex() == index) // comparison of the current index with the argument index
+      return it;                   // return immediatly the iterator
   }
-  return m_Data.end();
+  return m_Data.end();             // return m_Data.end() if index is not found
 }
 
 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -73,46 +73,45 @@ G4bool PS_GaseousDetector::ProcessHits(G4Step* aStep, G4TouchableHistory*) {
   // Contain Particle Id, Energy, Time and as many copy number as nested volume
   unsigned int mysize = m_NestingLevel.size();
   string particlename = aStep->GetTrack()->GetParticleDefinition()->GetParticleName();
-  int parentID = aStep->GetTrack()->GetParentID();
-  int trackID  = aStep->GetTrack()->GetTrackID();
-  double step_posZ = aStep->GetPreStepPoint()->GetPosition().z(); 
-
-  t_Energy = aStep->GetTotalEnergyDeposit();
-  t_Time   = aStep->GetPreStepPoint()->GetGlobalTime();  // DeltaT [ns] since the begining of the simulated event up to the begining of the step
+  //if (particlename != "alpha") return TRUE;
 
+  int trackID  = aStep->GetTrack()->GetTrackID();
+  double step_posZ = aStep->GetPostStepPoint()->GetPosition().z(); // z coordinate at the end of the step.
+  t_Energy = aStep->GetTotalEnergyDeposit();  
+  t_Time   = 0.5*(aStep->GetPreStepPoint()->GetGlobalTime()+aStep->GetPostStepPoint()->GetGlobalTime());  // DeltaT [ns] since the begining of the simulated event up to the begining of the step
   t_ParticleName.push_back(particlename);
-  t_ParentID.push_back(parentID);
   t_TrackID.push_back(trackID);
   t_StepPosZ.push_back(step_posZ);
   t_EnergyLossPerStep.push_back(t_Energy);
   t_StepTime.push_back(t_Time);
   
   t_Level.clear();
-  
   for (unsigned int i = 0; i < mysize; i++) {
     t_Level.push_back(
         aStep->GetPreStepPoint()->GetTouchableHandle()->GetCopyNumber(
             m_NestingLevel[i]));
   }
+  
+
   // Check if the particle has interact before, if yes, add up the energies and update the track
   vector<GaseousDetectorData>::iterator it;
   it = m_Data.find(GaseousDetectorData::CalculateIndex(t_Level));
   if (it != m_Data.end()) {
-    // update the m_Data vector at each step
+    // update the m_Data vector at each step corresponding at the same sensitive volume
     it->Add(t_Energy);
     it->SetParticleName(particlename);
-    it->SetParentID(parentID);
     it->SetTrackID(trackID);
     it->SetStepPosZ(step_posZ);
     it->SetEnergyLossPerStep(t_Energy);
     it->SetStepTime(t_Time);
   } 
   else {
-    // first step: initialize a new m_Data vector
+    // first step: initialize a new m_Data vector<GaseousDetectorData>
     // t_Time [ns] is the time at first step
-    m_Data.Set(t_Energy, t_Time, t_Level, t_ParticleName, t_ParentID, t_TrackID, t_StepPosZ, t_EnergyLossPerStep, t_StepTime);
+    m_Data.Set(t_Energy, t_Time, t_Level, t_ParticleName, t_TrackID, t_StepPosZ, t_EnergyLossPerStep, t_StepTime);
   }
 
+
   return TRUE;
 }
 
@@ -127,7 +126,6 @@ void PS_GaseousDetector::clear() {
   m_Data.clear();
   t_Level.clear();
   t_ParticleName.clear();
-  t_ParentID.clear();
   t_TrackID.clear();
   t_StepPosZ.clear();
   t_EnergyLossPerStep.clear();
diff --git a/NPSimulation/Scorers/GaseousDetectorScorers.hh b/NPSimulation/Scorers/GaseousDetectorScorers.hh
index 21e813707155b596c74e8d615fefe508f19fd9ce..f403a4d9289c3abdac6e7d73c7396eb60b9862ca 100644
--- a/NPSimulation/Scorers/GaseousDetectorScorers.hh
+++ b/NPSimulation/Scorers/GaseousDetectorScorers.hh
@@ -39,7 +39,6 @@ namespace GaseousDetectorScorers {
                             const double& Time,
                             const vector<unsigned int>& Nesting,
                             const vector<string>& name,
-                            const vector<int>&    pID,
                             const vector<int>&    tID,
                             const vector<double>& posZ, 
                             const vector<double>& DE,
@@ -49,7 +48,6 @@ namespace GaseousDetectorScorers {
           m_Energy=Energy;
           m_Time=Time;
           m_ParticleName=name;
-          m_ParentID=pID;
           m_TrackID=tID;
           m_StepPosZ=posZ;
           m_EnergyLossPerStep=DE;
@@ -63,7 +61,6 @@ namespace GaseousDetectorScorers {
         double         m_Energy;
         double         m_Time;
         vector<string> m_ParticleName;
-        vector<int>    m_ParentID;
         vector<int>    m_TrackID;
         vector<double> m_StepPosZ;
         vector<double> m_EnergyLossPerStep;
@@ -78,7 +75,6 @@ namespace GaseousDetectorScorers {
         inline double GetEnergy() const {return m_Energy;}
         inline double GetTime() const {return m_Time;}
         inline vector<string> GetParticleName() const {return m_ParticleName;}
-        inline vector<int>    GetParentID() const {return m_ParentID;}
         inline vector<int>    GetTrackID() const {return m_TrackID;}
         inline vector<double> GetStepPosZ() const {return m_StepPosZ;}
         inline vector<double> GetEnergyLossPerStep() const {return m_EnergyLossPerStep;}
@@ -91,7 +87,6 @@ namespace GaseousDetectorScorers {
         void Add(const double& DE) {m_Energy+=DE;}; 
         // add specific information at each step
         inline void SetParticleName(const string& name){m_ParticleName.push_back(name);}
-        inline void SetParentID(const int& id){m_ParentID.push_back(id);}
         inline void SetTrackID(const int& id){m_TrackID.push_back(id);}
         inline void SetStepPosZ(const double& z){m_StepPosZ.push_back(z);}
         inline void SetEnergyLossPerStep(const double& DE){m_EnergyLossPerStep.push_back(DE);}
@@ -120,12 +115,11 @@ namespace GaseousDetectorScorers {
                       const double& Time, 
                       const vector<unsigned int>& Nesting, 
                       const vector<string>& name, 
-                      const vector<int>& pID, 
                       const vector<int>& tID, 
                       const vector<double>& z, 
                       const vector<double>& DE,
                       const vector<double>& t) {
-        m_Data.push_back(GaseousDetectorData(Energy,Time,Nesting,name,pID,tID,z,DE,t));
+        m_Data.push_back(GaseousDetectorData(Energy,Time,Nesting,name,tID,z,DE,t));
       };
       const GaseousDetectorData* operator[](const unsigned int& i) const {return &m_Data[i];};
   };
@@ -161,7 +155,6 @@ namespace GaseousDetectorScorers {
         double t_Time;   // time at first step
         // all these vectors are used to accumulate info at each step
         vector<string> t_ParticleName;
-        vector<int>    t_ParentID;
         vector<int>    t_TrackID;
         vector<double> t_StepPosZ;
         vector<double> t_EnergyLossPerStep;
@@ -173,7 +166,6 @@ namespace GaseousDetectorScorers {
       inline double GetEnergy(const unsigned int& i) {return m_Data[i]->GetEnergy();};
       inline double GetTime(const unsigned int& i) {return m_Data[i]->GetTime();};
       inline vector<string> GetParticleName(const unsigned int& i) const {return m_Data[i]->GetParticleName();}
-      inline vector<int>    GetParentID(const unsigned int& i) const {return m_Data[i]->GetParentID();}
       inline vector<int>    GetTrackID(const unsigned int& i) const {return m_Data[i]->GetTrackID();}
       inline vector<double> GetStepPosZ(const unsigned int& i) const {return m_Data[i]->GetStepPosZ();}
       inline vector<double> GetEnergyLossPerStep(const unsigned int& i) const {return m_Data[i]->GetEnergyLossPerStep();}
diff --git a/NPSimulation/Scorers/InteractionScorers.cc b/NPSimulation/Scorers/InteractionScorers.cc
index 6eddde1bb66ac72ea75bb23d2b68d1717606148a..30dedbb04bd92bbb1b368efaa7bc82dbe496be08 100644
--- a/NPSimulation/Scorers/InteractionScorers.cc
+++ b/NPSimulation/Scorers/InteractionScorers.cc
@@ -53,19 +53,25 @@ G4bool PS_Interactions::ProcessHits(G4Step* aStep, G4TouchableHistory*){
   t_Mass = aStep->GetTrack()->GetDynamicParticle()->GetMass();
   t_Charge = aStep->GetTrack()->GetDynamicParticle()->GetCharge();
   double KineticEnergy = aStep->GetTrack()->GetDynamicParticle()->GetKineticEnergy();
+  if (t_Charge > 0) {
   t_Brho = sqrt(KineticEnergy * KineticEnergy + 2 * KineticEnergy * t_Mass)
     / (c_light * t_Charge);
+  }
+  
+  else {
+    t_Brho = NAN;
+  }
 
   // add it to check the theta of momentum
   // MOMENT  = aStep->GetPreStepPoint()->GetMomentumDirection();
 
   vector<InteractionData>::iterator it;
   it = m_DataVector.find(t_Index); 
-  if(it!=m_DataVector.end())
+  if(it!=m_DataVector.end()){
     it->Add(t_Energy);
+  }
   else
   { m_DataVector.Set(t_Index,t_Energy,t_Time,t_Position.x(),t_Position.y(),t_Position.z(), /*MOMENT*/ t_Position.theta(),t_Position.phi(), t_ParticleName, t_A, t_Z, t_Mass, t_Charge, t_Brho);
-
   }
 
   return TRUE;
diff --git a/NPSimulation/Scorers/PlasticBar.cc b/NPSimulation/Scorers/PlasticBar.cc
index 1ea8e9ad5aff2a936240a92efb354976e35cbb6a..f545d937900d51852c0fc67fe2fb73fab565f480 100644
--- a/NPSimulation/Scorers/PlasticBar.cc
+++ b/NPSimulation/Scorers/PlasticBar.cc
@@ -97,7 +97,8 @@ PS_PlasticBar::PS_PlasticBar(G4String name, vector<G4int> NestingLevel, G4int de
   m_NestingLevel = NestingLevel;
   auto tree = RootOutput::getInstance()->GetTree();
   tree->Branch("PlasticBar_Time", &t_Time);
-  tree->Branch("PlasticBar_Position", &t_Position);
+  tree->Branch("PlasticBar_PositionX", &t_PositionX);
+  tree->Branch("PlasticBar_PositionY", &t_PositionY);
   tree->Branch("PlasticBar_TotalEnergy_by_Z", &t_TotalEnergy_by_Z);
   tree->Branch("PlasticBar_TotalLight_by_Z", &t_TotalLight_by_Z);
   t_TotalEnergy_by_Z = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
@@ -127,7 +128,8 @@ G4bool PS_PlasticBar::ProcessHits(G4Step* aStep, G4TouchableHistory*) {
     if (particlename != "neutron" && Z < 7) {
       t_Energy = aStep->GetTotalEnergyDeposit();
       t_Time = aStep->GetPostStepPoint()->GetGlobalTime();
-      t_Position = aStep->GetPostStepPoint()->GetPosition()[1];
+      t_PositionX = aStep->GetPostStepPoint()->GetPosition()[0];
+      t_PositionY = aStep->GetPostStepPoint()->GetPosition()[1];
       t_Level.clear();
 
       for (unsigned int i = 0; i < mysize; i++) {
@@ -140,7 +142,8 @@ G4bool PS_PlasticBar::ProcessHits(G4Step* aStep, G4TouchableHistory*) {
         it = m_Data.find(PlasticBarData::CalculateIndex(t_Level));
 
         if (it == m_Data.end()) {
-          m_Data.Set(0.0, 0.0, t_Position, t_Time, t_Level);
+          m_Data.Set(0.0, 0.0, t_PositionY, t_Time, t_Level, t_PositionX);
+	  
           AddEntry();                                                // Adds null entry to t_Energy_by_ChargeNumber
           auto lastEnergyEntry = t_Energy_by_ChargeNumber.end() - 1; // iterator
           (*lastEnergyEntry)[Z] += t_Energy;
@@ -163,7 +166,7 @@ G4bool PS_PlasticBar::ProcessHits(G4Step* aStep, G4TouchableHistory*) {
     // now, if the next interaction is a Transportation, and there is an energy deposition, it means that we are
     // observing the last step. To avoid having all the positions on the exit of the bar, lets consider the
     // PreStepPosition instead.
-  }
+  } //end "if process transportation"
   return TRUE;
 }
 
diff --git a/NPSimulation/Scorers/PlasticBar.hh b/NPSimulation/Scorers/PlasticBar.hh
index 691743be1066079af7f324eb75351d3c24e1ac71..d931fd3f5330b8de17bfe6824c0fb4b5d21fb63d 100644
--- a/NPSimulation/Scorers/PlasticBar.hh
+++ b/NPSimulation/Scorers/PlasticBar.hh
@@ -36,14 +36,16 @@ namespace PlasticBar {
 
   // Hold One hit info
   class PlasticBarData {
-   public:
-    PlasticBarData(const double& Energy, const double& Light, const double& Position, const double& Time,
-                   const std::vector<unsigned int>& Nesting) {
+   public:  
+    PlasticBarData(const double& Energy, const double& Light, const double& PositionY, const double& Time,
+                   const std::vector<unsigned int>& Nesting, const double& PositionX)
+    {
       m_Index = CalculateIndex(Nesting);
       m_Level = Nesting;
       m_Energy = Energy;
       m_Light = Light;
-      m_Position = Position;
+      m_PositionX = PositionX;
+      m_PositionY = PositionY;
       m_Time = Time;
     };
     ~PlasticBarData(){};
@@ -53,7 +55,8 @@ namespace PlasticBar {
     std::vector<unsigned int> m_Level;
     double m_Energy;
     double m_Light;
-    double m_Position;
+    double m_PositionX;
+    double m_PositionY;
     double m_Time;
 
    public:
@@ -64,7 +67,8 @@ namespace PlasticBar {
     inline std::vector<unsigned int> GetLevel() const { return m_Level; };
     inline double GetEnergy() const { return m_Energy; };
     inline double GetLight() const { return m_Light; };
-    inline double GetPosition() const { return m_Position; };
+    inline double GetPositionX() const {return m_PositionX; };
+    inline double GetPositionY() const { return m_PositionY; };
     inline double GetTime() const { return m_Time; };
 
    public:
@@ -89,10 +93,11 @@ namespace PlasticBar {
     inline unsigned int size() { return m_Data.size(); };
     PlasticBarData* operator[](const unsigned int& i) { return &m_Data[i]; };
 
-    inline void Set(const double& Energy, const double& Light, const double& Position, const double& Time,
-                    const std::vector<unsigned int>& Nesting) {
-      m_Data.push_back(PlasticBarData(Energy, Light, Position, Time, Nesting));
+    inline void Set(const double& Energy, const double& Light, const double& PositionY, const double& Time,
+                    const std::vector<unsigned int>& Nesting, const double& PositionX) {
+      m_Data.push_back(PlasticBarData(Energy, Light, PositionY, Time, Nesting, PositionX));
     };
+
   };
 
   //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -137,7 +142,8 @@ namespace PlasticBar {
    private:
     double t_Energy;
     double t_Light;
-    double t_Position;
+    double t_PositionX;
+    double t_PositionY;
     double t_Time;
     std::vector<unsigned int> t_Level;
 
@@ -158,9 +164,11 @@ namespace PlasticBar {
     inline unsigned int GetMult() { return m_Data.size(); };
     inline double GetEnergy(const unsigned int& i) { return m_Data[i]->GetEnergy(); };
     inline double GetLight(const unsigned int& i) { return m_Data[i]->GetLight(); };
-    inline double GetPosition(const unsigned int& i) { return m_Data[i]->GetPosition(); };
+    inline double GetPositionX(const unsigned int& i) { return m_Data[i]->GetPositionX(); };
+    inline double GetPositionY(const unsigned int& i) { return m_Data[i]->GetPositionY(); };
     inline double GetTime(const unsigned int& i) { return m_Data[i]->GetTime(); };
     inline std::vector<unsigned int> GetLevel(const unsigned int& i) { return m_Data[i]->GetLevel(); };
+
   };
 } // namespace PlasticBar
 
diff --git a/NPSimulation/Scorers/WireScorers.cc b/NPSimulation/Scorers/WireScorers.cc
new file mode 100644
index 0000000000000000000000000000000000000000..bd0cf5a3d82836b93d717c15cf298840b748b7d5
--- /dev/null
+++ b/NPSimulation/Scorers/WireScorers.cc
@@ -0,0 +1,183 @@
+/*****************************************************************************
+ * Copyright (C) 2009-2016   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: Audrey ANNE  contact address: anne@lpccaen.in2p3.fr      *
+ *                                                                           *
+ * Creation Date  : July 2024                                                *
+ * Last update    : January 2025                                             *
+ *---------------------------------------------------------------------------*
+ * Decription:                                                               *
+ * Scorer for wires in gas detector                                          *
+ *                                                                           *
+ *---------------------------------------------------------------------------*
+ * Comment:                                                                  *
+ *                                                                           *
+ *                                                                           *
+ *****************************************************************************/
+#include "WireScorers.hh"
+#include "G4SteppingManager.hh"
+#include "G4UnitsTable.hh"
+#include "RootOutput.h"
+#include "TMath.h"
+
+#include "TVector3.h"
+using namespace WireScorers;
+using namespace std;
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+unsigned int WireData::CalculateIndex(const vector<unsigned int>& level) {
+
+  unsigned int size = level.size();
+  unsigned int result = 0;
+  unsigned int multiplier = 1;
+  for (unsigned int i = 0; i < size; i++) {
+    result += level[i] * multiplier;
+    multiplier *= 1000;
+  }
+  return result;
+}
+
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+vector<WireData>::iterator WireDataVector::find(const unsigned int& index) {
+  for (vector<WireData>::iterator it = m_Data.begin(); it != m_Data.end(); it++) {
+    if ((*it).GetIndex() == index)
+      return it;
+  }
+  return m_Data.end();
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+PS_Wire::PS_Wire(G4String name, vector<G4int> NestingLevel, G4int TotalNumberLayer, G4int NumberWireByLayer, G4double DriftSpeed,std::map<unsigned int , double> map_WireAngle, G4int depth) : G4VPrimitiveScorer(name, depth) {
+  m_NestingLevel = NestingLevel;
+  m_TotalNumberLayer = TotalNumberLayer;
+  m_NumberWireByLayer = NumberWireByLayer;
+  m_DriftSpeed = DriftSpeed;
+  m_WireAngle = map_WireAngle;
+  
+  auto tree = RootOutput::getInstance()->GetTree();
+  // tree->Branch("Layer_Number", &t_LayerNumber);
+  // tree->Branch("Wire_Number", &t_WireNumber); 
+  // tree->Branch("Wire_Time", &t_Time);
+  // tree->Branch("Edge", &t_Edge);
+
+  G4String PosInWireX = name + "_PosInWireX";
+  G4String PosInWireY = name + "_PosInWireY";
+  G4String PosInWireZ = name + "_PosInWireZ";
+
+  tree->Branch(PosInWireX, &t_PosInWireX);
+  tree->Branch(PosInWireY, &t_PosInWireY);
+  tree->Branch(PosInWireZ, &t_PosInWireZ);
+  
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+PS_Wire::~PS_Wire() {}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+G4bool PS_Wire::ProcessHits(G4Step* aStep, G4TouchableHistory*) {
+
+  // Contain information as many copy number as nested volume
+  unsigned int mysize = m_NestingLevel.size();
+   
+  G4String particlename = aStep->GetTrack()->GetParticleDefinition()->GetParticleName();
+ 
+  //Solid information
+  static G4VSolid* solid;
+  solid = aStep->GetTrack()->GetTouchable()->GetSolid();
+  
+  G4ThreeVector WirePosition =  aStep->GetTrack()->GetTouchable()->GetTranslation(); //wire's center position
+  //cout << solid->GetName() << "  WirePos X = " << WirePosition[0] << "  WirePos Y = " << WirePosition[1] << "  WirePos Z = " << WirePosition[2] << endl;
+  const G4RotationMatrix* WireRotation = aStep->GetTrack()->GetTouchable()->GetRotation();
+
+  // we only keep information about charged particles
+  if (particlename != "neutron") {
+    
+    //Detector number and Wire copy number
+    t_DetectorNumber = aStep->GetTrack()->GetTouchable()->GetCopyNumber(1); //Wires are contained in a box
+    int CopyNbr;
+    CopyNbr  =  aStep->GetTrack()->GetTouchable()->GetCopyNumber(0);
+    t_WireNumber = (CopyNbr-1)%m_NumberWireByLayer; //-1 because copynbr is the ID contained in the xml file and ID begins at 1.
+    t_LayerNumber = (floor((CopyNbr-1)/m_NumberWireByLayer));
+ 
+    //cout <<  "solid name = " << solid->GetName() <<  "  particle name = " << particlename << " Copy number = " << CopyNbr << " layer number = " << t_LayerNumber << " wire number =  " << t_WireNumber << endl;
+
+    t_Level.clear();
+
+    G4ThreeVector PrePosWire =  aStep->GetPreStepPoint()->GetPosition(); //lab position when particle enters the cylinder 
+    G4ThreeVector PostPosWire =  aStep->GetPostStepPoint()->GetPosition(); //lab position when particle exists the cylinder
+   
+    G4ThreeVector InOutDir = PostPosWire - PrePosWire; //particle's direction vector 
+    G4ThreeVector PointC = PrePosWire + 0.5*InOutDir; //closest point to the cylinder center on the particle's path
+
+    //cout << "  presposwire =  " << PrePosWire << "  postposwire =  " << PostPosWire << "  PointC =  "<< PointC << endl;
+    
+    t_PosInWireX.push_back(PointC[0]); //leading egde
+    t_PosInWireX.push_back(-10000); // trailing edge
+    
+    t_PosInWireY.push_back(PointC[1]);
+    t_PosInWireY.push_back(-10000);
+    
+    t_PosInWireZ.push_back(PointC[2]);
+    t_PosInWireZ.push_back(-10000);
+
+    G4ThreeVector DirectionWireZ; // wire direction vector z' in the lab  x,y,z vectors basis 
+    DirectionWireZ = WireRotation->rowZ();
+
+    G4ThreeVector PointA = WirePosition; // first point on the symmetry axis of the cylinder
+    G4ThreeVector PointB = WirePosition + DirectionWireZ;  // second point on the symmetry axis of the cylinder
+
+    //cout << " CenterPointWire =  " << PointA << "  CenterPointWire + shift =  " << PointB << endl;
+    
+    G4ThreeVector AB = PointB - PointA;
+    G4ThreeVector AC = PointC - PointA;
+
+    G4ThreeVector CrossABAC = AB.cross(AC);
+    G4double MagCrossABAC = CrossABAC.mag();
+    G4double MagAB = AB.mag();
+  
+    G4double CD = MagCrossABAC/MagAB; // DriftLength
+    t_DrifLength = CD;
+
+    
+    t_Time = (t_DrifLength/m) / (m_DriftSpeed*299792458);///!!!NEEDS TO BE FIXED BEFORE USE!!!///
+    
+    for (unsigned int i = 0; i < mysize; i++) {
+      t_Level.push_back(aStep->GetPostStepPoint()->GetTouchableHandle()->GetCopyNumber(m_NestingLevel[i]));
+    }
+    
+    m_Data.Set(t_Time*1e9 , t_Level, t_LayerNumber, t_WireNumber,1, t_DrifLength, t_DetectorNumber); // leading egde
+    m_Data.Set((t_Time+(t_Time/10))*1e9 , t_Level, t_LayerNumber, t_WireNumber,0, t_DrifLength+(t_DrifLength*100), t_DetectorNumber);// trailing edge
+
+  }
+ 
+  return TRUE;
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+void PS_Wire::Initialize(G4HCofThisEvent*) { clear();}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+void PS_Wire::EndOfEvent(G4HCofThisEvent*) {}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+void PS_Wire::clear() {
+  m_Data.clear();
+  t_Level.clear();
+
+  t_PosInWireX.clear();
+  t_PosInWireY.clear();
+  t_PosInWireZ.clear();
+}  
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+void PS_Wire::DrawAll() {}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+void PS_Wire::PrintAll() {}
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
diff --git a/NPSimulation/Scorers/WireScorers.hh b/NPSimulation/Scorers/WireScorers.hh
new file mode 100644
index 0000000000000000000000000000000000000000..63cf4aba3a804a177e347e5bce103089038f4146
--- /dev/null
+++ b/NPSimulation/Scorers/WireScorers.hh
@@ -0,0 +1,170 @@
+#ifndef WireScorer_h
+#define WireScorer_h 1
+/*****************************************************************************
+ * Copyright (C) 2009-2016   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: Audrey ANNE contact address: anne@lpccaen.in2p3.fr       *
+ *                                                                           *
+ * Creation Date  : July 2024                                                *
+ * Last update    : January 2025                                             *
+ *---------------------------------------------------------------------------*
+ * Decription:                                                               *
+ *                                                                           *
+ *                                                                           *
+ *---------------------------------------------------------------------------*
+ * Comment:                                                                  *
+ *                                                                           *
+ *****************************************************************************/
+#include "G4VPrimitiveScorer.hh"
+#include "NPSHitsMap.hh"
+// #include "NPSecondaries.hh"
+
+#include <array>
+#include <map>
+using namespace CLHEP;
+
+namespace WireScorers {
+
+ 
+  /////////////////////////////////////////////////////////////////////
+  //////////////////////// class WireData ////////////////////////
+  /////////////////////////////////////////////////////////////////////
+  // Hold One hit info
+  class WireData {
+   public:  
+    WireData(const double& Time, const std::vector<unsigned int>& Nesting, const unsigned int& LayerNumber, const unsigned int& WireNumber, const unsigned int& Edge, const double& DriftLength, const int& DetectorNumber)
+    {
+      m_Index = CalculateIndex(Nesting);
+      m_Level = Nesting;
+      m_Time = Time;
+      m_LayerNumber = LayerNumber;
+      m_WireNumber = WireNumber;
+      m_Edge = Edge;
+      m_DriftLength = DriftLength;
+      m_DetectorNumber = DetectorNumber;
+    };
+    ~WireData(){};
+
+   private:
+    unsigned int m_Index;
+    std::vector<unsigned int> m_Level;
+    double m_PositionX;
+    double m_Time;
+    unsigned int m_LayerNumber;
+    unsigned int m_WireNumber;
+    unsigned int m_Edge;
+    double m_DriftLength;
+    int m_DetectorNumber;
+    
+   public:
+    static unsigned int CalculateIndex(const std::vector<unsigned int>& Nesting);
+
+   public:
+    inline unsigned int GetIndex() const { return m_Index; };
+    inline std::vector<unsigned int> GetLevel() const { return m_Level; };
+    inline double GetTime() const { return m_Time; };
+    inline unsigned int GetLayerNumber() const { return m_LayerNumber; };
+    inline unsigned int GetWireNumber() const { return m_WireNumber; };
+    inline unsigned int GetEdge() const { return m_Edge; };
+    inline double GetDriftLength() const { return m_DriftLength; };
+    inline unsigned int GetDetectorNumber() const {return m_DetectorNumber; };
+    
+  };
+  
+  /////////////////////////////////////////////////////////////////////
+  //////////////////////// class WireDataVector////////////////////////
+  /////////////////////////////////////////////////////////////////////
+  
+  // Manage a vector of Wire hit
+  class WireDataVector {
+   public:
+    WireDataVector(){};
+    ~WireDataVector(){};
+
+   private:
+    std::vector<WireData> m_Data;
+
+   public:
+    std::vector<WireData>::iterator find(const unsigned int& index);
+    inline void clear() { m_Data.clear(); };
+    inline std::vector<WireData>::iterator end() { return m_Data.end(); };
+    inline std::vector<WireData>::iterator begin() { return m_Data.begin(); };
+    inline unsigned int size() { return m_Data.size(); };
+    WireData* operator[](const unsigned int& i) { return &m_Data[i]; };
+
+    inline void Set(const double& Time,const std::vector<unsigned int>& Nesting,  const unsigned int& LayerNumber, const unsigned int& WireNumber, const unsigned int& Edge, const double& DriftLength, const unsigned int& DetectorNumber) {
+      m_Data.push_back(WireData(Time, Nesting, LayerNumber, WireNumber, Edge, DriftLength, DetectorNumber));
+    };
+
+  };
+  
+  //////////////////////////////////////////////////////
+  //////////////// class PS_Wire ///////////////////////
+  //////////////////////////////////////////////////////
+  
+  //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+  class PS_Wire : public G4VPrimitiveScorer {
+
+   public: // with description
+    PS_Wire(G4String name, std::vector<G4int> NestingLevel, G4int TotalNumberLayer, G4int NumberWireByLayer, G4double DriftSpeed, std::map<unsigned int , double> map_WireAngle,  G4int depth = 0 );
+    ~PS_Wire();
+
+   protected: // with description
+    G4bool ProcessHits(G4Step*, G4TouchableHistory*);
+
+   public:
+    void Initialize(G4HCofThisEvent*);
+    void EndOfEvent(G4HCofThisEvent*);
+    void clear();
+    void DrawAll();
+    void PrintAll();
+
+   private:
+    // How much level of volume nesting should be considered
+    // Give the list of the nesting level at which the copy number should be return.
+    // 0 is the lowest level possible (the actual volume copy number in which the interaction happen)
+    std::vector<G4int> m_NestingLevel;
+    G4int m_TotalNumberLayer;
+    G4int m_NumberWireByLayer;
+    G4double m_DriftSpeed;
+    std::map<unsigned int , double> m_WireAngle;
+
+   private:
+    WireDataVector m_Data;
+
+   private:
+    double t_Time;
+    std::vector<unsigned int> t_Level;
+    unsigned int t_LayerNumber;
+    unsigned int t_WireNumber;
+    unsigned int t_Edge;
+    double t_DrifLength;
+    unsigned int t_DetectorNumber;
+
+    std::vector<double> t_PosInWireX;
+    std::vector<double> t_PosInWireY;
+    std::vector<double> t_PosInWireZ;
+    
+   public:
+    inline unsigned int GetMult() { return m_Data.size(); };
+    inline double GetTime(const unsigned int& i) { return m_Data[i]->GetTime(); };
+    inline std::vector<unsigned int> GetLevel(const unsigned int& i) { return m_Data[i]->GetLevel(); };
+
+    inline unsigned int GetLayerNumber (const unsigned int& i) {return m_Data[i]->GetLayerNumber(); };
+    inline unsigned int GetWireNumber(const unsigned int& i) { return m_Data[i]->GetWireNumber(); };
+    inline unsigned int GetEdge(const unsigned int& i) { return m_Data[i]->GetEdge(); };
+
+    inline double GetDriftLength(const unsigned int& i ) {return m_Data[i]->GetDriftLength();};
+
+    inline double GetDetectorNumber(const unsigned int& i) {return m_Data[i]->GetDetectorNumber();};
+  };
+
+  
+} // namespace Wire
+
+#endif
diff --git a/NPSimulation/ressources/macro/vis.mac.in b/NPSimulation/ressources/macro/vis.mac.in
index 37862e2d495fd8df5eafd398434b5a766e42f802..1063d15b76a34b2e998b34586a2e6fa5b5dd3f4c 100644
--- a/NPSimulation/ressources/macro/vis.mac.in
+++ b/NPSimulation/ressources/macro/vis.mac.in
@@ -52,10 +52,6 @@
 /vis/modeling/trajectories/DrawByParentID/Decay4/setLineColourRGBA 1 1 1 1
 
 
-
-
-/vis/modeling/trajectories/select DrawByParentID
-
 # To superimpose all of the events from a given run:
 /vis/scene/endOfEventAction accumulate 10
 
diff --git a/Projects/AlPhaPha/2024/Analysis.cxx b/Projects/AlPhaPha/2024/Analysis.cxx
index a27c146286e260235b19e09ce647ea3654b3d146..e4442435bfaf5e12f9b227c48cdade4b8b027cfb 100644
--- a/Projects/AlPhaPha/2024/Analysis.cxx
+++ b/Projects/AlPhaPha/2024/Analysis.cxx
@@ -466,8 +466,32 @@ void Analysis::VamosAnalysis(){
 
         UShort_t FPMWPat = MTOF_FP0_T0VN[0]; //20 section
         FPMW_Section = FPMWPat;
+
+        //Toff
+        vector<double> Toff13 , Toff14, Toff23, Toff24;
+        const char* Path13 = "./Calibration/VAMOS/FPMW/Toff/Toff13.txt";
+        const char* Path14 = "./Calibration/VAMOS/FPMW/Toff/Toff14.txt";
+        const char* Path23 = "./Calibration/VAMOS/FPMW/Toff/Toff23.txt";
+        const char* Path24 = "./Calibration/VAMOS/FPMW/Toff/Toff24.txt";
+
+        Toff13 = TxtToVector(Path13);
+        Toff14 = TxtToVector(Path14);
+        Toff23 = TxtToVector(Path23);
+        Toff24 = TxtToVector(Path24);
+       
+        for (int i = 0 ; i<Toff13.size() ; i++){
+            Time->SetToff_DT13(Toff13.at(i));
+            Time->SetToff_DT14(Toff14.at(i));
+        }
+        FF_IC_Y = FPMW->Yf + (1442.6+6774.4-7600)*tan(FPMW->Phif);
+        FF_IC_X = FPMW->Xf + (1442.6+6774.4-7600)*tan(FPMW->Thetaf);
+
         IC->SetFPMWSection(FPMW_Section);
+        IC->SetTTimeData(Time);
+        IC->SetX(FF_IC_X);
+        IC->SetY(FF_IC_Y);
         IC->BuildSimplePhysicalEvent();
+
         double Theta = -1000;
 
 
@@ -484,29 +508,19 @@ void Analysis::VamosAnalysis(){
             FF_Y3  = FPMW->PositionY[2];
 
             //FF_IC_Y = FPMW->Yf + (1442.6+6774.4-7600)*tan(FPMW->Phif/1000);
-            FF_IC_Y = FPMW->Yf + (1442.6+6774.4-7600)*tan(FPMW->Phif);
-            FF_IC_X = FPMW->Xf + (1442.6+6774.4-7600)*tan(FPMW->Thetaf);
+            //FF_IC_Y = FPMW->Yf + (1442.6+6774.4-7600)*tan(FPMW->Phif);
+            //FF_IC_X = FPMW->Xf + (1442.6+6774.4-7600)*tan(FPMW->Thetaf);
 
             // T13 //
             double path1 = FPMW->GetDetectorPositionZ(0)/10./cos(FPMW->Theta_in)/cos(FPMW->Phi_in);
             double path2 = (FPMW->GetDetectorPositionZ(2)-7600)/10./cos(FPMW->Thetaf);
 
-            //Toff
-            vector<double> Toff13 , Toff14, Toff23, Toff24;
-            const char* Path13 = "macro/mwpc/Toff/output/Toff13.txt";
-            const char* Path14 = "macro/mwpc/Toff/output/Toff14.txt";
-            const char* Path23 = "macro/mwpc/Toff/output/Toff23.txt";
-            const char* Path24 = "macro/mwpc/Toff/output/Toff24.txt";
 
-            Toff13 = TxtToVector(Path13);
-            Toff14 = TxtToVector(Path14);
-            Toff23 = TxtToVector(Path23);
-            Toff24 = TxtToVector(Path24);
 
             double Toff[20] = {0, 588.0, 588.5, 587.95, 588.04, 587.72, 587.92, 587.9, 587.9, 588.66, 588.80, 588.67, 588.64, 588.75, 588.47, 588.65, 588.65, 588.67, 589.05, 590.3};
             // To know time of electron drift in a section of the chio
             for (int seg = 0 ; seg < IC->fIC_TS.size() ; seg++){
-                    FF_DriftTime.push_back(10* (IC->fIC_TS.at(seg) - Time->GetTS_MWPC13(0)) - ((Time->GetTime_MWPC13(0)+Toff13.at(FPMW_Section))));
+                FF_DriftTime.push_back(10* (IC->fIC_TS.at(seg) - Time->GetTS_MWPC13(0)) - ((Time->GetTime_MWPC13(0)+Toff13.at(FPMW_Section))));
             }
 
 
@@ -549,7 +563,7 @@ vector<double> Analysis::TxtToVector(const char *Path){
         }
         file.close();
     } else {
-        std::cerr << "Error opening file.\n";
+        std::cerr << "Error opening ToffTXT file.\n";
     }
 
     return values;
diff --git a/Projects/AlPhaPha/2024/Calibration.txt b/Projects/AlPhaPha/2024/Calibration.txt
index ed13a8ecf5de0f545d26e1efd99cb3e3044893bb..9482014240fd7134e66aae9e8ea8e6d3b9e951ae 100644
--- a/Projects/AlPhaPha/2024/Calibration.txt
+++ b/Projects/AlPhaPha/2024/Calibration.txt
@@ -18,6 +18,7 @@ CalibrationFilePath
  ./Calibration/Energy/PISTA_BACK_DE.cal
  ./Calibration/Energy/PISTA_BACK_E_min.cal
 
+ ./Calibration/VAMOS/CHIO/Chio_Z_Calibration.cal
  ./Calibration/VAMOS/CHIO/Chio_E_sec5.cal
  ./Calibration/VAMOS/CHIO/Chio_E_sec6.cal
  ./Calibration/VAMOS/CHIO/Chio_E_sec7.cal
diff --git a/Projects/AlPhaPha/2024/Calibration/VAMOS/CHIO/Chio_Z_Calibration.cal b/Projects/AlPhaPha/2024/Calibration/VAMOS/CHIO/Chio_Z_Calibration.cal
new file mode 100644
index 0000000000000000000000000000000000000000..f1d13b42c659affc1bdab08fa570a5d1e3ea1279
--- /dev/null
+++ b/Projects/AlPhaPha/2024/Calibration/VAMOS/CHIO/Chio_Z_Calibration.cal
@@ -0,0 +1 @@
+IC_Z_CALIBRATION -31.5137 0.0166442 -1.88596e-06 1.17654e-10 -3.47639e-15 3.91394e-20 
\ No newline at end of file
diff --git a/Projects/AlPhaPha/2024/Calibration/VAMOS/CHIO/ICXY_Profile.root b/Projects/AlPhaPha/2024/Calibration/VAMOS/CHIO/ICXY_Profile.root
new file mode 100644
index 0000000000000000000000000000000000000000..2cf84134e67c590f140be48ec1c2ddb014511ea9
Binary files /dev/null and b/Projects/AlPhaPha/2024/Calibration/VAMOS/CHIO/ICXY_Profile.root differ
diff --git a/Projects/AlPhaPha/2024/Calibration/VAMOS/CHIO/Spline_DE.root b/Projects/AlPhaPha/2024/Calibration/VAMOS/CHIO/Spline_DE.root
new file mode 100644
index 0000000000000000000000000000000000000000..3f836c86b60107e6db3d76b928c0e74a6dc64b99
Binary files /dev/null and b/Projects/AlPhaPha/2024/Calibration/VAMOS/CHIO/Spline_DE.root differ
diff --git a/Projects/AlPhaPha/2024/Calibration/VAMOS/CHIO/Spline_Y.root b/Projects/AlPhaPha/2024/Calibration/VAMOS/CHIO/Spline_Y.root
new file mode 100644
index 0000000000000000000000000000000000000000..7f15947d1e488acb0ed5e365f6adaf3d8e246c11
Binary files /dev/null and b/Projects/AlPhaPha/2024/Calibration/VAMOS/CHIO/Spline_Y.root differ
diff --git a/Projects/AlPhaPha/2024/Calibration/VAMOS/CHIO/Z_spline.root b/Projects/AlPhaPha/2024/Calibration/VAMOS/CHIO/Z_spline.root
index be9c0fc9e1c2366a155c94a7ea1fb9a10bf62fe0..a989c00e1c78053f13fe9d07c4a6a75bb43506c3 100644
Binary files a/Projects/AlPhaPha/2024/Calibration/VAMOS/CHIO/Z_spline.root and b/Projects/AlPhaPha/2024/Calibration/VAMOS/CHIO/Z_spline.root differ
diff --git a/Projects/AlPhaPha/2024/Calibration/VAMOS/FPMW/Linearisation.txt b/Projects/AlPhaPha/2024/Calibration/VAMOS/FPMW/Linearisation.txt
new file mode 100644
index 0000000000000000000000000000000000000000..172c1f69ce422ccf47d39f2e2bd4ae9963e7496e
--- /dev/null
+++ b/Projects/AlPhaPha/2024/Calibration/VAMOS/FPMW/Linearisation.txt
@@ -0,0 +1,10195 @@
+Vector 1:
+Det 1:
+  Bin 0: -90 -89.9 -89.8 -89.7 -89.6 -89.5 -89.4 -89.3 -89.2 -89.1 -89 
+  Bin 1: -89 -88.9 -88.8 -88.7 -88.6 -88.5 -88.4 -88.3 -88.2 -88.1 -88 
+  Bin 2: -88 -87.9 -87.8 -87.7 -87.6 -87.5 -87.4 -87.3 -87.2 -87.1 -87 
+  Bin 3: -87 -86.9 -86.8 -86.7 -86.6 -86.5 -86.4 -86.3 -86.2 -86.1 -86 
+  Bin 4: -86 -85.9 -85.8 -85.7 -85.6 -85.5 -85.4 -85.3 -85.2 -85.1 -85 
+  Bin 5: -85 -84.9 -84.8 -84.7 -84.6 -84.5 -84.4 -84.3 -84.2 -84.1 -84 
+  Bin 6: -84 -83.9 -83.8 -83.7 -83.6 -83.5 -83.4 -83.3 -83.2 -83.1 -83 
+  Bin 7: -83 -82.9 -82.8 -82.7 -82.6 -82.5 -82.4 -82.3 -82.2 -82.1 -82 
+  Bin 8: -82 -81.9 -81.8 -81.7 -81.6 -81.5 -81.4 -81.3 -81.2 -81.1 -81 
+  Bin 9: -81 -80.9 -80.8 -80.7 -80.6 -80.5 -80.4 -80.3 -80.2 -80.1 -80 
+  Bin 10: -80 -79.9 -79.8 -79.7 -79.6 -79.5 -79.4 -79.3 -79.2 -79.1 -79 
+  Bin 11: -79 -78.9 -78.8 -78.7 -78.6 -78.5 -78.4 -78.3 -78.2 -78.1 -78 
+  Bin 12: -78 -77.9 -77.8 -77.7 -77.6 -77.5 -77.4 -77.3 -77.2 -77.1 -77 
+  Bin 13: -77 -76.9 -76.8 -76.7 -76.6 -76.5 -76.4 -76.3 -76.2 -76.1 -76 
+  Bin 14: -76 -75.9 -75.8 -75.7 -75.6 -75.5 -75.4 -75.3 -75.2 -75.1 -75 
+  Bin 15: -75 -74.9 -74.8 -74.7 -74.6 -74.5 -74.4 -74.3 -74.2 -74.1 -74 
+  Bin 16: -74 -73.9 -73.8 -73.7 -73.6 -73.5 -73.4 -73.3 -73.2 -73.1 -73 
+  Bin 17: -73 -72.9 -72.8 -72.7 -72.6 -72.5 -72.4 -72.3 -72.2 -72.1 -72 
+  Bin 18: -72 -71.9 -71.8 -71.7 -71.6 -71.5 -71.4 -71.3 -71.2 -71.1 -71 
+  Bin 19: -71 -70.9 -70.8 -70.7 -70.6 -70.5 -70.4 -70.3 -70.2 -70.1 -70 
+  Bin 20: -70 -69.9 -69.8 -69.7 -69.6 -69.5 -69.4 -69.3 -69.2 -69.1 -69 
+  Bin 21: -69 -68.9 -68.8 -68.7 -68.6 -68.5 -68.4 -68.3 -68.2 -68.1 -68 
+  Bin 22: -68 -67.9 -67.8 -67.7 -67.6 -67.5 -67.4 -67.3 -67.2 -67.1 -67 
+  Bin 23: -67 -66.9 -66.8 -66.7 -66.6 -66.5 -66.4 -66.3 -66.2 -66.1 -66 
+  Bin 24: -66 -65.9 -65.8 -65.7 -65.6 -65.5 -65.4 -65.3 -65.2 -65.1 -65 
+  Bin 25: -65 -64.9 -64.8 -64.7 -64.6 -64.5 -64.4 -64.3 -64.2 -64.1 -64 
+  Bin 26: -64 -63.9 -63.8 -63.7 -63.6 -63.5 -63.4 -63.3 -63.2 -63.1 -63 
+  Bin 27: -63 -62.9 -62.8 -62.7 -62.6 -62.5 -62.4 -62.3 -62.2 -62.1 -62 
+  Bin 28: -62 -61.9 -61.8 -61.7 -61.6 -61.5 -61.4 -61.3 -61.2 -61.1 -61 
+  Bin 29: -61 -60.9 -60.8 -60.7 -60.6 -60.5 -60.4 -60.3 -60.2 -60.1 -60 
+  Bin 30: -60 -59.9 -59.8 -59.7 -59.6 -59.5 -59.4 -59.3 -59.2 -59.1 -59 
+  Bin 31: -59 -58.9 -58.8 -58.7 -58.6 -58.5 -58.4 -58.3 -58.2 -58.1 -58 
+  Bin 32: -58 -57.9 -57.8 -57.7 -57.6 -57.5 -57.4 -57.3 -57.2 -57.1 -57 
+  Bin 33: -57 -56.9 -56.8 -56.7 -56.6 -56.5 -56.4 -56.3 -56.2 -56.1 -56 
+  Bin 34: -56 -55.9 -55.8 -55.7 -55.6 -55.5 -55.4 -55.3 -55.2 -55.1 -55 
+  Bin 35: -55 -54.9 -54.8 -54.7 -54.6 -54.5 -54.4 -54.3 -54.2 -54.1 -54 
+  Bin 36: -54 -53.9 -53.8 -53.7 -53.6 -53.5 -53.4 -53.3 -53.2 -53.1 -53 
+  Bin 37: -53 -52.9 -52.8 -52.7 -52.6 -52.5 -52.4 -52.3 -52.2 -52.1 -52 
+  Bin 38: -52 -51.9 -51.8 -51.7 -51.6 -51.5 -51.4 -51.3 -51.2 -51.1 -51 
+  Bin 39: -51 -50.9 -50.8 -50.7 -50.6 -50.5 -50.4 -50.3 -50.2 -50.1 -50 
+  Bin 40: -50 -49.9 -49.8 -49.7 -49.6 -49.5 -49.4 -49.3 -49.2 -49.1 -49 
+  Bin 41: -49 -48.9 -48.8 -48.7 -48.6 -48.5 -48.4 -48.3 -48.2 -48.1 -48 
+  Bin 42: -48 -47.9 -47.8 -47.7 -47.6 -47.5 -47.4 -47.3 -47.2 -47.1 -47 
+  Bin 43: -47 -46.9 -46.8 -46.7 -46.6 -46.5 -46.4 -46.3 -46.2 -46.1 -46 
+  Bin 44: -46 -45.9 -45.8 -45.7 -45.6 -45.5 -45.4 -45.3 -45.2 -45.1 -45 
+  Bin 45: -45 -44.9 -44.8 -44.7 -44.6 -44.5 -44.4 -44.3 -44.2 -44.1 -44 
+  Bin 46: -44 -43.9 -43.8 -43.7 -43.6 -43.5 -43.4 -43.3 -43.2 -43.1 -43 
+  Bin 47: -43 -42.9 -42.8 -42.7 -42.6 -42.5 -42.4 -42.3 -42.2 -42.1 -42 
+  Bin 48: -42 -41.9 -41.8 -41.7 -41.6 -41.5 -41.4 -41.3 -41.2 -41.1 -41 
+  Bin 49: -41 -40.9 -40.8 -40.7 -40.6 -40.5 -40.4 -40.3 -40.2 -40.1 -40 
+  Bin 50: -40 -39.9 -39.8 -39.7 -39.6 -39.5 -39.4 -39.3 -39.2 -39.1 -39 
+  Bin 51: -39 -38.9 -38.8 -38.7 -38.6 -38.5 -38.4 -38.3 -38.2 -38.1 -38 
+  Bin 52: -38 -37.9 -37.8 -37.7 -37.6 -37.5 -37.4 -37.3 -37.2 -37.1 -37 
+  Bin 53: -37 -36.9 -36.8 -36.7 -36.6 -36.5 -36.4 -36.3 -36.2 -36.1 -36 
+  Bin 54: -36 -35.9 -35.8 -35.7 -35.6 -35.5 -35.4 -35.3 -35.2 -35.1 -35 
+  Bin 55: -35 -34.9 -34.8 -34.7 -34.6 -34.5 -34.4 -34.3 -34.2 -34.1 -34 
+  Bin 56: -34 -33.9 -33.8 -33.7 -33.6 -33.5 -33.4 -33.3 -33.2 -33.1 -33 
+  Bin 57: -33 -32.9 -32.8 -32.7 -32.6 -32.5 -32.4 -32.3 -32.2 -32.1 -32 
+  Bin 58: -32 -31.9 -31.8 -31.7 -31.6 -31.5 -31.4 -31.3 -31.2 -31.1 -31 
+  Bin 59: -31 -30.9 -30.8 -30.7 -30.6 -30.5 -30.4 -30.3 -30.2 -30.1 -30 
+  Bin 60: -30 -29.9 -29.8 -29.7 -29.6 -29.5 -29.4 -29.3 -29.2 -29.1 -29 
+  Bin 61: -29 -28.9 -28.8 -28.7 -28.6 -28.5 -28.4 -28.3 -28.2 -28.1 -28 
+  Bin 62: -28 -27.9 -27.8 -27.7 -27.6 -27.5 -27.4 -27.3 -27.2 -27.1 -27 
+  Bin 63: -27 -26.9 -26.8 -26.7 -26.6 -26.5 -26.4 -26.3 -26.2 -26.1 -26 
+  Bin 64: -26 -25.9 -25.8 -25.7 -25.6 -25.5 -25.4 -25.3 -25.2 -25.1 -25 
+  Bin 65: -25 -24.9 -24.8 -24.7 -24.6 -24.5 -24.4 -24.3 -24.2 -24.1 -24 
+  Bin 66: -24 -23.9 -23.8 -23.7 -23.6 -23.5 -23.4 -23.3 -23.2 -23.1 -23 
+  Bin 67: -23 -22.9 -22.8 -22.7 -22.6 -22.5 -22.4 -22.3 -22.2 -22.1 -22 
+  Bin 68: -22 -21.9 -21.8 -21.7 -21.6 -21.5 -21.4 -21.3 -21.2 -21.1 -21 
+  Bin 69: -21 -20.9 -20.8 -20.7 -20.6 -20.5 -20.4 -20.3 -20.2 -20.1 -20 
+  Bin 70: -20 -19.9 -19.8 -19.7 -19.6 -19.5 -19.4 -19.3 -19.2 -19.1 -19 
+  Bin 71: -19 -18.9 -18.8 -18.7 -18.6 -18.5 -18.4 -18.3 -18.2 -18.1 -18 
+  Bin 72: -18 -17.9 -17.8 -17.7 -17.6 -17.5 -17.4 -17.3 -17.2 -17.1 -17 
+  Bin 73: -17 -16.9 -16.8 -16.7 -16.6 -16.5 -16.4 -16.3 -16.2 -16.1 -16 
+  Bin 74: -16 -15.9 -15.8 -15.7 -15.6 -15.5 -15.4 -15.3 -15.2 -15.1 -15 
+  Bin 75: -15 -14.9 -14.8 -14.7 -14.6 -14.5 -14.4 -14.3 -14.2 -14.1 -14 
+  Bin 76: -14 -13.9 -13.8 -13.7 -13.6 -13.5 -13.4 -13.3 -13.2 -13.1 -13 
+  Bin 77: -13 -12.9 -12.8 -12.7 -12.6 -12.5 -12.4 -12.3 -12.2 -12.1 -12 
+  Bin 78: -12 -11.9 -11.8 -11.7 -11.6 -11.5 -11.4 -11.3 -11.2 -11.1 -11 
+  Bin 79: -11 -10.9 -10.8 -10.7 -10.6 -10.5 -10.4 -10.3 -10.2 -10.1 -10 
+  Bin 80: -10 -9.9 -9.8 -9.7 -9.6 -9.5 -9.4 -9.3 -9.2 -9.1 -9 
+  Bin 81: -9 -8.9 -8.8 -8.7 -8.6 -8.5 -8.4 -8.3 -8.2 -8.1 -8 
+  Bin 82: -8 -7.9 -7.8 -7.7 -7.6 -7.5 -7.4 -7.3 -7.2 -7.1 -7 
+  Bin 83: -7 -6.9 -6.8 -6.7 -6.6 -6.5 -6.4 -6.3 -6.2 -6.1 -6 
+  Bin 84: -6 -5.9 -5.8 -5.7 -5.6 -5.5 -5.4 -5.3 -5.2 -5.1 -5 
+  Bin 85: -5 -4.9 -4.8 -4.7 -4.6 -4.5 -4.4 -4.3 -4.2 -4.1 -4 
+  Bin 86: -4 -3.9 -3.8 -3.7 -3.6 -3.5 -3.4 -3.3 -3.2 -3.1 -3 
+  Bin 87: -3 -2.9 -2.8 -2.7 -2.6 -2.5 -2.4 -2.3 -2.2 -2.1 -2 
+  Bin 88: -2 -1.9 -1.8 -1.7 -1.6 -1.5 -1.4 -1.3 -1.2 -1.1 -1 
+  Bin 89: -1 -0.9 -0.8 -0.7 -0.6 -0.5 -0.4 -0.3 -0.2 -0.1 0 
+  Bin 90: 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 
+  Bin 91: 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2 
+  Bin 92: 2 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3 
+  Bin 93: 3 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 4 
+  Bin 94: 4 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 5 
+  Bin 95: 5 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 6 
+  Bin 96: 6 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 7 
+  Bin 97: 7 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 8 
+  Bin 98: 8 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 9 
+  Bin 99: 9 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 10 
+  Bin 100: 10 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 11 
+  Bin 101: 11 11.1 11.2 11.3 11.4 11.5 11.6 11.7 11.8 11.9 12 
+  Bin 102: 12 12.1 12.2 12.3 12.4 12.5 12.6 12.7 12.8 12.9 13 
+  Bin 103: 13 13.1 13.2 13.3 13.4 13.5 13.6 13.7 13.8 13.9 14 
+  Bin 104: 14 14.1 14.2 14.3 14.4 14.5 14.6 14.7 14.8 14.9 15 
+  Bin 105: 15 15.1 15.2 15.3 15.4 15.5 15.6 15.7 15.8 15.9 16 
+  Bin 106: 16 16.1 16.2 16.3 16.4 16.5 16.6 16.7 16.8 16.9 17 
+  Bin 107: 17 17.1 17.2 17.3 17.4 17.5 17.6 17.7 17.8 17.9 18 
+  Bin 108: 18 18.1 18.2 18.3 18.4 18.5 18.6 18.7 18.8 18.9 19 
+  Bin 109: 19 19.1 19.2 19.3 19.4 19.5 19.6 19.7 19.8 19.9 20 
+  Bin 110: 20 20.1 20.2 20.3 20.4 20.5 20.6 20.7 20.8 20.9 21 
+  Bin 111: 21 21.1 21.2 21.3 21.4 21.5 21.6 21.7 21.8 21.9 22 
+  Bin 112: 22 22.1 22.2 22.3 22.4 22.5 22.6 22.7 22.8 22.9 23 
+  Bin 113: 23 23.1 23.2 23.3 23.4 23.5 23.6 23.7 23.8 23.9 24 
+  Bin 114: 24 24.1 24.2 24.3 24.4 24.5 24.6 24.7 24.8 24.9 25 
+  Bin 115: 25 25.1 25.2 25.3 25.4 25.5 25.6 25.7 25.8 25.9 26 
+  Bin 116: 26 26.1 26.2 26.3 26.4 26.5 26.6 26.7 26.8 26.9 27 
+  Bin 117: 27 27.1 27.2 27.3 27.4 27.5 27.6 27.7 27.8 27.9 28 
+  Bin 118: 28 28.1 28.2 28.3 28.4 28.5 28.6 28.7 28.8 28.9 29 
+  Bin 119: 29 29.1 29.2 29.3 29.4 29.5 29.6 29.7 29.8 29.9 30 
+  Bin 120: 30 30.1 30.2 30.3 30.4 30.5 30.6 30.7 30.8 30.9 31 
+  Bin 121: 31 31.1 31.2 31.3 31.4 31.5 31.6 31.7 31.8 31.9 32 
+  Bin 122: 32 32.1 32.2 32.3 32.4 32.5 32.6 32.7 32.8 32.9 33 
+  Bin 123: 33 33.1 33.2 33.3 33.4 33.5 33.6 33.7 33.8 33.9 34 
+  Bin 124: 34 34.1 34.2 34.3 34.4 34.5 34.6 34.7 34.8 34.9 35 
+  Bin 125: 35 35.1 35.2 35.3 35.4 35.5 35.6 35.7 35.8 35.9 36 
+  Bin 126: 36 36.1 36.2 36.3 36.4 36.5 36.6 36.7 36.8 36.9 37 
+  Bin 127: 37 37.1 37.2 37.3 37.4 37.5 37.6 37.7 37.8 37.9 38 
+  Bin 128: 38 38.1 38.2 38.3 38.4 38.5 38.6 38.7 38.8 38.9 39 
+  Bin 129: 39 39.1 39.2 39.3 39.4 39.5 39.6 39.7 39.8 39.9 40 
+  Bin 130: 40 40.1 40.2 40.3 40.4 40.5 40.6 40.7 40.8 40.9 41 
+  Bin 131: 41 41.1 41.2 41.3 41.4 41.5 41.6 41.7 41.8 41.9 42 
+  Bin 132: 42 42.1 42.2 42.3 42.4 42.5 42.6 42.7 42.8 42.9 43 
+  Bin 133: 43 43.1 43.2 43.3 43.4 43.5 43.6 43.7 43.8 43.9 44 
+  Bin 134: 44 44.1 44.2 44.3 44.4 44.5 44.6 44.7 44.8 44.9 45 
+  Bin 135: 45 45.1 45.2 45.3 45.4 45.5 45.6 45.7 45.8 45.9 46 
+  Bin 136: 46 46.1 46.2 46.3 46.4 46.5 46.6 46.7 46.8 46.9 47 
+  Bin 137: 47 47.1 47.2 47.3 47.4 47.5 47.6 47.7 47.8 47.9 48 
+  Bin 138: 48 48.1 48.2 48.3 48.4 48.5 48.6 48.7 48.8 48.9 49 
+  Bin 139: 49 49.1 49.2 49.3 49.4 49.5 49.6 49.7 49.8 49.9 50 
+  Bin 140: 50 50.1 50.2 50.3 50.4 50.5 50.6 50.7 50.8 50.9 51 
+  Bin 141: 51 51.1 51.2 51.3 51.4 51.5 51.6 51.7 51.8 51.9 52 
+  Bin 142: 52 52.1 52.2 52.3 52.4 52.5 52.6 52.7 52.8 52.9 53 
+  Bin 143: 53 53.1 53.2 53.3 53.4 53.5 53.6 53.7 53.8 53.9 54 
+  Bin 144: 54 54.1 54.2 54.3 54.4 54.5 54.6 54.7 54.8 54.9 55 
+  Bin 145: 55 55.1 55.2 55.3 55.4 55.5 55.6 55.7 55.8 55.9 56 
+  Bin 146: 56 56.1 56.2 56.3 56.4 56.5 56.6 56.7 56.8 56.9 57 
+  Bin 147: 57 57.1 57.2 57.3 57.4 57.5 57.6 57.7 57.8 57.9 58 
+  Bin 148: 58 58.1 58.2 58.3 58.4 58.5 58.6 58.7 58.8 58.9 59 
+  Bin 149: 59 59.1 59.2 59.3 59.4 59.5 59.6 59.7 59.8 59.9 60 
+  Bin 150: 60 60.1 60.2 60.3 60.4 60.5 60.6 60.7 60.8 60.9 61 
+  Bin 151: 61 61.1 61.2 61.3 61.4 61.5 61.6 61.7 61.8 61.9 62 
+  Bin 152: 62 62.1 62.2 62.3 62.4 62.5 62.6 62.7 62.8 62.9 63 
+  Bin 153: 63 63.1 63.2 63.3 63.4 63.5 63.6 63.7 63.8 63.9 64 
+  Bin 154: 64 64.1 64.2 64.3 64.4 64.5 64.6 64.7 64.8 64.9 65 
+  Bin 155: 65 65.1 65.2 65.3 65.4 65.5 65.6 65.7 65.8 65.9 66 
+  Bin 156: 66 66.1 66.2 66.3 66.4 66.5 66.6 66.7 66.8 66.9 67 
+  Bin 157: 67 67.1 67.2 67.3 67.4 67.5 67.6 67.7 67.8 67.9 68 
+  Bin 158: 68 68.1 68.2 68.3 68.4 68.5 68.6 68.7 68.8 68.9 69 
+  Bin 159: 69 69.1 69.2 69.3 69.4 69.5 69.6 69.7 69.8 69.9 70 
+  Bin 160: 70 70.1 70.2 70.3 70.4 70.5 70.6 70.7 70.8 70.9 71 
+  Bin 161: 71 71.1 71.2 71.3 71.4 71.5 71.6 71.7 71.8 71.9 72 
+  Bin 162: 72 72.1 72.2 72.3 72.4 72.5 72.6 72.7 72.8 72.9 73 
+  Bin 163: 73 73.1 73.2 73.3 73.4 73.5 73.6 73.7 73.8 73.9 74 
+  Bin 164: 74 74.1 74.2 74.3 74.4 74.5 74.6 74.7 74.8 74.9 75 
+  Bin 165: 75 75.1 75.2 75.3 75.4 75.5 75.6 75.7 75.8 75.9 76 
+  Bin 166: 76 76.1 76.2 76.3 76.4 76.5 76.6 76.7 76.8 76.9 77 
+  Bin 167: 77 77.1 77.2 77.3 77.4 77.5 77.6 77.7 77.8 77.9 78 
+  Bin 168: 78 78.1 78.2 78.3 78.4 78.5 78.6 78.7 78.8 78.9 79 
+  Bin 169: 79 79.1 79.2 79.3 79.4 79.5 79.6 79.7 79.8 79.9 80 
+  Bin 170: 80 80.1 80.2 80.3 80.4 80.5 80.6 80.7 80.8 80.9 81 
+  Bin 171: 81 81.1 81.2 81.3 81.4 81.5 81.6 81.7 81.8 81.9 82 
+  Bin 172: 82 82.1 82.2 82.3 82.4 82.5 82.6 82.7 82.8 82.9 83 
+  Bin 173: 83 83.1 83.2 83.3 83.4 83.5 83.6 83.7 83.8 83.9 84 
+  Bin 174: 84 84.1 84.2 84.3 84.4 84.5 84.6 84.7 84.8 84.9 85 
+  Bin 175: 85 85.1 85.2 85.3 85.4 85.5 85.6 85.7 85.8 85.9 86 
+  Bin 176: 86 86.1 86.2 86.3 86.4 86.5 86.6 86.7 86.8 86.9 87 
+  Bin 177: 87 87.1 87.2 87.3 87.4 87.5 87.6 87.7 87.8 87.9 88 
+  Bin 178: 88 88.1 88.2 88.3 88.4 88.5 88.6 88.7 88.8 88.9 89 
+  Bin 179: 89 89.1 89.2 89.3 89.4 89.5 89.6 89.7 89.8 89.9 90 
+
+Det 2:
+  Bin 0: -90 -89.9 -89.8 -89.7 -89.6 -89.5 -89.4 -89.3 -89.2 -89.1 -89 
+  Bin 1: -89 -88.9 -88.8 -88.7 -88.6 -88.5 -88.4 -88.3 -88.2 -88.1 -88 
+  Bin 2: -88 -87.9 -87.8 -87.7 -87.6 -87.5 -87.4 -87.3 -87.2 -87.1 -87 
+  Bin 3: -87 -86.9 -86.8 -86.7 -86.6 -86.5 -86.4 -86.3 -86.2 -86.1 -86 
+  Bin 4: -86 -85.9 -85.8 -85.7 -85.6 -85.5 -85.4 -85.3 -85.2 -85.1 -85 
+  Bin 5: -85 -84.9 -84.8 -84.7 -84.6 -84.5 -84.4 -84.3 -84.2 -84.1 -84 
+  Bin 6: -84 -83.9 -83.8 -83.7 -83.6 -83.5 -83.4 -83.3 -83.2 -83.1 -83 
+  Bin 7: -83 -82.9 -82.8 -82.7 -82.6 -82.5 -82.4 -82.3 -82.2 -82.1 -82 
+  Bin 8: -82 -81.9 -81.8 -81.7 -81.6 -81.5 -81.4 -81.3 -81.2 -81.1 -81 
+  Bin 9: -81 -80.9 -80.8 -80.7 -80.6 -80.5 -80.4 -80.3 -80.2 -80.1 -80 
+  Bin 10: -80 -79.9 -79.8 -79.7 -79.6 -79.5 -79.4 -79.3 -79.2 -79.1 -79 
+  Bin 11: -79 -78.9 -78.8 -78.7 -78.6 -78.5 -78.4 -78.3 -78.2 -78.1 -78 
+  Bin 12: -78 -77.9 -77.8 -77.7 -77.6 -77.5 -77.4 -77.3 -77.2 -77.1 -77 
+  Bin 13: -77 -76.9 -76.8 -76.7 -76.6 -76.5 -76.4 -76.3 -76.2 -76.1 -76 
+  Bin 14: -76 -75.9 -75.8 -75.7 -75.6 -75.5 -75.4 -75.3 -75.2 -75.1 -75 
+  Bin 15: -75 -74.9 -74.8 -74.7 -74.6 -74.5 -74.4 -74.3 -74.2 -74.1 -74 
+  Bin 16: -74 -73.9 -73.8 -73.7 -73.6 -73.5 -73.4 -73.3 -73.2 -73.1 -73 
+  Bin 17: -73 -72.9 -72.8 -72.7 -72.6 -72.5 -72.4 -72.3 -72.2 -72.1 -72 
+  Bin 18: -72 -71.9 -71.8 -71.7 -71.6 -71.5 -71.4 -71.3 -71.2 -71.1 -71 
+  Bin 19: -71 -70.9 -70.8 -70.7 -70.6 -70.5 -70.4 -70.3 -70.2 -70.1 -70 
+  Bin 20: -70 -69.9 -69.8 -69.7 -69.6 -69.5 -69.4 -69.3 -69.2 -69.1 -69 
+  Bin 21: -69 -68.9 -68.8 -68.7 -68.6 -68.5 -68.4 -68.3 -68.2 -68.1 -68 
+  Bin 22: -68 -67.9 -67.8 -67.7 -67.6 -67.5 -67.4 -67.3 -67.2 -67.1 -67 
+  Bin 23: -67 -66.9 -66.8 -66.7 -66.6 -66.5 -66.4 -66.3 -66.2 -66.1 -66 
+  Bin 24: -66 -65.9 -65.8 -65.7 -65.6 -65.5 -65.4 -65.3 -65.2 -65.1 -65 
+  Bin 25: -65 -64.9 -64.8 -64.7 -64.6 -64.5 -64.4 -64.3 -64.2 -64.1 -64 
+  Bin 26: -64 -63.9 -63.8 -63.7 -63.6 -63.5 -63.4 -63.3 -63.2 -63.1 -63 
+  Bin 27: -63 -62.9 -62.8 -62.7 -62.6 -62.5 -62.4 -62.3 -62.2 -62.1 -62 
+  Bin 28: -62 -61.9 -61.8 -61.7 -61.6 -61.5 -61.4 -61.3 -61.2 -61.1 -61 
+  Bin 29: -61 -60.9 -60.8 -60.7 -60.6 -60.5 -60.4 -60.3 -60.2 -60.1 -60 
+  Bin 30: -60 -59.9 -59.8 -59.7 -59.6 -59.5 -59.4 -59.3 -59.2 -59.1 -59 
+  Bin 31: -59 -58.9 -58.8 -58.7 -58.6 -58.5 -58.4 -58.3 -58.2 -58.1 -58 
+  Bin 32: -58 -57.9 -57.8 -57.7 -57.6 -57.5 -57.4 -57.3 -57.2 -57.1 -57 
+  Bin 33: -57 -56.9 -56.8 -56.7 -56.6 -56.5 -56.4 -56.3 -56.2 -56.1 -56 
+  Bin 34: -56 -55.9 -55.8 -55.7 -55.6 -55.5 -55.4 -55.3 -55.2 -55.1 -55 
+  Bin 35: -55 -54.9 -54.8 -54.7 -54.6 -54.5 -54.4 -54.3 -54.2 -54.1 -54 
+  Bin 36: -54 -53.9 -53.8 -53.7 -53.6 -53.5 -53.4 -53.3 -53.2 -53.1 -53 
+  Bin 37: -53 -52.9 -52.8 -52.7 -52.6 -52.5 -52.4 -52.3 -52.2 -52.1 -52 
+  Bin 38: -52 -51.9 -51.8 -51.7 -51.6 -51.5 -51.4 -51.3 -51.2 -51.1 -51 
+  Bin 39: -51 -50.9 -50.8 -50.7 -50.6 -50.5 -50.4 -50.3 -50.2 -50.1 -50 
+  Bin 40: -50 -49.9 -49.8 -49.7 -49.6 -49.5 -49.4 -49.3 -49.2 -49.1 -49 
+  Bin 41: -49 -48.9 -48.8 -48.7 -48.6 -48.5 -48.4 -48.3 -48.2 -48.1 -48 
+  Bin 42: -48 -47.9 -47.8 -47.7 -47.6 -47.5 -47.4 -47.3 -47.2 -47.1 -47 
+  Bin 43: -47 -46.9 -46.8 -46.7 -46.6 -46.5 -46.4 -46.3 -46.2 -46.1 -46 
+  Bin 44: -46 -45.9 -45.8 -45.7 -45.6 -45.5 -45.4 -45.3 -45.2 -45.1 -45 
+  Bin 45: -45 -44.9 -44.8 -44.7 -44.6 -44.5 -44.4 -44.3 -44.2 -44.1 -44 
+  Bin 46: -44 -43.9 -43.8 -43.7 -43.6 -43.5 -43.4 -43.3 -43.2 -43.1 -43 
+  Bin 47: -43 -42.9 -42.8 -42.7 -42.6 -42.5 -42.4 -42.3 -42.2 -42.1 -42 
+  Bin 48: -42 -41.9 -41.8 -41.7 -41.6 -41.5 -41.4 -41.3 -41.2 -41.1 -41 
+  Bin 49: -41 -40.9 -40.8 -40.7 -40.6 -40.5 -40.4 -40.3 -40.2 -40.1 -40 
+  Bin 50: -40 -39.9 -39.8 -39.7 -39.6 -39.5 -39.4 -39.3 -39.2 -39.1 -39 
+  Bin 51: -39 -38.9 -38.8 -38.7 -38.6 -38.5 -38.4 -38.3 -38.2 -38.1 -38 
+  Bin 52: -38 -37.9 -37.8 -37.7 -37.6 -37.5 -37.4 -37.3 -37.2 -37.1 -37 
+  Bin 53: -37 -36.9 -36.8 -36.7 -36.6 -36.5 -36.4 -36.3 -36.2 -36.1 -36 
+  Bin 54: -36 -35.9 -35.8 -35.7 -35.6 -35.5 -35.4 -35.3 -35.2 -35.1 -35 
+  Bin 55: -35 -34.9 -34.8 -34.7 -34.6 -34.5 -34.4 -34.3 -34.2 -34.1 -34 
+  Bin 56: -34 -33.9 -33.8 -33.7 -33.6 -33.5 -33.4 -33.3 -33.2 -33.1 -33 
+  Bin 57: -33 -32.9 -32.8 -32.7 -32.6 -32.5 -32.4 -32.3 -32.2 -32.1 -32 
+  Bin 58: -32 -31.9 -31.8 -31.7 -31.6 -31.5 -31.4 -31.3 -31.2 -31.1 -31 
+  Bin 59: -31 -30.9 -30.8 -30.7 -30.6 -30.5 -30.4 -30.3 -30.2 -30.1 -30 
+  Bin 60: -30 -29.9 -29.8 -29.7 -29.6 -29.5 -29.4 -29.3 -29.2 -29.1 -29 
+  Bin 61: -29 -28.9 -28.8 -28.7 -28.6 -28.5 -28.4 -28.3 -28.2 -28.1 -28 
+  Bin 62: -28 -27.9 -27.8 -27.7 -27.6 -27.5 -27.4 -27.3 -27.2 -27.1 -27 
+  Bin 63: -27 -26.9 -26.8 -26.7 -26.6 -26.5 -26.4 -26.3 -26.2 -26.1 -26 
+  Bin 64: -26 -25.9 -25.8 -25.7 -25.6 -25.5 -25.4 -25.3 -25.2 -25.1 -25 
+  Bin 65: -25 -24.9 -24.8 -24.7 -24.6 -24.5 -24.4 -24.3 -24.2 -24.1 -24 
+  Bin 66: -24 -23.9 -23.8 -23.7 -23.6 -23.5 -23.4 -23.3 -23.2 -23.1 -23 
+  Bin 67: -23 -22.9 -22.8 -22.7 -22.6 -22.5 -22.4 -22.3 -22.2 -22.1 -22 
+  Bin 68: -22 -21.9 -21.8 -21.7 -21.6 -21.5 -21.4 -21.3 -21.2 -21.1 -21 
+  Bin 69: -21 -20.9 -20.8 -20.7 -20.6 -20.5 -20.4 -20.3 -20.2 -20.1 -20 
+  Bin 70: -20 -19.9 -19.8 -19.7 -19.6 -19.5 -19.4 -19.3 -19.2 -19.1 -19 
+  Bin 71: -19 -18.9 -18.8 -18.7 -18.6 -18.5 -18.4 -18.3 -18.2 -18.1 -18 
+  Bin 72: -18 -17.9 -17.8 -17.7 -17.6 -17.5 -17.4 -17.3 -17.2 -17.1 -17 
+  Bin 73: -17 -16.9 -16.8 -16.7 -16.6 -16.5 -16.4 -16.3 -16.2 -16.1 -16 
+  Bin 74: -16 -15.9 -15.8 -15.7 -15.6 -15.5 -15.4 -15.3 -15.2 -15.1 -15 
+  Bin 75: -15 -14.9 -14.8 -14.7 -14.6 -14.5 -14.4 -14.3 -14.2 -14.1 -14 
+  Bin 76: -14 -13.9 -13.8 -13.7 -13.6 -13.5 -13.4 -13.3 -13.2 -13.1 -13 
+  Bin 77: -13 -12.9 -12.8 -12.7 -12.6 -12.5 -12.4 -12.3 -12.2 -12.1 -12 
+  Bin 78: -12 -11.9 -11.8 -11.7 -11.6 -11.5 -11.4 -11.3 -11.2 -11.1 -11 
+  Bin 79: -11 -10.9 -10.8 -10.7 -10.6 -10.5 -10.4 -10.3 -10.2 -10.1 -10 
+  Bin 80: -10 -9.9 -9.8 -9.7 -9.6 -9.5 -9.4 -9.3 -9.2 -9.1 -9 
+  Bin 81: -9 -8.9 -8.8 -8.7 -8.6 -8.5 -8.4 -8.3 -8.2 -8.1 -8 
+  Bin 82: -8 -7.9 -7.8 -7.7 -7.6 -7.5 -7.4 -7.3 -7.2 -7.1 -7 
+  Bin 83: -7 -6.9 -6.8 -6.7 -6.6 -6.5 -6.4 -6.3 -6.2 -6.1 -6 
+  Bin 84: -6 -5.9 -5.8 -5.7 -5.6 -5.5 -5.4 -5.3 -5.2 -5.1 -5 
+  Bin 85: -5 -4.9 -4.8 -4.7 -4.6 -4.5 -4.4 -4.3 -4.2 -4.1 -4 
+  Bin 86: -4 -3.9 -3.8 -3.7 -3.6 -3.5 -3.4 -3.3 -3.2 -3.1 -3 
+  Bin 87: -3 -2.9 -2.8 -2.7 -2.6 -2.5 -2.4 -2.3 -2.2 -2.1 -2 
+  Bin 88: -2 -1.9 -1.8 -1.7 -1.6 -1.5 -1.4 -1.3 -1.2 -1.1 -1 
+  Bin 89: -1 -0.9 -0.8 -0.7 -0.6 -0.5 -0.4 -0.3 -0.2 -0.1 0 
+  Bin 90: 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 
+  Bin 91: 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2 
+  Bin 92: 2 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3 
+  Bin 93: 3 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 4 
+  Bin 94: 4 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 5 
+  Bin 95: 5 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 6 
+  Bin 96: 6 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 7 
+  Bin 97: 7 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 8 
+  Bin 98: 8 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 9 
+  Bin 99: 9 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 10 
+  Bin 100: 10 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 11 
+  Bin 101: 11 11.1 11.2 11.3 11.4 11.5 11.6 11.7 11.8 11.9 12 
+  Bin 102: 12 12.1 12.2 12.3 12.4 12.5 12.6 12.7 12.8 12.9 13 
+  Bin 103: 13 13.1 13.2 13.3 13.4 13.5 13.6 13.7 13.8 13.9 14 
+  Bin 104: 14 14.1 14.2 14.3 14.4 14.5 14.6 14.7 14.8 14.9 15 
+  Bin 105: 15 15.1 15.2 15.3 15.4 15.5 15.6 15.7 15.8 15.9 16 
+  Bin 106: 16 16.1 16.2 16.3 16.4 16.5 16.6 16.7 16.8 16.9 17 
+  Bin 107: 17 17.1 17.2 17.3 17.4 17.5 17.6 17.7 17.8 17.9 18 
+  Bin 108: 18 18.1 18.2 18.3 18.4 18.5 18.6 18.7 18.8 18.9 19 
+  Bin 109: 19 19.1 19.2 19.3 19.4 19.5 19.6 19.7 19.8 19.9 20 
+  Bin 110: 20 20.1 20.2 20.3 20.4 20.5 20.6 20.7 20.8 20.9 21 
+  Bin 111: 21 21.1 21.2 21.3 21.4 21.5 21.6 21.7 21.8 21.9 22 
+  Bin 112: 22 22.1 22.2 22.3 22.4 22.5 22.6 22.7 22.8 22.9 23 
+  Bin 113: 23 23.1 23.2 23.3 23.4 23.5 23.6 23.7 23.8 23.9 24 
+  Bin 114: 24 24.1 24.2 24.3 24.4 24.5 24.6 24.7 24.8 24.9 25 
+  Bin 115: 25 25.1 25.2 25.3 25.4 25.5 25.6 25.7 25.8 25.9 26 
+  Bin 116: 26 26.1 26.2 26.3 26.4 26.5 26.6 26.7 26.8 26.9 27 
+  Bin 117: 27 27.1 27.2 27.3 27.4 27.5 27.6 27.7 27.8 27.9 28 
+  Bin 118: 28 28.1 28.2 28.3 28.4 28.5 28.6 28.7 28.8 28.9 29 
+  Bin 119: 29 29.1 29.2 29.3 29.4 29.5 29.6 29.7 29.8 29.9 30 
+  Bin 120: 30 30.1 30.2 30.3 30.4 30.5 30.6 30.7 30.8 30.9 31 
+  Bin 121: 31 31.1 31.2 31.3 31.4 31.5 31.6 31.7 31.8 31.9 32 
+  Bin 122: 32 32.1 32.2 32.3 32.4 32.5 32.6 32.7 32.8 32.9 33 
+  Bin 123: 33 33.1 33.2 33.3 33.4 33.5 33.6 33.7 33.8 33.9 34 
+  Bin 124: 34 34.1 34.2 34.3 34.4 34.5 34.6 34.7 34.8 34.9 35 
+  Bin 125: 35 35.1 35.2 35.3 35.4 35.5 35.6 35.7 35.8 35.9 36 
+  Bin 126: 36 36.1 36.2 36.3 36.4 36.5 36.6 36.7 36.8 36.9 37 
+  Bin 127: 37 37.1 37.2 37.3 37.4 37.5 37.6 37.7 37.8 37.9 38 
+  Bin 128: 38 38.1 38.2 38.3 38.4 38.5 38.6 38.7 38.8 38.9 39 
+  Bin 129: 39 39.1 39.2 39.3 39.4 39.5 39.6 39.7 39.8 39.9 40 
+  Bin 130: 40 40.1 40.2 40.3 40.4 40.5 40.6 40.7 40.8 40.9 41 
+  Bin 131: 41 41.1 41.2 41.3 41.4 41.5 41.6 41.7 41.8 41.9 42 
+  Bin 132: 42 42.1 42.2 42.3 42.4 42.5 42.6 42.7 42.8 42.9 43 
+  Bin 133: 43 43.1 43.2 43.3 43.4 43.5 43.6 43.7 43.8 43.9 44 
+  Bin 134: 44 44.1 44.2 44.3 44.4 44.5 44.6 44.7 44.8 44.9 45 
+  Bin 135: 45 45.1 45.2 45.3 45.4 45.5 45.6 45.7 45.8 45.9 46 
+  Bin 136: 46 46.1 46.2 46.3 46.4 46.5 46.6 46.7 46.8 46.9 47 
+  Bin 137: 47 47.1 47.2 47.3 47.4 47.5 47.6 47.7 47.8 47.9 48 
+  Bin 138: 48 48.1 48.2 48.3 48.4 48.5 48.6 48.7 48.8 48.9 49 
+  Bin 139: 49 49.1 49.2 49.3 49.4 49.5 49.6 49.7 49.8 49.9 50 
+  Bin 140: 50 50.1 50.2 50.3 50.4 50.5 50.6 50.7 50.8 50.9 51 
+  Bin 141: 51 51.1 51.2 51.3 51.4 51.5 51.6 51.7 51.8 51.9 52 
+  Bin 142: 52 52.1 52.2 52.3 52.4 52.5 52.6 52.7 52.8 52.9 53 
+  Bin 143: 53 53.1 53.2 53.3 53.4 53.5 53.6 53.7 53.8 53.9 54 
+  Bin 144: 54 54.1 54.2 54.3 54.4 54.5 54.6 54.7 54.8 54.9 55 
+  Bin 145: 55 55.1 55.2 55.3 55.4 55.5 55.6 55.7 55.8 55.9 56 
+  Bin 146: 56 56.1 56.2 56.3 56.4 56.5 56.6 56.7 56.8 56.9 57 
+  Bin 147: 57 57.1 57.2 57.3 57.4 57.5 57.6 57.7 57.8 57.9 58 
+  Bin 148: 58 58.1 58.2 58.3 58.4 58.5 58.6 58.7 58.8 58.9 59 
+  Bin 149: 59 59.1 59.2 59.3 59.4 59.5 59.6 59.7 59.8 59.9 60 
+  Bin 150: 60 60.1 60.2 60.3 60.4 60.5 60.6 60.7 60.8 60.9 61 
+  Bin 151: 61 61.1 61.2 61.3 61.4 61.5 61.6 61.7 61.8 61.9 62 
+  Bin 152: 62 62.1 62.2 62.3 62.4 62.5 62.6 62.7 62.8 62.9 63 
+  Bin 153: 63 63.1 63.2 63.3 63.4 63.5 63.6 63.7 63.8 63.9 64 
+  Bin 154: 64 64.1 64.2 64.3 64.4 64.5 64.6 64.7 64.8 64.9 65 
+  Bin 155: 65 65.1 65.2 65.3 65.4 65.5 65.6 65.7 65.8 65.9 66 
+  Bin 156: 66 66.1 66.2 66.3 66.4 66.5 66.6 66.7 66.8 66.9 67 
+  Bin 157: 67 67.1 67.2 67.3 67.4 67.5 67.6 67.7 67.8 67.9 68 
+  Bin 158: 68 68.1 68.2 68.3 68.4 68.5 68.6 68.7 68.8 68.9 69 
+  Bin 159: 69 69.1 69.2 69.3 69.4 69.5 69.6 69.7 69.8 69.9 70 
+  Bin 160: 70 70.1 70.2 70.3 70.4 70.5 70.6 70.7 70.8 70.9 71 
+  Bin 161: 71 71.1 71.2 71.3 71.4 71.5 71.6 71.7 71.8 71.9 72 
+  Bin 162: 72 72.1 72.2 72.3 72.4 72.5 72.6 72.7 72.8 72.9 73 
+  Bin 163: 73 73.1 73.2 73.3 73.4 73.5 73.6 73.7 73.8 73.9 74 
+  Bin 164: 74 74.1 74.2 74.3 74.4 74.5 74.6 74.7 74.8 74.9 75 
+  Bin 165: 75 75.1 75.2 75.3 75.4 75.5 75.6 75.7 75.8 75.9 76 
+  Bin 166: 76 76.1 76.2 76.3 76.4 76.5 76.6 76.7 76.8 76.9 77 
+  Bin 167: 77 77.1 77.2 77.3 77.4 77.5 77.6 77.7 77.8 77.9 78 
+  Bin 168: 78 78.1 78.2 78.3 78.4 78.5 78.6 78.7 78.8 78.9 79 
+  Bin 169: 79 79.1 79.2 79.3 79.4 79.5 79.6 79.7 79.8 79.9 80 
+  Bin 170: 80 80.1 80.2 80.3 80.4 80.5 80.6 80.7 80.8 80.9 81 
+  Bin 171: 81 81.1 81.2 81.3 81.4 81.5 81.6 81.7 81.8 81.9 82 
+  Bin 172: 82 82.1 82.2 82.3 82.4 82.5 82.6 82.7 82.8 82.9 83 
+  Bin 173: 83 83.1 83.2 83.3 83.4 83.5 83.6 83.7 83.8 83.9 84 
+  Bin 174: 84 84.1 84.2 84.3 84.4 84.5 84.6 84.7 84.8 84.9 85 
+  Bin 175: 85 85.1 85.2 85.3 85.4 85.5 85.6 85.7 85.8 85.9 86 
+  Bin 176: 86 86.1 86.2 86.3 86.4 86.5 86.6 86.7 86.8 86.9 87 
+  Bin 177: 87 87.1 87.2 87.3 87.4 87.5 87.6 87.7 87.8 87.9 88 
+  Bin 178: 88 88.1 88.2 88.3 88.4 88.5 88.6 88.7 88.8 88.9 89 
+  Bin 179: 89 89.1 89.2 89.3 89.4 89.5 89.6 89.7 89.8 89.9 90 
+
+Det 3:
+  Bin 0: -90 -89.9 -89.8 -89.7 -89.6 -89.5 -89.4 -89.3 -89.2 -89.1 -89 
+  Bin 1: -89 -88.9 -88.8 -88.7 -88.6 -88.5 -88.4 -88.3 -88.2 -88.1 -88 
+  Bin 2: -88 -87.9 -87.8 -87.7 -87.6 -87.5 -87.4 -87.3 -87.2 -87.1 -87 
+  Bin 3: -87 -86.9 -86.8 -86.7 -86.6 -86.5 -86.4 -86.3 -86.2 -86.1 -86 
+  Bin 4: -86 -85.9 -85.8 -85.7 -85.6 -85.5 -85.4 -85.3 -85.2 -85.1 -85 
+  Bin 5: -85 -84.9 -84.8 -84.7 -84.6 -84.5 -84.4 -84.3 -84.2 -84.1 -84 
+  Bin 6: -84 -83.9 -83.8 -83.7 -83.6 -83.5 -83.4 -83.3 -83.2 -83.1 -83 
+  Bin 7: -83 -82.9 -82.8 -82.7 -82.6 -82.5 -82.4 -82.3 -82.2 -82.1 -82 
+  Bin 8: -82 -81.9 -81.8 -81.7 -81.6 -81.5 -81.4 -81.3 -81.2 -81.1 -81 
+  Bin 9: -81 -80.9 -80.8 -80.7 -80.6 -80.5 -80.4 -80.3 -80.2 -80.1 -80 
+  Bin 10: -80 -79.9 -79.8 -79.7 -79.6 -79.5 -79.4 -79.3 -79.2 -79.1 -79 
+  Bin 11: -79 -78.9 -78.8 -78.7 -78.6 -78.5 -78.4 -78.3 -78.2 -78.1 -78 
+  Bin 12: -78 -77.9 -77.8 -77.7 -77.6 -77.5 -77.4 -77.3 -77.2 -77.1 -77 
+  Bin 13: -77 -76.9 -76.8 -76.7 -76.6 -76.5 -76.4 -76.3 -76.2 -76.1 -76 
+  Bin 14: -76 -75.9 -75.8 -75.7 -75.6 -75.5 -75.4 -75.3 -75.2 -75.1 -75 
+  Bin 15: -75 -74.9 -74.8 -74.7 -74.6 -74.5 -74.4 -74.3 -74.2 -74.1 -74 
+  Bin 16: -74 -73.9 -73.8 -73.7 -73.6 -73.5 -73.4 -73.3 -73.2 -73.1 -73 
+  Bin 17: -73 -72.9 -72.8 -72.7 -72.6 -72.5 -72.4 -72.3 -72.2 -72.1 -72 
+  Bin 18: -72 -71.9 -71.8 -71.7 -71.6 -71.5 -71.4 -71.3 -71.2 -71.1 -71 
+  Bin 19: -71 -70.9 -70.8 -70.7 -70.6 -70.5 -70.4 -70.3 -70.2 -70.1 -70 
+  Bin 20: -70 -69.9 -69.8 -69.7 -69.6 -69.5 -69.4 -69.3 -69.2 -69.1 -69 
+  Bin 21: -69 -68.9 -68.8 -68.7 -68.6 -68.5 -68.4 -68.3 -68.2 -68.1 -68 
+  Bin 22: -68 -67.9 -67.8 -67.7 -67.6 -67.5 -67.4 -67.3 -67.2 -67.1 -67 
+  Bin 23: -67 -66.9 -66.8 -66.7 -66.6 -66.5 -66.4 -66.3 -66.2 -66.1 -66 
+  Bin 24: -66 -65.9 -65.8 -65.7 -65.6 -65.5 -65.4 -65.3 -65.2 -65.1 -65 
+  Bin 25: -65 -64.9 -64.8 -64.7 -64.6 -64.5 -64.4 -64.3 -64.2 -64.1 -64 
+  Bin 26: -64 -63.9 -63.8 -63.7 -63.6 -63.5 -63.4 -63.3 -63.2 -63.1 -63 
+  Bin 27: -63 -62.9 -62.8 -62.7 -62.6 -62.5 -62.4 -62.3 -62.2 -62.1 -62 
+  Bin 28: -62 -61.9 -61.8 -61.7 -61.6 -61.5 -61.4 -61.3 -61.2 -61.1 -61 
+  Bin 29: -61 -60.9 -60.8 -60.7 -60.6 -60.5 -60.4 -60.3 -60.2 -60.1 -60 
+  Bin 30: -60 -59.9 -59.8 -59.7 -59.6 -59.5 -59.4 -59.3 -59.2 -59.1 -59 
+  Bin 31: -59 -58.9 -58.8 -58.7 -58.6 -58.5 -58.4 -58.3 -58.2 -58.1 -58 
+  Bin 32: -58 -57.9 -57.8 -57.7 -57.6 -57.5 -57.4 -57.3 -57.2 -57.1 -57 
+  Bin 33: -57 -56.9 -56.8 -56.7 -56.6 -56.5 -56.4 -56.3 -56.2 -56.1 -56 
+  Bin 34: -56 -55.9 -55.8 -55.7 -55.6 -55.5 -55.4 -55.3 -55.2 -55.1 -55 
+  Bin 35: -55 -54.9 -54.8 -54.7 -54.6 -54.5 -54.4 -54.3 -54.2 -54.1 -54 
+  Bin 36: -54 -53.9 -53.8 -53.7 -53.6 -53.5 -53.4 -53.3 -53.2 -53.1 -53 
+  Bin 37: -53 -52.9 -52.8 -52.7 -52.6 -52.5 -52.4 -52.3 -52.2 -52.1 -52 
+  Bin 38: -52 -51.9 -51.8 -51.7 -51.6 -51.5 -51.4 -51.3 -51.2 -51.1 -51 
+  Bin 39: -51 -50.9 -50.8 -50.7 -50.6 -50.5 -50.4 -50.3 -50.2 -50.1 -50 
+  Bin 40: -50 -49.9 -49.8 -49.7 -49.6 -49.5 -49.4 -49.3 -49.2 -49.1 -49 
+  Bin 41: -49 -48.9 -48.8 -48.7 -48.6 -48.5 -48.4 -48.3 -48.2 -48.1 -48 
+  Bin 42: -48 -47.9 -47.8 -47.7 -47.6 -47.5 -47.4 -47.3 -47.2 -47.1 -47 
+  Bin 43: -47 -46.9 -46.8 -46.7 -46.6 -46.5 -46.4 -46.3 -46.2 -46.1 -46 
+  Bin 44: -46 -45.9 -45.8 -45.7 -45.6 -45.5 -45.4 -45.3 -45.2 -45.1 -45 
+  Bin 45: -45 -44.9 -44.8 -44.7 -44.6 -44.5 -44.4 -44.3 -44.2 -44.1 -44 
+  Bin 46: -44 -43.9 -43.8 -43.7 -43.6 -43.5 -43.4 -43.3 -43.2 -43.1 -43 
+  Bin 47: -43 -42.9 -42.8 -42.7 -42.6 -42.5 -42.4 -42.3 -42.2 -42.1 -42 
+  Bin 48: -42 -41.9 -41.8 -41.7 -41.6 -41.5 -41.4 -41.3 -41.2 -41.1 -41 
+  Bin 49: -41 -40.9 -40.8 -40.7 -40.6 -40.5 -40.4 -40.3 -40.2 -40.1 -40 
+  Bin 50: -40 -39.9 -39.8 -39.7 -39.6 -39.5 -39.4 -39.3 -39.2 -39.1 -39 
+  Bin 51: -39 -38.9 -38.8 -38.7 -38.6 -38.5 -38.4 -38.3 -38.2 -38.1 -38 
+  Bin 52: -38 -37.9 -37.8 -37.7 -37.6 -37.5 -37.4 -37.3 -37.2 -37.1 -37 
+  Bin 53: -37 -36.9 -36.8 -36.7 -36.6 -36.5 -36.4 -36.3 -36.2 -36.1 -36 
+  Bin 54: -36 -35.9 -35.8 -35.7 -35.6 -35.5 -35.4 -35.3 -35.2 -35.1 -35 
+  Bin 55: -35 -34.9 -34.8 -34.7 -34.6 -34.5 -34.4 -34.3 -34.2 -34.1 -34 
+  Bin 56: -34 -33.9 -33.8 -33.7 -33.6 -33.5 -33.4 -33.3 -33.2 -33.1 -33 
+  Bin 57: -33 -32.9 -32.8 -32.7 -32.6 -32.5 -32.4 -32.3 -32.2 -32.1 -32 
+  Bin 58: -32 -31.9 -31.8 -31.7 -31.6 -31.5 -31.4 -31.3 -31.2 -31.1 -31 
+  Bin 59: -31 -30.9 -30.8 -30.7 -30.6 -30.5 -30.4 -30.3 -30.2 -30.1 -30 
+  Bin 60: -30 -29.9 -29.8 -29.7 -29.6 -29.5 -29.4 -29.3 -29.2 -29.1 -29 
+  Bin 61: -29 -28.9 -28.8 -28.7 -28.6 -28.5 -28.4 -28.3 -28.2 -28.1 -28 
+  Bin 62: -28 -27.9 -27.8 -27.7 -27.6 -27.5 -27.4 -27.3 -27.2 -27.1 -27 
+  Bin 63: -27 -26.9 -26.8 -26.7 -26.6 -26.5 -26.4 -26.3 -26.2 -26.1 -26 
+  Bin 64: -26 -25.9 -25.8 -25.7 -25.6 -25.5 -25.4 -25.3 -25.2 -25.1 -25 
+  Bin 65: -25 -24.9 -24.8 -24.7 -24.6 -24.5 -24.4 -24.3 -24.2 -24.1 -24 
+  Bin 66: -24 -23.9 -23.8 -23.7 -23.6 -23.5 -23.4 -23.3 -23.2 -23.1 -23 
+  Bin 67: -23 -22.9 -22.8 -22.7 -22.6 -22.5 -22.4 -22.3 -22.2 -22.1 -22 
+  Bin 68: -22 -21.9 -21.8 -21.7 -21.6 -21.5 -21.4 -21.3 -21.2 -21.1 -21 
+  Bin 69: -21 -20.9 -20.8 -20.7 -20.6 -20.5 -20.4 -20.3 -20.2 -20.1 -20 
+  Bin 70: -20 -19.9 -19.8 -19.7 -19.6 -19.5 -19.4 -19.3 -19.2 -19.1 -19 
+  Bin 71: -19 -18.9 -18.8 -18.7 -18.6 -18.5 -18.4 -18.3 -18.2 -18.1 -18 
+  Bin 72: -18 -17.9 -17.8 -17.7 -17.6 -17.5 -17.4 -17.3 -17.2 -17.1 -17 
+  Bin 73: -17 -16.9 -16.8 -16.7 -16.6 -16.5 -16.4 -16.3 -16.2 -16.1 -16 
+  Bin 74: -16 -15.9 -15.8 -15.7 -15.6 -15.5 -15.4 -15.3 -15.2 -15.1 -15 
+  Bin 75: -15 -14.9 -14.8 -14.7 -14.6 -14.5 -14.4 -14.3 -14.2 -14.1 -14 
+  Bin 76: -14 -13.9 -13.8 -13.7 -13.6 -13.5 -13.4 -13.3 -13.2 -13.1 -13 
+  Bin 77: -13 -12.9 -12.8 -12.7 -12.6 -12.5 -12.4 -12.3 -12.2 -12.1 -12 
+  Bin 78: -12 -11.9 -11.8 -11.7 -11.6 -11.5 -11.4 -11.3 -11.2 -11.1 -11 
+  Bin 79: -11 -10.9 -10.8 -10.7 -10.6 -10.5 -10.4 -10.3 -10.2 -10.1 -10 
+  Bin 80: -10 -9.9 -9.8 -9.7 -9.6 -9.5 -9.4 -9.3 -9.2 -9.1 -9 
+  Bin 81: -9 -8.9 -8.8 -8.7 -8.6 -8.5 -8.4 -8.3 -8.2 -8.1 -8 
+  Bin 82: -8 -7.9 -7.8 -7.7 -7.6 -7.5 -7.4 -7.3 -7.2 -7.1 -7 
+  Bin 83: -7 -6.9 -6.8 -6.7 -6.6 -6.5 -6.4 -6.3 -6.2 -6.1 -6 
+  Bin 84: -6 -5.9 -5.8 -5.7 -5.6 -5.5 -5.4 -5.3 -5.2 -5.1 -5 
+  Bin 85: -5 -4.9 -4.8 -4.7 -4.6 -4.5 -4.4 -4.3 -4.2 -4.1 -4 
+  Bin 86: -4 -3.9 -3.8 -3.7 -3.6 -3.5 -3.4 -3.3 -3.2 -3.1 -3 
+  Bin 87: -3 -2.9 -2.8 -2.7 -2.6 -2.5 -2.4 -2.3 -2.2 -2.1 -2 
+  Bin 88: -2 -1.9 -1.8 -1.7 -1.6 -1.5 -1.4 -1.3 -1.2 -1.1 -1 
+  Bin 89: -1 -0.9 -0.8 -0.7 -0.6 -0.5 -0.4 -0.3 -0.2 -0.1 0 
+  Bin 90: 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 
+  Bin 91: 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2 
+  Bin 92: 2 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3 
+  Bin 93: 3 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 4 
+  Bin 94: 4 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 5 
+  Bin 95: 5 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 6 
+  Bin 96: 6 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 7 
+  Bin 97: 7 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 8 
+  Bin 98: 8 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 9 
+  Bin 99: 9 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 10 
+  Bin 100: 10 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 11 
+  Bin 101: 11 11.1 11.2 11.3 11.4 11.5 11.6 11.7 11.8 11.9 12 
+  Bin 102: 12 12.1 12.2 12.3 12.4 12.5 12.6 12.7 12.8 12.9 13 
+  Bin 103: 13 13.1 13.2 13.3 13.4 13.5 13.6 13.7 13.8 13.9 14 
+  Bin 104: 14 14.1 14.2 14.3 14.4 14.5 14.6 14.7 14.8 14.9 15 
+  Bin 105: 15 15.1 15.2 15.3 15.4 15.5 15.6 15.7 15.8 15.9 16 
+  Bin 106: 16 16.1 16.2 16.3 16.4 16.5 16.6 16.7 16.8 16.9 17 
+  Bin 107: 17 17.1 17.2 17.3 17.4 17.5 17.6 17.7 17.8 17.9 18 
+  Bin 108: 18 18.1 18.2 18.3 18.4 18.5 18.6 18.7 18.8 18.9 19 
+  Bin 109: 19 19.1 19.2 19.3 19.4 19.5 19.6 19.7 19.8 19.9 20 
+  Bin 110: 20 20.1 20.2 20.3 20.4 20.5 20.6 20.7 20.8 20.9 21 
+  Bin 111: 21 21.1 21.2 21.3 21.4 21.5 21.6 21.7 21.8 21.9 22 
+  Bin 112: 22 22.1 22.2 22.3 22.4 22.5 22.6 22.7 22.8 22.9 23 
+  Bin 113: 23 23.1 23.2 23.3 23.4 23.5 23.6 23.7 23.8 23.9 24 
+  Bin 114: 24 24.1 24.2 24.3 24.4 24.5 24.6 24.7 24.8 24.9 25 
+  Bin 115: 25 25.1 25.2 25.3 25.4 25.5 25.6 25.7 25.8 25.9 26 
+  Bin 116: 26 26.1 26.2 26.3 26.4 26.5 26.6 26.7 26.8 26.9 27 
+  Bin 117: 27 27.1 27.2 27.3 27.4 27.5 27.6 27.7 27.8 27.9 28 
+  Bin 118: 28 28.1 28.2 28.3 28.4 28.5 28.6 28.7 28.8 28.9 29 
+  Bin 119: 29 29.1 29.2 29.3 29.4 29.5 29.6 29.7 29.8 29.9 30 
+  Bin 120: 30 30.1 30.2 30.3 30.4 30.5 30.6 30.7 30.8 30.9 31 
+  Bin 121: 31 31.1 31.2 31.3 31.4 31.5 31.6 31.7 31.8 31.9 32 
+  Bin 122: 32 32.1 32.2 32.3 32.4 32.5 32.6 32.7 32.8 32.9 33 
+  Bin 123: 33 33.1 33.2 33.3 33.4 33.5 33.6 33.7 33.8 33.9 34 
+  Bin 124: 34 34.1 34.2 34.3 34.4 34.5 34.6 34.7 34.8 34.9 35 
+  Bin 125: 35 35.1 35.2 35.3 35.4 35.5 35.6 35.7 35.8 35.9 36 
+  Bin 126: 36 36.1 36.2 36.3 36.4 36.5 36.6 36.7 36.8 36.9 37 
+  Bin 127: 37 37.1 37.2 37.3 37.4 37.5 37.6 37.7 37.8 37.9 38 
+  Bin 128: 38 38.1 38.2 38.3 38.4 38.5 38.6 38.7 38.8 38.9 39 
+  Bin 129: 39 39.1 39.2 39.3 39.4 39.5 39.6 39.7 39.8 39.9 40 
+  Bin 130: 40 40.1 40.2 40.3 40.4 40.5 40.6 40.7 40.8 40.9 41 
+  Bin 131: 41 41.1 41.2 41.3 41.4 41.5 41.6 41.7 41.8 41.9 42 
+  Bin 132: 42 42.1 42.2 42.3 42.4 42.5 42.6 42.7 42.8 42.9 43 
+  Bin 133: 43 43.1 43.2 43.3 43.4 43.5 43.6 43.7 43.8 43.9 44 
+  Bin 134: 44 44.1 44.2 44.3 44.4 44.5 44.6 44.7 44.8 44.9 45 
+  Bin 135: 45 45.1 45.2 45.3 45.4 45.5 45.6 45.7 45.8 45.9 46 
+  Bin 136: 46 46.1 46.2 46.3 46.4 46.5 46.6 46.7 46.8 46.9 47 
+  Bin 137: 47 47.1 47.2 47.3 47.4 47.5 47.6 47.7 47.8 47.9 48 
+  Bin 138: 48 48.1 48.2 48.3 48.4 48.5 48.6 48.7 48.8 48.9 49 
+  Bin 139: 49 49.1 49.2 49.3 49.4 49.5 49.6 49.7 49.8 49.9 50 
+  Bin 140: 50 50.1 50.2 50.3 50.4 50.5 50.6 50.7 50.8 50.9 51 
+  Bin 141: 51 51.1 51.2 51.3 51.4 51.5 51.6 51.7 51.8 51.9 52 
+  Bin 142: 52 52.1 52.2 52.3 52.4 52.5 52.6 52.7 52.8 52.9 53 
+  Bin 143: 53 53.1 53.2 53.3 53.4 53.5 53.6 53.7 53.8 53.9 54 
+  Bin 144: 54 54.1 54.2 54.3 54.4 54.5 54.6 54.7 54.8 54.9 55 
+  Bin 145: 55 55.1 55.2 55.3 55.4 55.5 55.6 55.7 55.8 55.9 56 
+  Bin 146: 56 56.1 56.2 56.3 56.4 56.5 56.6 56.7 56.8 56.9 57 
+  Bin 147: 57 57.1 57.2 57.3 57.4 57.5 57.6 57.7 57.8 57.9 58 
+  Bin 148: 58 58.1 58.2 58.3 58.4 58.5 58.6 58.7 58.8 58.9 59 
+  Bin 149: 59 59.1 59.2 59.3 59.4 59.5 59.6 59.7 59.8 59.9 60 
+  Bin 150: 60 60.1 60.2 60.3 60.4 60.5 60.6 60.7 60.8 60.9 61 
+  Bin 151: 61 61.1 61.2 61.3 61.4 61.5 61.6 61.7 61.8 61.9 62 
+  Bin 152: 62 62.1 62.2 62.3 62.4 62.5 62.6 62.7 62.8 62.9 63 
+  Bin 153: 63 63.1 63.2 63.3 63.4 63.5 63.6 63.7 63.8 63.9 64 
+  Bin 154: 64 64.1 64.2 64.3 64.4 64.5 64.6 64.7 64.8 64.9 65 
+  Bin 155: 65 65.1 65.2 65.3 65.4 65.5 65.6 65.7 65.8 65.9 66 
+  Bin 156: 66 66.1 66.2 66.3 66.4 66.5 66.6 66.7 66.8 66.9 67 
+  Bin 157: 67 67.1 67.2 67.3 67.4 67.5 67.6 67.7 67.8 67.9 68 
+  Bin 158: 68 68.1 68.2 68.3 68.4 68.5 68.6 68.7 68.8 68.9 69 
+  Bin 159: 69 69.1 69.2 69.3 69.4 69.5 69.6 69.7 69.8 69.9 70 
+  Bin 160: 70 70.1 70.2 70.3 70.4 70.5 70.6 70.7 70.8 70.9 71 
+  Bin 161: 71 71.1 71.2 71.3 71.4 71.5 71.6 71.7 71.8 71.9 72 
+  Bin 162: 72 72.1 72.2 72.3 72.4 72.5 72.6 72.7 72.8 72.9 73 
+  Bin 163: 73 73.1 73.2 73.3 73.4 73.5 73.6 73.7 73.8 73.9 74 
+  Bin 164: 74 74.1 74.2 74.3 74.4 74.5 74.6 74.7 74.8 74.9 75 
+  Bin 165: 75 75.1 75.2 75.3 75.4 75.5 75.6 75.7 75.8 75.9 76 
+  Bin 166: 76 76.1 76.2 76.3 76.4 76.5 76.6 76.7 76.8 76.9 77 
+  Bin 167: 77 77.1 77.2 77.3 77.4 77.5 77.6 77.7 77.8 77.9 78 
+  Bin 168: 78 78.1 78.2 78.3 78.4 78.5 78.6 78.7 78.8 78.9 79 
+  Bin 169: 79 79.1 79.2 79.3 79.4 79.5 79.6 79.7 79.8 79.9 80 
+  Bin 170: 80 80.1 80.2 80.3 80.4 80.5 80.6 80.7 80.8 80.9 81 
+  Bin 171: 81 81.1 81.2 81.3 81.4 81.5 81.6 81.7 81.8 81.9 82 
+  Bin 172: 82 82.1 82.2 82.3 82.4 82.5 82.6 82.7 82.8 82.9 83 
+  Bin 173: 83 83.1 83.2 83.3 83.4 83.5 83.6 83.7 83.8 83.9 84 
+  Bin 174: 84 84.1 84.2 84.3 84.4 84.5 84.6 84.7 84.8 84.9 85 
+  Bin 175: 85 85.1 85.2 85.3 85.4 85.5 85.6 85.7 85.8 85.9 86 
+  Bin 176: 86 86.1 86.2 86.3 86.4 86.5 86.6 86.7 86.8 86.9 87 
+  Bin 177: 87 87.1 87.2 87.3 87.4 87.5 87.6 87.7 87.8 87.9 88 
+  Bin 178: 88 88.1 88.2 88.3 88.4 88.5 88.6 88.7 88.8 88.9 89 
+  Bin 179: 89 89.1 89.2 89.3 89.4 89.5 89.6 89.7 89.8 89.9 90 
+
+Det 4:
+  Bin 0: -90 -89.9 -89.8 -89.7 -89.6 -89.5 -89.4 -89.3 -89.2 -89.1 -89 
+  Bin 1: -89 -88.9 -88.8 -88.7 -88.6 -88.5 -88.4 -88.3 -88.2 -88.1 -88 
+  Bin 2: -88 -87.9 -87.8 -87.7 -87.6 -87.5 -87.4 -87.3 -87.2 -87.1 -87 
+  Bin 3: -87 -86.9 -86.8 -86.7 -86.6 -86.5 -86.4 -86.3 -86.2 -86.1 -86 
+  Bin 4: -86 -85.9 -85.8 -85.7 -85.6 -85.5 -85.4 -85.3 -85.2 -85.1 -85 
+  Bin 5: -85 -84.9 -84.8 -84.7 -84.6 -84.5 -84.4 -84.3 -84.2 -84.1 -84 
+  Bin 6: -84 -83.9 -83.8 -83.7 -83.6 -83.5 -83.4 -83.3 -83.2 -83.1 -83 
+  Bin 7: -83 -82.9 -82.8 -82.7 -82.6 -82.5 -82.4 -82.3 -82.2 -82.1 -82 
+  Bin 8: -82 -81.9 -81.8 -81.7 -81.6 -81.5 -81.4 -81.3 -81.2 -81.1 -81 
+  Bin 9: -81 -80.9 -80.8 -80.7 -80.6 -80.5 -80.4 -80.3 -80.2 -80.1 -80 
+  Bin 10: -80 -79.9 -79.8 -79.7 -79.6 -79.5 -79.4 -79.3 -79.2 -79.1 -79 
+  Bin 11: -79 -78.9 -78.8 -78.7 -78.6 -78.5 -78.4 -78.3 -78.2 -78.1 -78 
+  Bin 12: -78 -77.9 -77.8 -77.7 -77.6 -77.5 -77.4 -77.3 -77.2 -77.1 -77 
+  Bin 13: -77 -76.9 -76.8 -76.7 -76.6 -76.5 -76.4 -76.3 -76.2 -76.1 -76 
+  Bin 14: -76 -75.9 -75.8 -75.7 -75.6 -75.5 -75.4 -75.3 -75.2 -75.1 -75 
+  Bin 15: -75 -74.9 -74.8 -74.7 -74.6 -74.5 -74.4 -74.3 -74.2 -74.1 -74 
+  Bin 16: -74 -73.9 -73.8 -73.7 -73.6 -73.5 -73.4 -73.3 -73.2 -73.1 -73 
+  Bin 17: -73 -72.9 -72.8 -72.7 -72.6 -72.5 -72.4 -72.3 -72.2 -72.1 -72 
+  Bin 18: -72 -71.9 -71.8 -71.7 -71.6 -71.5 -71.4 -71.3 -71.2 -71.1 -71 
+  Bin 19: -71 -70.9 -70.8 -70.7 -70.6 -70.5 -70.4 -70.3 -70.2 -70.1 -70 
+  Bin 20: -70 -69.9 -69.8 -69.7 -69.6 -69.5 -69.4 -69.3 -69.2 -69.1 -69 
+  Bin 21: -69 -68.9 -68.8 -68.7 -68.6 -68.5 -68.4 -68.3 -68.2 -68.1 -68 
+  Bin 22: -68 -67.9 -67.8 -67.7 -67.6 -67.5 -67.4 -67.3 -67.2 -67.1 -67 
+  Bin 23: -67 -66.9 -66.8 -66.7 -66.6 -66.5 -66.4 -66.3 -66.2 -66.1 -66 
+  Bin 24: -66 -65.9 -65.8 -65.7 -65.6 -65.5 -65.4 -65.3 -65.2 -65.1 -65 
+  Bin 25: -65 -64.9 -64.8 -64.7 -64.6 -64.5 -64.4 -64.3 -64.2 -64.1 -64 
+  Bin 26: -64 -63.9 -63.8 -63.7 -63.6 -63.5 -63.4 -63.3 -63.2 -63.1 -63 
+  Bin 27: -63 -62.9 -62.8 -62.7 -62.6 -62.5 -62.4 -62.3 -62.2 -62.1 -62 
+  Bin 28: -62 -61.9 -61.8 -61.7 -61.6 -61.5 -61.4 -61.3 -61.2 -61.1 -61 
+  Bin 29: -61 -60.9 -60.8 -60.7 -60.6 -60.5 -60.4 -60.3 -60.2 -60.1 -60 
+  Bin 30: -60 -59.9 -59.8 -59.7 -59.6 -59.5 -59.4 -59.3 -59.2 -59.1 -59 
+  Bin 31: -59 -58.9 -58.8 -58.7 -58.6 -58.5 -58.4 -58.3 -58.2 -58.1 -58 
+  Bin 32: -58 -57.9 -57.8 -57.7 -57.6 -57.5 -57.4 -57.3 -57.2 -57.1 -57 
+  Bin 33: -57 -56.9 -56.8 -56.7 -56.6 -56.5 -56.4 -56.3 -56.2 -56.1 -56 
+  Bin 34: -56 -55.9 -55.8 -55.7 -55.6 -55.5 -55.4 -55.3 -55.2 -55.1 -55 
+  Bin 35: -55 -54.9 -54.8 -54.7 -54.6 -54.5 -54.4 -54.3 -54.2 -54.1 -54 
+  Bin 36: -54 -53.9 -53.8 -53.7 -53.6 -53.5 -53.4 -53.3 -53.2 -53.1 -53 
+  Bin 37: -53 -52.9 -52.8 -52.7 -52.6 -52.5 -52.4 -52.3 -52.2 -52.1 -52 
+  Bin 38: -52 -51.9 -51.8 -51.7 -51.6 -51.5 -51.4 -51.3 -51.2 -51.1 -51 
+  Bin 39: -51 -50.9 -50.8 -50.7 -50.6 -50.5 -50.4 -50.3 -50.2 -50.1 -50 
+  Bin 40: -50 -49.9 -49.8 -49.7 -49.6 -49.5 -49.4 -49.3 -49.2 -49.1 -49 
+  Bin 41: -49 -48.9 -48.8 -48.7 -48.6 -48.5 -48.4 -48.3 -48.2 -48.1 -48 
+  Bin 42: -48 -47.9 -47.8 -47.7 -47.6 -47.5 -47.4 -47.3 -47.2 -47.1 -47 
+  Bin 43: -47 -46.9 -46.8 -46.7 -46.6 -46.5 -46.4 -46.3 -46.2 -46.1 -46 
+  Bin 44: -46 -45.9 -45.8 -45.7 -45.6 -45.5 -45.4 -45.3 -45.2 -45.1 -45 
+  Bin 45: -45 -44.9 -44.8 -44.7 -44.6 -44.5 -44.4 -44.3 -44.2 -44.1 -44 
+  Bin 46: -44 -43.9 -43.8 -43.7 -43.6 -43.5 -43.4 -43.3 -43.2 -43.1 -43 
+  Bin 47: -43 -42.9 -42.8 -42.7 -42.6 -42.5 -42.4 -42.3 -42.2 -42.1 -42 
+  Bin 48: -42 -41.9 -41.8 -41.7 -41.6 -41.5 -41.4 -41.3 -41.2 -41.1 -41 
+  Bin 49: -41 -40.9 -40.8 -40.7 -40.6 -40.5 -40.4 -40.3 -40.2 -40.1 -40 
+  Bin 50: -40 -39.9 -39.8 -39.7 -39.6 -39.5 -39.4 -39.3 -39.2 -39.1 -39 
+  Bin 51: -39 -38.9 -38.8 -38.7 -38.6 -38.5 -38.4 -38.3 -38.2 -38.1 -38 
+  Bin 52: -38 -37.9 -37.8 -37.7 -37.6 -37.5 -37.4 -37.3 -37.2 -37.1 -37 
+  Bin 53: -37 -36.9 -36.8 -36.7 -36.6 -36.5 -36.4 -36.3 -36.2 -36.1 -36 
+  Bin 54: -36 -35.9 -35.8 -35.7 -35.6 -35.5 -35.4 -35.3 -35.2 -35.1 -35 
+  Bin 55: -35 -34.9 -34.8 -34.7 -34.6 -34.5 -34.4 -34.3 -34.2 -34.1 -34 
+  Bin 56: -34 -33.9 -33.8 -33.7 -33.6 -33.5 -33.4 -33.3 -33.2 -33.1 -33 
+  Bin 57: -33 -32.9 -32.8 -32.7 -32.6 -32.5 -32.4 -32.3 -32.2 -32.1 -32 
+  Bin 58: -32 -31.9 -31.8 -31.7 -31.6 -31.5 -31.4 -31.3 -31.2 -31.1 -31 
+  Bin 59: -31 -30.9 -30.8 -30.7 -30.6 -30.5 -30.4 -30.3 -30.2 -30.1 -30 
+  Bin 60: -30 -29.9 -29.8 -29.7 -29.6 -29.5 -29.4 -29.3 -29.2 -29.1 -29 
+  Bin 61: -29 -28.9 -28.8 -28.7 -28.6 -28.5 -28.4 -28.3 -28.2 -28.1 -28 
+  Bin 62: -28 -27.9 -27.8 -27.7 -27.6 -27.5 -27.4 -27.3 -27.2 -27.1 -27 
+  Bin 63: -27 -26.9 -26.8 -26.7 -26.6 -26.5 -26.4 -26.3 -26.2 -26.1 -26 
+  Bin 64: -26 -25.9 -25.8 -25.7 -25.6 -25.5 -25.4 -25.3 -25.2 -25.1 -25 
+  Bin 65: -25 -24.9 -24.8 -24.7 -24.6 -24.5 -24.4 -24.3 -24.2 -24.1 -24 
+  Bin 66: -24 -23.9 -23.8 -23.7 -23.6 -23.5 -23.4 -23.3 -23.2 -23.1 -23 
+  Bin 67: -23 -22.9 -22.8 -22.7 -22.6 -22.5 -22.4 -22.3 -22.2 -22.1 -22 
+  Bin 68: -22 -21.9 -21.8 -21.7 -21.6 -21.5 -21.4 -21.3 -21.2 -21.1 -21 
+  Bin 69: -21 -20.9 -20.8 -20.7 -20.6 -20.5 -20.4 -20.3 -20.2 -20.1 -20 
+  Bin 70: -20 -19.9 -19.8 -19.7 -19.6 -19.5 -19.4 -19.3 -19.2 -19.1 -19 
+  Bin 71: -19 -18.9 -18.8 -18.7 -18.6 -18.5 -18.4 -18.3 -18.2 -18.1 -18 
+  Bin 72: -18 -17.9 -17.8 -17.7 -17.6 -17.5 -17.4 -17.3 -17.2 -17.1 -17 
+  Bin 73: -17 -16.9 -16.8 -16.7 -16.6 -16.5 -16.4 -16.3 -16.2 -16.1 -16 
+  Bin 74: -16 -15.9 -15.8 -15.7 -15.6 -15.5 -15.4 -15.3 -15.2 -15.1 -15 
+  Bin 75: -15 -14.9 -14.8 -14.7 -14.6 -14.5 -14.4 -14.3 -14.2 -14.1 -14 
+  Bin 76: -14 -13.9 -13.8 -13.7 -13.6 -13.5 -13.4 -13.3 -13.2 -13.1 -13 
+  Bin 77: -13 -12.9 -12.8 -12.7 -12.6 -12.5 -12.4 -12.3 -12.2 -12.1 -12 
+  Bin 78: -12 -11.9 -11.8 -11.7 -11.6 -11.5 -11.4 -11.3 -11.2 -11.1 -11 
+  Bin 79: -11 -10.9 -10.8 -10.7 -10.6 -10.5 -10.4 -10.3 -10.2 -10.1 -10 
+  Bin 80: -10 -9.9 -9.8 -9.7 -9.6 -9.5 -9.4 -9.3 -9.2 -9.1 -9 
+  Bin 81: -9 -8.9 -8.8 -8.7 -8.6 -8.5 -8.4 -8.3 -8.2 -8.1 -8 
+  Bin 82: -8 -7.9 -7.8 -7.7 -7.6 -7.5 -7.4 -7.3 -7.2 -7.1 -7 
+  Bin 83: -7 -6.9 -6.8 -6.7 -6.6 -6.5 -6.4 -6.3 -6.2 -6.1 -6 
+  Bin 84: -6 -5.9 -5.8 -5.7 -5.6 -5.5 -5.4 -5.3 -5.2 -5.1 -5 
+  Bin 85: -5 -4.9 -4.8 -4.7 -4.6 -4.5 -4.4 -4.3 -4.2 -4.1 -4 
+  Bin 86: -4 -3.9 -3.8 -3.7 -3.6 -3.5 -3.4 -3.3 -3.2 -3.1 -3 
+  Bin 87: -3 -2.9 -2.8 -2.7 -2.6 -2.5 -2.4 -2.3 -2.2 -2.1 -2 
+  Bin 88: -2 -1.9 -1.8 -1.7 -1.6 -1.5 -1.4 -1.3 -1.2 -1.1 -1 
+  Bin 89: -1 -0.9 -0.8 -0.7 -0.6 -0.5 -0.4 -0.3 -0.2 -0.1 0 
+  Bin 90: 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 
+  Bin 91: 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2 
+  Bin 92: 2 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3 
+  Bin 93: 3 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 4 
+  Bin 94: 4 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 5 
+  Bin 95: 5 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 6 
+  Bin 96: 6 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 7 
+  Bin 97: 7 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 8 
+  Bin 98: 8 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 9 
+  Bin 99: 9 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 10 
+  Bin 100: 10 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 11 
+  Bin 101: 11 11.1 11.2 11.3 11.4 11.5 11.6 11.7 11.8 11.9 12 
+  Bin 102: 12 12.1 12.2 12.3 12.4 12.5 12.6 12.7 12.8 12.9 13 
+  Bin 103: 13 13.1 13.2 13.3 13.4 13.5 13.6 13.7 13.8 13.9 14 
+  Bin 104: 14 14.1 14.2 14.3 14.4 14.5 14.6 14.7 14.8 14.9 15 
+  Bin 105: 15 15.1 15.2 15.3 15.4 15.5 15.6 15.7 15.8 15.9 16 
+  Bin 106: 16 16.1 16.2 16.3 16.4 16.5 16.6 16.7 16.8 16.9 17 
+  Bin 107: 17 17.1 17.2 17.3 17.4 17.5 17.6 17.7 17.8 17.9 18 
+  Bin 108: 18 18.1 18.2 18.3 18.4 18.5 18.6 18.7 18.8 18.9 19 
+  Bin 109: 19 19.1 19.2 19.3 19.4 19.5 19.6 19.7 19.8 19.9 20 
+  Bin 110: 20 20.1 20.2 20.3 20.4 20.5 20.6 20.7 20.8 20.9 21 
+  Bin 111: 21 21.1 21.2 21.3 21.4 21.5 21.6 21.7 21.8 21.9 22 
+  Bin 112: 22 22.1 22.2 22.3 22.4 22.5 22.6 22.7 22.8 22.9 23 
+  Bin 113: 23 23.1 23.2 23.3 23.4 23.5 23.6 23.7 23.8 23.9 24 
+  Bin 114: 24 24.1 24.2 24.3 24.4 24.5 24.6 24.7 24.8 24.9 25 
+  Bin 115: 25 25.1 25.2 25.3 25.4 25.5 25.6 25.7 25.8 25.9 26 
+  Bin 116: 26 26.1 26.2 26.3 26.4 26.5 26.6 26.7 26.8 26.9 27 
+  Bin 117: 27 27.1 27.2 27.3 27.4 27.5 27.6 27.7 27.8 27.9 28 
+  Bin 118: 28 28.1 28.2 28.3 28.4 28.5 28.6 28.7 28.8 28.9 29 
+  Bin 119: 29 29.1 29.2 29.3 29.4 29.5 29.6 29.7 29.8 29.9 30 
+  Bin 120: 30 30.1 30.2 30.3 30.4 30.5 30.6 30.7 30.8 30.9 31 
+  Bin 121: 31 31.1 31.2 31.3 31.4 31.5 31.6 31.7 31.8 31.9 32 
+  Bin 122: 32 32.1 32.2 32.3 32.4 32.5 32.6 32.7 32.8 32.9 33 
+  Bin 123: 33 33.1 33.2 33.3 33.4 33.5 33.6 33.7 33.8 33.9 34 
+  Bin 124: 34 34.1 34.2 34.3 34.4 34.5 34.6 34.7 34.8 34.9 35 
+  Bin 125: 35 35.1 35.2 35.3 35.4 35.5 35.6 35.7 35.8 35.9 36 
+  Bin 126: 36 36.1 36.2 36.3 36.4 36.5 36.6 36.7 36.8 36.9 37 
+  Bin 127: 37 37.1 37.2 37.3 37.4 37.5 37.6 37.7 37.8 37.9 38 
+  Bin 128: 38 38.1 38.2 38.3 38.4 38.5 38.6 38.7 38.8 38.9 39 
+  Bin 129: 39 39.1 39.2 39.3 39.4 39.5 39.6 39.7 39.8 39.9 40 
+  Bin 130: 40 40.1 40.2 40.3 40.4 40.5 40.6 40.7 40.8 40.9 41 
+  Bin 131: 41 41.1 41.2 41.3 41.4 41.5 41.6 41.7 41.8 41.9 42 
+  Bin 132: 42 42.1 42.2 42.3 42.4 42.5 42.6 42.7 42.8 42.9 43 
+  Bin 133: 43 43.1 43.2 43.3 43.4 43.5 43.6 43.7 43.8 43.9 44 
+  Bin 134: 44 44.1 44.2 44.3 44.4 44.5 44.6 44.7 44.8 44.9 45 
+  Bin 135: 45 45.1 45.2 45.3 45.4 45.5 45.6 45.7 45.8 45.9 46 
+  Bin 136: 46 46.1 46.2 46.3 46.4 46.5 46.6 46.7 46.8 46.9 47 
+  Bin 137: 47 47.1 47.2 47.3 47.4 47.5 47.6 47.7 47.8 47.9 48 
+  Bin 138: 48 48.1 48.2 48.3 48.4 48.5 48.6 48.7 48.8 48.9 49 
+  Bin 139: 49 49.1 49.2 49.3 49.4 49.5 49.6 49.7 49.8 49.9 50 
+  Bin 140: 50 50.1 50.2 50.3 50.4 50.5 50.6 50.7 50.8 50.9 51 
+  Bin 141: 51 51.1 51.2 51.3 51.4 51.5 51.6 51.7 51.8 51.9 52 
+  Bin 142: 52 52.1 52.2 52.3 52.4 52.5 52.6 52.7 52.8 52.9 53 
+  Bin 143: 53 53.1 53.2 53.3 53.4 53.5 53.6 53.7 53.8 53.9 54 
+  Bin 144: 54 54.1 54.2 54.3 54.4 54.5 54.6 54.7 54.8 54.9 55 
+  Bin 145: 55 55.1 55.2 55.3 55.4 55.5 55.6 55.7 55.8 55.9 56 
+  Bin 146: 56 56.1 56.2 56.3 56.4 56.5 56.6 56.7 56.8 56.9 57 
+  Bin 147: 57 57.1 57.2 57.3 57.4 57.5 57.6 57.7 57.8 57.9 58 
+  Bin 148: 58 58.1 58.2 58.3 58.4 58.5 58.6 58.7 58.8 58.9 59 
+  Bin 149: 59 59.1 59.2 59.3 59.4 59.5 59.6 59.7 59.8 59.9 60 
+  Bin 150: 60 60.1 60.2 60.3 60.4 60.5 60.6 60.7 60.8 60.9 61 
+  Bin 151: 61 61.1 61.2 61.3 61.4 61.5 61.6 61.7 61.8 61.9 62 
+  Bin 152: 62 62.1 62.2 62.3 62.4 62.5 62.6 62.7 62.8 62.9 63 
+  Bin 153: 63 63.1 63.2 63.3 63.4 63.5 63.6 63.7 63.8 63.9 64 
+  Bin 154: 64 64.1 64.2 64.3 64.4 64.5 64.6 64.7 64.8 64.9 65 
+  Bin 155: 65 65.1 65.2 65.3 65.4 65.5 65.6 65.7 65.8 65.9 66 
+  Bin 156: 66 66.1 66.2 66.3 66.4 66.5 66.6 66.7 66.8 66.9 67 
+  Bin 157: 67 67.1 67.2 67.3 67.4 67.5 67.6 67.7 67.8 67.9 68 
+  Bin 158: 68 68.1 68.2 68.3 68.4 68.5 68.6 68.7 68.8 68.9 69 
+  Bin 159: 69 69.1 69.2 69.3 69.4 69.5 69.6 69.7 69.8 69.9 70 
+  Bin 160: 70 70.1 70.2 70.3 70.4 70.5 70.6 70.7 70.8 70.9 71 
+  Bin 161: 71 71.1 71.2 71.3 71.4 71.5 71.6 71.7 71.8 71.9 72 
+  Bin 162: 72 72.1 72.2 72.3 72.4 72.5 72.6 72.7 72.8 72.9 73 
+  Bin 163: 73 73.1 73.2 73.3 73.4 73.5 73.6 73.7 73.8 73.9 74 
+  Bin 164: 74 74.1 74.2 74.3 74.4 74.5 74.6 74.7 74.8 74.9 75 
+  Bin 165: 75 75.1 75.2 75.3 75.4 75.5 75.6 75.7 75.8 75.9 76 
+  Bin 166: 76 76.1 76.2 76.3 76.4 76.5 76.6 76.7 76.8 76.9 77 
+  Bin 167: 77 77.1 77.2 77.3 77.4 77.5 77.6 77.7 77.8 77.9 78 
+  Bin 168: 78 78.1 78.2 78.3 78.4 78.5 78.6 78.7 78.8 78.9 79 
+  Bin 169: 79 79.1 79.2 79.3 79.4 79.5 79.6 79.7 79.8 79.9 80 
+  Bin 170: 80 80.1 80.2 80.3 80.4 80.5 80.6 80.7 80.8 80.9 81 
+  Bin 171: 81 81.1 81.2 81.3 81.4 81.5 81.6 81.7 81.8 81.9 82 
+  Bin 172: 82 82.1 82.2 82.3 82.4 82.5 82.6 82.7 82.8 82.9 83 
+  Bin 173: 83 83.1 83.2 83.3 83.4 83.5 83.6 83.7 83.8 83.9 84 
+  Bin 174: 84 84.1 84.2 84.3 84.4 84.5 84.6 84.7 84.8 84.9 85 
+  Bin 175: 85 85.1 85.2 85.3 85.4 85.5 85.6 85.7 85.8 85.9 86 
+  Bin 176: 86 86.1 86.2 86.3 86.4 86.5 86.6 86.7 86.8 86.9 87 
+  Bin 177: 87 87.1 87.2 87.3 87.4 87.5 87.6 87.7 87.8 87.9 88 
+  Bin 178: 88 88.1 88.2 88.3 88.4 88.5 88.6 88.7 88.8 88.9 89 
+  Bin 179: 89 89.1 89.2 89.3 89.4 89.5 89.6 89.7 89.8 89.9 90 
+
+Det 5:
+  Bin 0: -1000 -999.9 -999.8 -999.7 -999.6 -999.5 -999.4 -999.3 -999.2 -999.1 -999 
+  Bin 1: -999 -998.9 -998.8 -998.7 -998.6 -998.5 -998.4 -998.3 -998.2 -998.1 -998 
+  Bin 2: -998 -997.9 -997.8 -997.7 -997.6 -997.5 -997.4 -997.3 -997.2 -997.1 -997 
+  Bin 3: -997 -996.9 -996.8 -996.7 -996.6 -996.5 -996.4 -996.3 -996.2 -996.1 -996 
+  Bin 4: -996 -995.9 -995.8 -995.7 -995.6 -995.5 -995.4 -995.3 -995.2 -995.1 -995 
+  Bin 5: -995 -994.9 -994.8 -994.7 -994.6 -994.5 -994.4 -994.3 -994.2 -994.1 -994 
+  Bin 6: -994 -993.9 -993.8 -993.7 -993.6 -993.5 -993.4 -993.3 -993.2 -993.1 -993 
+  Bin 7: -993 -992.9 -992.8 -992.7 -992.6 -992.5 -992.4 -992.3 -992.2 -992.1 -992 
+  Bin 8: -992 -991.9 -991.8 -991.7 -991.6 -991.5 -991.4 -991.3 -991.2 -991.1 -991 
+  Bin 9: -991 -990.9 -990.8 -990.7 -990.6 -990.5 -990.4 -990.3 -990.2 -990.1 -990 
+  Bin 10: -990 -989.9 -989.8 -989.7 -989.6 -989.5 -989.4 -989.3 -989.2 -989.1 -989 
+  Bin 11: -989 -988.9 -988.8 -988.7 -988.6 -988.5 -988.4 -988.3 -988.2 -988.1 -988 
+  Bin 12: -988 -987.9 -987.8 -987.7 -987.6 -987.5 -987.4 -987.3 -987.2 -987.1 -987 
+  Bin 13: -987 -986.9 -986.8 -986.7 -986.6 -986.5 -986.4 -986.3 -986.2 -986.1 -986 
+  Bin 14: -986 -985.9 -985.8 -985.7 -985.6 -985.5 -985.4 -985.3 -985.2 -985.1 -985 
+  Bin 15: -985 -984.9 -984.8 -984.7 -984.6 -984.5 -984.4 -984.3 -984.2 -984.1 -984 
+  Bin 16: -984 -983.9 -983.8 -983.7 -983.6 -983.5 -983.4 -983.3 -983.2 -983.1 -983 
+  Bin 17: -983 -982.9 -982.8 -982.7 -982.6 -982.5 -982.4 -982.3 -982.2 -982.1 -982 
+  Bin 18: -982 -981.9 -981.8 -981.7 -981.6 -981.5 -981.4 -981.3 -981.2 -981.1 -981 
+  Bin 19: -981 -980.9 -980.8 -980.7 -980.6 -980.5 -980.4 -980.3 -980.2 -980.1 -980 
+  Bin 20: -980 -979.9 -979.8 -979.7 -979.6 -979.5 -979.4 -979.3 -979.2 -979.1 -979 
+  Bin 21: -979 -978.9 -978.8 -978.7 -978.6 -978.5 -978.4 -978.3 -978.2 -978.1 -978 
+  Bin 22: -978 -977.9 -977.8 -977.7 -977.6 -977.5 -977.4 -977.3 -977.2 -977.1 -977 
+  Bin 23: -977 -976.9 -976.8 -976.7 -976.6 -976.5 -976.4 -976.3 -976.2 -976.1 -976 
+  Bin 24: -976 -975.9 -975.8 -975.7 -975.6 -975.5 -975.4 -975.3 -975.2 -975.1 -975 
+  Bin 25: -975 -974.9 -974.8 -974.7 -974.6 -974.5 -974.4 -974.3 -974.2 -974.1 -974 
+  Bin 26: -974 -973.9 -973.8 -973.7 -973.6 -973.5 -973.4 -973.3 -973.2 -973.1 -973 
+  Bin 27: -973 -972.9 -972.8 -972.7 -972.6 -972.5 -972.4 -972.3 -972.2 -972.1 -972 
+  Bin 28: -972 -971.9 -971.8 -971.7 -971.6 -971.5 -971.4 -971.3 -971.2 -971.1 -971 
+  Bin 29: -971 -970.9 -970.8 -970.7 -970.6 -970.5 -970.4 -970.3 -970.2 -970.1 -970 
+  Bin 30: -970 -969.9 -969.8 -969.7 -969.6 -969.5 -969.4 -969.3 -969.2 -969.1 -969 
+  Bin 31: -969 -968.9 -968.8 -968.7 -968.6 -968.5 -968.4 -968.3 -968.2 -968.1 -968 
+  Bin 32: -968 -967.9 -967.8 -967.7 -967.6 -967.5 -967.4 -967.3 -967.2 -967.1 -967 
+  Bin 33: -967 -966.9 -966.8 -966.7 -966.6 -966.5 -966.4 -966.3 -966.2 -966.1 -966 
+  Bin 34: -966 -965.9 -965.8 -965.7 -965.6 -965.5 -965.4 -965.3 -965.2 -965.1 -965 
+  Bin 35: -965 -964.9 -964.8 -964.7 -964.6 -964.5 -964.4 -964.3 -964.2 -964.1 -964 
+  Bin 36: -964 -963.9 -963.8 -963.7 -963.6 -963.5 -963.4 -963.3 -963.2 -963.1 -963 
+  Bin 37: -963 -962.9 -962.8 -962.7 -962.6 -962.5 -962.4 -962.3 -962.2 -962.1 -962 
+  Bin 38: -962 -961.9 -961.8 -961.7 -961.6 -961.5 -961.4 -961.3 -961.2 -961.1 -961 
+  Bin 39: -961 -960.9 -960.8 -960.7 -960.6 -960.5 -960.4 -960.3 -960.2 -960.1 -960 
+  Bin 40: -960 -959.9 -959.8 -959.7 -959.6 -959.5 -959.4 -959.3 -959.2 -959.1 -959 
+  Bin 41: -959 -958.9 -958.8 -958.7 -958.6 -958.5 -958.4 -958.3 -958.2 -958.1 -958 
+  Bin 42: -958 -957.9 -957.8 -957.7 -957.6 -957.5 -957.4 -957.3 -957.2 -957.1 -957 
+  Bin 43: -957 -956.9 -956.8 -956.7 -956.6 -956.5 -956.4 -956.3 -956.2 -956.1 -956 
+  Bin 44: -956 -955.9 -955.8 -955.7 -955.6 -955.5 -955.4 -955.3 -955.2 -955.1 -955 
+  Bin 45: -955 -954.9 -954.8 -954.7 -954.6 -954.5 -954.4 -954.3 -954.2 -954.1 -954 
+  Bin 46: -954 -953.9 -953.8 -953.7 -953.6 -953.5 -953.4 -953.3 -953.2 -953.1 -953 
+  Bin 47: -953 -952.9 -952.8 -952.7 -952.6 -952.5 -952.4 -952.3 -952.2 -952.1 -952 
+  Bin 48: -952 -951.9 -951.8 -951.7 -951.6 -951.5 -951.4 -951.3 -951.2 -951.1 -951 
+  Bin 49: -951 -950.9 -950.8 -950.7 -950.6 -950.5 -950.4 -950.3 -950.2 -950.1 -950 
+  Bin 50: -950 -949.9 -949.8 -949.7 -949.6 -949.5 -949.4 -949.3 -949.2 -949.1 -949 
+  Bin 51: -949 -948.9 -948.8 -948.7 -948.6 -948.5 -948.4 -948.3 -948.2 -948.1 -948 
+  Bin 52: -948 -947.9 -947.8 -947.7 -947.6 -947.5 -947.4 -947.3 -947.2 -947.1 -947 
+  Bin 53: -947 -946.9 -946.8 -946.7 -946.6 -946.5 -946.4 -946.3 -946.2 -946.1 -946 
+  Bin 54: -946 -945.9 -945.8 -945.7 -945.6 -945.5 -945.4 -945.3 -945.2 -945.1 -945 
+  Bin 55: -945 -944.9 -944.8 -944.7 -944.6 -944.5 -944.4 -944.3 -944.2 -944.1 -944 
+  Bin 56: -944 -943.9 -943.8 -943.7 -943.6 -943.5 -943.4 -943.3 -943.2 -943.1 -943 
+  Bin 57: -943 -942.9 -942.8 -942.7 -942.6 -942.5 -942.4 -942.3 -942.2 -942.1 -942 
+  Bin 58: -942 -941.9 -941.8 -941.7 -941.6 -941.5 -941.4 -941.3 -941.2 -941.1 -941 
+  Bin 59: -941 -940.9 -940.8 -940.7 -940.6 -940.5 -940.4 -940.3 -940.2 -940.1 -940 
+  Bin 60: -940 -939.9 -939.8 -939.7 -939.6 -939.5 -939.4 -939.3 -939.2 -939.1 -939 
+  Bin 61: -939 -938.9 -938.8 -938.7 -938.6 -938.5 -938.4 -938.3 -938.2 -938.1 -938 
+  Bin 62: -938 -937.9 -937.8 -937.7 -937.6 -937.5 -937.4 -937.3 -937.2 -937.1 -937 
+  Bin 63: -937 -936.9 -936.8 -936.7 -936.6 -936.5 -936.4 -936.3 -936.2 -936.1 -936 
+  Bin 64: -936 -935.9 -935.8 -935.7 -935.6 -935.5 -935.4 -935.3 -935.2 -935.1 -935 
+  Bin 65: -935 -934.9 -934.8 -934.7 -934.6 -934.5 -934.4 -934.3 -934.2 -934.1 -934 
+  Bin 66: -934 -933.9 -933.8 -933.7 -933.6 -933.5 -933.4 -933.3 -933.2 -933.1 -933 
+  Bin 67: -933 -932.9 -932.8 -932.7 -932.6 -932.5 -932.4 -932.3 -932.2 -932.1 -932 
+  Bin 68: -932 -931.9 -931.8 -931.7 -931.6 -931.5 -931.4 -931.3 -931.2 -931.1 -931 
+  Bin 69: -931 -930.9 -930.8 -930.7 -930.6 -930.5 -930.4 -930.3 -930.2 -930.1 -930 
+  Bin 70: -930 -929.9 -929.8 -929.7 -929.6 -929.5 -929.4 -929.3 -929.2 -929.1 -929 
+  Bin 71: -929 -928.9 -928.8 -928.7 -928.6 -928.5 -928.4 -928.3 -928.2 -928.1 -928 
+  Bin 72: -928 -927.9 -927.8 -927.7 -927.6 -927.5 -927.4 -927.3 -927.2 -927.1 -927 
+  Bin 73: -927 -926.9 -926.8 -926.7 -926.6 -926.5 -926.4 -926.3 -926.2 -926.1 -926 
+  Bin 74: -926 -925.9 -925.8 -925.7 -925.6 -925.5 -925.4 -925.3 -925.2 -925.1 -925 
+  Bin 75: -925 -924.9 -924.8 -924.7 -924.6 -924.5 -924.4 -924.3 -924.2 -924.1 -924 
+  Bin 76: -924 -923.9 -923.8 -923.7 -923.6 -923.5 -923.4 -923.3 -923.2 -923.1 -923 
+  Bin 77: -923 -922.9 -922.8 -922.7 -922.6 -922.5 -922.4 -922.3 -922.2 -922.1 -922 
+  Bin 78: -922 -921.9 -921.8 -921.7 -921.6 -921.5 -921.4 -921.3 -921.2 -921.1 -921 
+  Bin 79: -921 -920.9 -920.8 -920.7 -920.6 -920.5 -920.4 -920.3 -920.2 -920.1 -920 
+  Bin 80: -920 -919.9 -919.8 -919.7 -919.6 -919.5 -919.4 -919.3 -919.2 -919.1 -919 
+  Bin 81: -919 -918.9 -918.8 -918.7 -918.6 -918.5 -918.4 -918.3 -918.2 -918.1 -918 
+  Bin 82: -918 -917.9 -917.8 -917.7 -917.6 -917.5 -917.4 -917.3 -917.2 -917.1 -917 
+  Bin 83: -917 -916.9 -916.8 -916.7 -916.6 -916.5 -916.4 -916.3 -916.2 -916.1 -916 
+  Bin 84: -916 -915.9 -915.8 -915.7 -915.6 -915.5 -915.4 -915.3 -915.2 -915.1 -915 
+  Bin 85: -915 -914.9 -914.8 -914.7 -914.6 -914.5 -914.4 -914.3 -914.2 -914.1 -914 
+  Bin 86: -914 -913.9 -913.8 -913.7 -913.6 -913.5 -913.4 -913.3 -913.2 -913.1 -913 
+  Bin 87: -913 -912.9 -912.8 -912.7 -912.6 -912.5 -912.4 -912.3 -912.2 -912.1 -912 
+  Bin 88: -912 -911.9 -911.8 -911.7 -911.6 -911.5 -911.4 -911.3 -911.2 -911.1 -911 
+  Bin 89: -911 -910.9 -910.8 -910.7 -910.6 -910.5 -910.4 -910.3 -910.2 -910.1 -910 
+  Bin 90: -910 -909.9 -909.8 -909.7 -909.6 -909.5 -909.4 -909.3 -909.2 -909.1 -909 
+  Bin 91: -909 -908.9 -908.8 -908.7 -908.6 -908.5 -908.4 -908.3 -908.2 -908.1 -908 
+  Bin 92: -908 -907.9 -907.8 -907.7 -907.6 -907.5 -907.4 -907.3 -907.2 -907.1 -907 
+  Bin 93: -907 -906.9 -906.8 -906.7 -906.6 -906.5 -906.4 -906.3 -906.2 -906.1 -906 
+  Bin 94: -906 -905.9 -905.8 -905.7 -905.6 -905.5 -905.4 -905.3 -905.2 -905.1 -905 
+  Bin 95: -905 -904.9 -904.8 -904.7 -904.6 -904.5 -904.4 -904.3 -904.2 -904.1 -904 
+  Bin 96: -904 -903.9 -903.8 -903.7 -903.6 -903.5 -903.4 -903.3 -903.2 -903.1 -903 
+  Bin 97: -903 -902.9 -902.8 -902.7 -902.6 -902.5 -902.4 -902.3 -902.2 -902.1 -902 
+  Bin 98: -902 -901.9 -901.8 -901.7 -901.6 -901.5 -901.4 -901.3 -901.2 -901.1 -901 
+  Bin 99: -901 -900.9 -900.8 -900.7 -900.6 -900.5 -900.4 -900.3 -900.2 -900.1 -900 
+  Bin 100: -900 -899.9 -899.8 -899.7 -899.6 -899.5 -899.4 -899.3 -899.2 -899.1 -899 
+  Bin 101: -899 -898.9 -898.8 -898.7 -898.6 -898.5 -898.4 -898.3 -898.2 -898.1 -898 
+  Bin 102: -898 -897.9 -897.8 -897.7 -897.6 -897.5 -897.4 -897.3 -897.2 -897.1 -897 
+  Bin 103: -897 -896.9 -896.8 -896.7 -896.6 -896.5 -896.4 -896.3 -896.2 -896.1 -896 
+  Bin 104: -896 -895.9 -895.8 -895.7 -895.6 -895.5 -895.4 -895.3 -895.2 -895.1 -895 
+  Bin 105: -895 -894.9 -894.8 -894.7 -894.6 -894.5 -894.4 -894.3 -894.2 -894.1 -894 
+  Bin 106: -894 -893.9 -893.8 -893.7 -893.6 -893.5 -893.4 -893.3 -893.2 -893.1 -893 
+  Bin 107: -893 -892.9 -892.8 -892.7 -892.6 -892.5 -892.4 -892.3 -892.2 -892.1 -892 
+  Bin 108: -892 -891.9 -891.8 -891.7 -891.6 -891.5 -891.4 -891.3 -891.2 -891.1 -891 
+  Bin 109: -891 -890.9 -890.8 -890.7 -890.6 -890.5 -890.4 -890.3 -890.2 -890.1 -890 
+  Bin 110: -890 -889.9 -889.8 -889.7 -889.6 -889.5 -889.4 -889.3 -889.2 -889.1 -889 
+  Bin 111: -889 -888.9 -888.8 -888.7 -888.6 -888.5 -888.4 -888.3 -888.2 -888.1 -888 
+  Bin 112: -888 -887.9 -887.8 -887.7 -887.6 -887.5 -887.4 -887.3 -887.2 -887.1 -887 
+  Bin 113: -887 -886.9 -886.8 -886.7 -886.6 -886.5 -886.4 -886.3 -886.2 -886.1 -886 
+  Bin 114: -886 -885.9 -885.8 -885.7 -885.6 -885.5 -885.4 -885.3 -885.2 -885.1 -885 
+  Bin 115: -885 -884.9 -884.8 -884.7 -884.6 -884.5 -884.4 -884.3 -884.2 -884.1 -884 
+  Bin 116: -884 -883.9 -883.8 -883.7 -883.6 -883.5 -883.4 -883.3 -883.2 -883.1 -883 
+  Bin 117: -883 -882.9 -882.8 -882.7 -882.6 -882.5 -882.4 -882.3 -882.2 -882.1 -882 
+  Bin 118: -882 -881.9 -881.8 -881.7 -881.6 -881.5 -881.4 -881.3 -881.2 -881.1 -881 
+  Bin 119: -881 -880.9 -880.8 -880.7 -880.6 -880.5 -880.4 -880.3 -880.2 -880.1 -880 
+  Bin 120: -880 -879.9 -879.8 -879.7 -879.6 -879.5 -879.4 -879.3 -879.2 -879.1 -879 
+  Bin 121: -879 -878.9 -878.8 -878.7 -878.6 -878.5 -878.4 -878.3 -878.2 -878.1 -878 
+  Bin 122: -878 -877.9 -877.8 -877.7 -877.6 -877.5 -877.4 -877.3 -877.2 -877.1 -877 
+  Bin 123: -877 -876.9 -876.8 -876.7 -876.6 -876.5 -876.4 -876.3 -876.2 -876.1 -876 
+  Bin 124: -876 -875.9 -875.8 -875.7 -875.6 -875.5 -875.4 -875.3 -875.2 -875.1 -875 
+  Bin 125: -875 -874.9 -874.8 -874.7 -874.6 -874.5 -874.4 -874.3 -874.2 -874.1 -874 
+  Bin 126: -874 -873.9 -873.8 -873.7 -873.6 -873.5 -873.4 -873.3 -873.2 -873.1 -873 
+  Bin 127: -873 -872.9 -872.8 -872.7 -872.6 -872.5 -872.4 -872.3 -872.2 -872.1 -872 
+  Bin 128: -872 -871.9 -871.8 -871.7 -871.6 -871.5 -871.4 -871.3 -871.2 -871.1 -871 
+  Bin 129: -871 -870.9 -870.8 -870.7 -870.6 -870.5 -870.4 -870.3 -870.2 -870.1 -870 
+  Bin 130: -870 -869.9 -869.8 -869.7 -869.6 -869.5 -869.4 -869.3 -869.2 -869.1 -869 
+  Bin 131: -869 -868.9 -868.8 -868.7 -868.6 -868.5 -868.4 -868.3 -868.2 -868.1 -868 
+  Bin 132: -868 -867.9 -867.8 -867.7 -867.6 -867.5 -867.4 -867.3 -867.2 -867.1 -867 
+  Bin 133: -867 -866.9 -866.8 -866.7 -866.6 -866.5 -866.4 -866.3 -866.2 -866.1 -866 
+  Bin 134: -866 -865.9 -865.8 -865.7 -865.6 -865.5 -865.4 -865.3 -865.2 -865.1 -865 
+  Bin 135: -865 -864.9 -864.8 -864.7 -864.6 -864.5 -864.4 -864.3 -864.2 -864.1 -864 
+  Bin 136: -864 -863.9 -863.8 -863.7 -863.6 -863.5 -863.4 -863.3 -863.2 -863.1 -863 
+  Bin 137: -863 -862.9 -862.8 -862.7 -862.6 -862.5 -862.4 -862.3 -862.2 -862.1 -862 
+  Bin 138: -862 -861.9 -861.8 -861.7 -861.6 -861.5 -861.4 -861.3 -861.2 -861.1 -861 
+  Bin 139: -861 -860.9 -860.8 -860.7 -860.6 -860.5 -860.4 -860.3 -860.2 -860.1 -860 
+  Bin 140: -860 -859.9 -859.8 -859.7 -859.6 -859.5 -859.4 -859.3 -859.2 -859.1 -859 
+  Bin 141: -859 -858.9 -858.8 -858.7 -858.6 -858.5 -858.4 -858.3 -858.2 -858.1 -858 
+  Bin 142: -858 -857.9 -857.8 -857.7 -857.6 -857.5 -857.4 -857.3 -857.2 -857.1 -857 
+  Bin 143: -857 -856.9 -856.8 -856.7 -856.6 -856.5 -856.4 -856.3 -856.2 -856.1 -856 
+  Bin 144: -856 -855.9 -855.8 -855.7 -855.6 -855.5 -855.4 -855.3 -855.2 -855.1 -855 
+  Bin 145: -855 -854.9 -854.8 -854.7 -854.6 -854.5 -854.4 -854.3 -854.2 -854.1 -854 
+  Bin 146: -854 -853.9 -853.8 -853.7 -853.6 -853.5 -853.4 -853.3 -853.2 -853.1 -853 
+  Bin 147: -853 -852.9 -852.8 -852.7 -852.6 -852.5 -852.4 -852.3 -852.2 -852.1 -852 
+  Bin 148: -852 -851.9 -851.8 -851.7 -851.6 -851.5 -851.4 -851.3 -851.2 -851.1 -851 
+  Bin 149: -851 -850.9 -850.8 -850.7 -850.6 -850.5 -850.4 -850.3 -850.2 -850.1 -850 
+  Bin 150: -850 -849.9 -849.8 -849.7 -849.6 -849.5 -849.4 -849.3 -849.2 -849.1 -849 
+  Bin 151: -849 -848.9 -848.8 -848.7 -848.6 -848.5 -848.4 -848.3 -848.2 -848.1 -848 
+  Bin 152: -848 -847.9 -847.8 -847.7 -847.6 -847.5 -847.4 -847.3 -847.2 -847.1 -847 
+  Bin 153: -847 -846.9 -846.8 -846.7 -846.6 -846.5 -846.4 -846.3 -846.2 -846.1 -846 
+  Bin 154: -846 -845.9 -845.8 -845.7 -845.6 -845.5 -845.4 -845.3 -845.2 -845.1 -845 
+  Bin 155: -845 -844.9 -844.8 -844.7 -844.6 -844.5 -844.4 -844.3 -844.2 -844.1 -844 
+  Bin 156: -844 -843.9 -843.8 -843.7 -843.6 -843.5 -843.4 -843.3 -843.2 -843.1 -843 
+  Bin 157: -843 -842.9 -842.8 -842.7 -842.6 -842.5 -842.4 -842.3 -842.2 -842.1 -842 
+  Bin 158: -842 -841.9 -841.8 -841.7 -841.6 -841.5 -841.4 -841.3 -841.2 -841.1 -841 
+  Bin 159: -841 -840.9 -840.8 -840.7 -840.6 -840.5 -840.4 -840.3 -840.2 -840.1 -840 
+  Bin 160: -840 -839.9 -839.8 -839.7 -839.6 -839.5 -839.4 -839.3 -839.2 -839.1 -839 
+  Bin 161: -839 -838.9 -838.8 -838.7 -838.6 -838.5 -838.4 -838.3 -838.2 -838.1 -838 
+  Bin 162: -838 -837.9 -837.8 -837.7 -837.6 -837.5 -837.4 -837.3 -837.2 -837.1 -837 
+  Bin 163: -837 -836.9 -836.8 -836.7 -836.6 -836.5 -836.4 -836.3 -836.2 -836.1 -836 
+  Bin 164: -836 -835.9 -835.8 -835.7 -835.6 -835.5 -835.4 -835.3 -835.2 -835.1 -835 
+  Bin 165: -835 -834.9 -834.8 -834.7 -834.6 -834.5 -834.4 -834.3 -834.2 -834.1 -834 
+  Bin 166: -834 -833.9 -833.8 -833.7 -833.6 -833.5 -833.4 -833.3 -833.2 -833.1 -833 
+  Bin 167: -833 -832.9 -832.8 -832.7 -832.6 -832.5 -832.4 -832.3 -832.2 -832.1 -832 
+  Bin 168: -832 -831.9 -831.8 -831.7 -831.6 -831.5 -831.4 -831.3 -831.2 -831.1 -831 
+  Bin 169: -831 -830.9 -830.8 -830.7 -830.6 -830.5 -830.4 -830.3 -830.2 -830.1 -830 
+  Bin 170: -830 -829.9 -829.8 -829.7 -829.6 -829.5 -829.4 -829.3 -829.2 -829.1 -829 
+  Bin 171: -829 -828.9 -828.8 -828.7 -828.6 -828.5 -828.4 -828.3 -828.2 -828.1 -828 
+  Bin 172: -828 -827.9 -827.8 -827.7 -827.6 -827.5 -827.4 -827.3 -827.2 -827.1 -827 
+  Bin 173: -827 -826.9 -826.8 -826.7 -826.6 -826.5 -826.4 -826.3 -826.2 -826.1 -826 
+  Bin 174: -826 -825.9 -825.8 -825.7 -825.6 -825.5 -825.4 -825.3 -825.2 -825.1 -825 
+  Bin 175: -825 -824.9 -824.8 -824.7 -824.6 -824.5 -824.4 -824.3 -824.2 -824.1 -824 
+  Bin 176: -824 -823.9 -823.8 -823.7 -823.6 -823.5 -823.4 -823.3 -823.2 -823.1 -823 
+  Bin 177: -823 -822.9 -822.8 -822.7 -822.6 -822.5 -822.4 -822.3 -822.2 -822.1 -822 
+  Bin 178: -822 -821.9 -821.8 -821.7 -821.6 -821.5 -821.4 -821.3 -821.2 -821.1 -821 
+  Bin 179: -821 -820.9 -820.8 -820.7 -820.6 -820.5 -820.4 -820.3 -820.2 -820.1 -820 
+  Bin 180: -820 -819.9 -819.8 -819.7 -819.6 -819.5 -819.4 -819.3 -819.2 -819.1 -819 
+  Bin 181: -819 -818.9 -818.8 -818.7 -818.6 -818.5 -818.4 -818.3 -818.2 -818.1 -818 
+  Bin 182: -818 -817.9 -817.8 -817.7 -817.6 -817.5 -817.4 -817.3 -817.2 -817.1 -817 
+  Bin 183: -817 -816.9 -816.8 -816.7 -816.6 -816.5 -816.4 -816.3 -816.2 -816.1 -816 
+  Bin 184: -816 -815.9 -815.8 -815.7 -815.6 -815.5 -815.4 -815.3 -815.2 -815.1 -815 
+  Bin 185: -815 -814.9 -814.8 -814.7 -814.6 -814.5 -814.4 -814.3 -814.2 -814.1 -814 
+  Bin 186: -814 -813.9 -813.8 -813.7 -813.6 -813.5 -813.4 -813.3 -813.2 -813.1 -813 
+  Bin 187: -813 -812.9 -812.8 -812.7 -812.6 -812.5 -812.4 -812.3 -812.2 -812.1 -812 
+  Bin 188: -812 -811.9 -811.8 -811.7 -811.6 -811.5 -811.4 -811.3 -811.2 -811.1 -811 
+  Bin 189: -811 -810.9 -810.8 -810.7 -810.6 -810.5 -810.4 -810.3 -810.2 -810.1 -810 
+  Bin 190: -810 -809.9 -809.8 -809.7 -809.6 -809.5 -809.4 -809.3 -809.2 -809.1 -809 
+  Bin 191: -809 -808.9 -808.8 -808.7 -808.6 -808.5 -808.4 -808.3 -808.2 -808.1 -808 
+  Bin 192: -808 -807.9 -807.8 -807.7 -807.6 -807.5 -807.4 -807.3 -807.2 -807.1 -807 
+  Bin 193: -807 -806.9 -806.8 -806.7 -806.6 -806.5 -806.4 -806.3 -806.2 -806.1 -806 
+  Bin 194: -806 -805.9 -805.8 -805.7 -805.6 -805.5 -805.4 -805.3 -805.2 -805.1 -805 
+  Bin 195: -805 -804.9 -804.8 -804.7 -804.6 -804.5 -804.4 -804.3 -804.2 -804.1 -804 
+  Bin 196: -804 -803.9 -803.8 -803.7 -803.6 -803.5 -803.4 -803.3 -803.2 -803.1 -803 
+  Bin 197: -803 -802.9 -802.8 -802.7 -802.6 -802.5 -802.4 -802.3 -802.2 -802.1 -802 
+  Bin 198: -802 -801.9 -801.8 -801.7 -801.6 -801.5 -801.4 -801.3 -801.2 -801.1 -801 
+  Bin 199: -801 -800.9 -800.8 -800.7 -800.6 -800.5 -800.4 -800.3 -800.2 -800.1 -800 
+  Bin 200: -800 -799.9 -799.8 -799.7 -799.6 -799.5 -799.4 -799.3 -799.2 -799.1 -799 
+  Bin 201: -799 -798.9 -798.8 -798.7 -798.6 -798.5 -798.4 -798.3 -798.2 -798.1 -798 
+  Bin 202: -798 -797.9 -797.8 -797.7 -797.6 -797.5 -797.4 -797.3 -797.2 -797.1 -797 
+  Bin 203: -797 -796.9 -796.8 -796.7 -796.6 -796.5 -796.4 -796.3 -796.2 -796.1 -796 
+  Bin 204: -796 -795.9 -795.8 -795.7 -795.6 -795.5 -795.4 -795.3 -795.2 -795.1 -795 
+  Bin 205: -795 -794.9 -794.8 -794.7 -794.6 -794.5 -794.4 -794.3 -794.2 -794.1 -794 
+  Bin 206: -794 -793.9 -793.8 -793.7 -793.6 -793.5 -793.4 -793.3 -793.2 -793.1 -793 
+  Bin 207: -793 -792.9 -792.8 -792.7 -792.6 -792.5 -792.4 -792.3 -792.2 -792.1 -792 
+  Bin 208: -792 -791.9 -791.8 -791.7 -791.6 -791.5 -791.4 -791.3 -791.2 -791.1 -791 
+  Bin 209: -791 -790.9 -790.8 -790.7 -790.6 -790.5 -790.4 -790.3 -790.2 -790.1 -790 
+  Bin 210: -790 -789.9 -789.8 -789.7 -789.6 -789.5 -789.4 -789.3 -789.2 -789.1 -789 
+  Bin 211: -789 -788.9 -788.8 -788.7 -788.6 -788.5 -788.4 -788.3 -788.2 -788.1 -788 
+  Bin 212: -788 -787.9 -787.8 -787.7 -787.6 -787.5 -787.4 -787.3 -787.2 -787.1 -787 
+  Bin 213: -787 -786.9 -786.8 -786.7 -786.6 -786.5 -786.4 -786.3 -786.2 -786.1 -786 
+  Bin 214: -786 -785.9 -785.8 -785.7 -785.6 -785.5 -785.4 -785.3 -785.2 -785.1 -785 
+  Bin 215: -785 -784.9 -784.8 -784.7 -784.6 -784.5 -784.4 -784.3 -784.2 -784.1 -784 
+  Bin 216: -784 -783.9 -783.8 -783.7 -783.6 -783.5 -783.4 -783.3 -783.2 -783.1 -783 
+  Bin 217: -783 -782.9 -782.8 -782.7 -782.6 -782.5 -782.4 -782.3 -782.2 -782.1 -782 
+  Bin 218: -782 -781.9 -781.8 -781.7 -781.6 -781.5 -781.4 -781.3 -781.2 -781.1 -781 
+  Bin 219: -781 -780.9 -780.8 -780.7 -780.6 -780.5 -780.4 -780.3 -780.2 -780.1 -780 
+  Bin 220: -780 -779.9 -779.8 -779.7 -779.6 -779.5 -779.4 -779.3 -779.2 -779.1 -779 
+  Bin 221: -779 -778.9 -778.8 -778.7 -778.6 -778.5 -778.4 -778.3 -778.2 -778.1 -778 
+  Bin 222: -778 -777.9 -777.8 -777.7 -777.6 -777.5 -777.4 -777.3 -777.2 -777.1 -777 
+  Bin 223: -777 -776.9 -776.8 -776.7 -776.6 -776.5 -776.4 -776.3 -776.2 -776.1 -776 
+  Bin 224: -776 -775.9 -775.8 -775.7 -775.6 -775.5 -775.4 -775.3 -775.2 -775.1 -775 
+  Bin 225: -775 -774.9 -774.8 -774.7 -774.6 -774.5 -774.4 -774.3 -774.2 -774.1 -774 
+  Bin 226: -774 -773.9 -773.8 -773.7 -773.6 -773.5 -773.4 -773.3 -773.2 -773.1 -773 
+  Bin 227: -773 -772.9 -772.8 -772.7 -772.6 -772.5 -772.4 -772.3 -772.2 -772.1 -772 
+  Bin 228: -772 -771.9 -771.8 -771.7 -771.6 -771.5 -771.4 -771.3 -771.2 -771.1 -771 
+  Bin 229: -771 -770.9 -770.8 -770.7 -770.6 -770.5 -770.4 -770.3 -770.2 -770.1 -770 
+  Bin 230: -770 -769.9 -769.8 -769.7 -769.6 -769.5 -769.4 -769.3 -769.2 -769.1 -769 
+  Bin 231: -769 -768.9 -768.8 -768.7 -768.6 -768.5 -768.4 -768.3 -768.2 -768.1 -768 
+  Bin 232: -768 -767.9 -767.8 -767.7 -767.6 -767.5 -767.4 -767.3 -767.2 -767.1 -767 
+  Bin 233: -767 -766.9 -766.8 -766.7 -766.6 -766.5 -766.4 -766.3 -766.2 -766.1 -766 
+  Bin 234: -766 -765.9 -765.8 -765.7 -765.6 -765.5 -765.4 -765.3 -765.2 -765.1 -765 
+  Bin 235: -765 -764.9 -764.8 -764.7 -764.6 -764.5 -764.4 -764.3 -764.2 -764.1 -764 
+  Bin 236: -764 -763.9 -763.8 -763.7 -763.6 -763.5 -763.4 -763.3 -763.2 -763.1 -763 
+  Bin 237: -763 -762.9 -762.8 -762.7 -762.6 -762.5 -762.4 -762.3 -762.2 -762.1 -762 
+  Bin 238: -762 -761.9 -761.8 -761.7 -761.6 -761.5 -761.4 -761.3 -761.2 -761.1 -761 
+  Bin 239: -761 -760.9 -760.8 -760.7 -760.6 -760.5 -760.4 -760.3 -760.2 -760.1 -760 
+  Bin 240: -760 -759.9 -759.8 -759.7 -759.6 -759.5 -759.4 -759.3 -759.2 -759.1 -759 
+  Bin 241: -759 -758.9 -758.8 -758.7 -758.6 -758.5 -758.4 -758.3 -758.2 -758.1 -758 
+  Bin 242: -758 -757.9 -757.8 -757.7 -757.6 -757.5 -757.4 -757.3 -757.2 -757.1 -757 
+  Bin 243: -757 -756.9 -756.8 -756.7 -756.6 -756.5 -756.4 -756.3 -756.2 -756.1 -756 
+  Bin 244: -756 -755.9 -755.8 -755.7 -755.6 -755.5 -755.4 -755.3 -755.2 -755.1 -755 
+  Bin 245: -755 -754.9 -754.8 -754.7 -754.6 -754.5 -754.4 -754.3 -754.2 -754.1 -754 
+  Bin 246: -754 -753.9 -753.8 -753.7 -753.6 -753.5 -753.4 -753.3 -753.2 -753.1 -753 
+  Bin 247: -753 -752.9 -752.8 -752.7 -752.6 -752.5 -752.4 -752.3 -752.2 -752.1 -752 
+  Bin 248: -752 -751.9 -751.8 -751.7 -751.6 -751.5 -751.4 -751.3 -751.2 -751.1 -751 
+  Bin 249: -751 -750.9 -750.8 -750.7 -750.6 -750.5 -750.4 -750.3 -750.2 -750.1 -750 
+  Bin 250: -750 -749.9 -749.8 -749.7 -749.6 -749.5 -749.4 -749.3 -749.2 -749.1 -749 
+  Bin 251: -749 -748.9 -748.8 -748.7 -748.6 -748.5 -748.4 -748.3 -748.2 -748.1 -748 
+  Bin 252: -748 -747.9 -747.8 -747.7 -747.6 -747.5 -747.4 -747.3 -747.2 -747.1 -747 
+  Bin 253: -747 -746.9 -746.8 -746.7 -746.6 -746.5 -746.4 -746.3 -746.2 -746.1 -746 
+  Bin 254: -746 -745.9 -745.8 -745.7 -745.6 -745.5 -745.4 -745.3 -745.2 -745.1 -745 
+  Bin 255: -745 -744.9 -744.8 -744.7 -744.6 -744.5 -744.4 -744.3 -744.2 -744.1 -744 
+  Bin 256: -744 -743.9 -743.8 -743.7 -743.6 -743.5 -743.4 -743.3 -743.2 -743.1 -743 
+  Bin 257: -743 -742.9 -742.8 -742.7 -742.6 -742.5 -742.4 -742.3 -742.2 -742.1 -742 
+  Bin 258: -742 -741.9 -741.8 -741.7 -741.6 -741.5 -741.4 -741.3 -741.2 -741.1 -741 
+  Bin 259: -741 -740.9 -740.8 -740.7 -740.6 -740.5 -740.4 -740.3 -740.2 -740.1 -740 
+  Bin 260: -740 -739.9 -739.8 -739.7 -739.6 -739.5 -739.4 -739.3 -739.2 -739.1 -739 
+  Bin 261: -739 -738.9 -738.8 -738.7 -738.6 -738.5 -738.4 -738.3 -738.2 -738.1 -738 
+  Bin 262: -738 -737.9 -737.8 -737.7 -737.6 -737.5 -737.4 -737.3 -737.2 -737.1 -737 
+  Bin 263: -737 -736.9 -736.8 -736.7 -736.6 -736.5 -736.4 -736.3 -736.2 -736.1 -736 
+  Bin 264: -736 -735.9 -735.8 -735.7 -735.6 -735.5 -735.4 -735.3 -735.2 -735.1 -735 
+  Bin 265: -735 -734.9 -734.8 -734.7 -734.6 -734.5 -734.4 -734.3 -734.2 -734.1 -734 
+  Bin 266: -734 -733.9 -733.8 -733.7 -733.6 -733.5 -733.4 -733.3 -733.2 -733.1 -733 
+  Bin 267: -733 -732.9 -732.8 -732.7 -732.6 -732.5 -732.4 -732.3 -732.2 -732.1 -732 
+  Bin 268: -732 -731.9 -731.8 -731.7 -731.6 -731.5 -731.4 -731.3 -731.2 -731.1 -731 
+  Bin 269: -731 -730.9 -730.8 -730.7 -730.6 -730.5 -730.4 -730.3 -730.2 -730.1 -730 
+  Bin 270: -730 -729.9 -729.8 -729.7 -729.6 -729.5 -729.4 -729.3 -729.2 -729.1 -729 
+  Bin 271: -729 -728.9 -728.8 -728.7 -728.6 -728.5 -728.4 -728.3 -728.2 -728.1 -728 
+  Bin 272: -728 -727.9 -727.8 -727.7 -727.6 -727.5 -727.4 -727.3 -727.2 -727.1 -727 
+  Bin 273: -727 -726.9 -726.8 -726.7 -726.6 -726.5 -726.4 -726.3 -726.2 -726.1 -726 
+  Bin 274: -726 -725.9 -725.8 -725.7 -725.6 -725.5 -725.4 -725.3 -725.2 -725.1 -725 
+  Bin 275: -725 -724.9 -724.8 -724.7 -724.6 -724.5 -724.4 -724.3 -724.2 -724.1 -724 
+  Bin 276: -724 -723.9 -723.8 -723.7 -723.6 -723.5 -723.4 -723.3 -723.2 -723.1 -723 
+  Bin 277: -723 -722.9 -722.8 -722.7 -722.6 -722.5 -722.4 -722.3 -722.2 -722.1 -722 
+  Bin 278: -722 -721.9 -721.8 -721.7 -721.6 -721.5 -721.4 -721.3 -721.2 -721.1 -721 
+  Bin 279: -721 -720.9 -720.8 -720.7 -720.6 -720.5 -720.4 -720.3 -720.2 -720.1 -720 
+  Bin 280: -720 -719.9 -719.8 -719.7 -719.6 -719.5 -719.4 -719.3 -719.2 -719.1 -719 
+  Bin 281: -719 -718.9 -718.8 -718.7 -718.6 -718.5 -718.4 -718.3 -718.2 -718.1 -718 
+  Bin 282: -718 -717.9 -717.8 -717.7 -717.6 -717.5 -717.4 -717.3 -717.2 -717.1 -717 
+  Bin 283: -717 -716.9 -716.8 -716.7 -716.6 -716.5 -716.4 -716.3 -716.2 -716.1 -716 
+  Bin 284: -716 -715.9 -715.8 -715.7 -715.6 -715.5 -715.4 -715.3 -715.2 -715.1 -715 
+  Bin 285: -715 -714.9 -714.8 -714.7 -714.6 -714.5 -714.4 -714.3 -714.2 -714.1 -714 
+  Bin 286: -714 -713.9 -713.8 -713.7 -713.6 -713.5 -713.4 -713.3 -713.2 -713.1 -713 
+  Bin 287: -713 -712.9 -712.8 -712.7 -712.6 -712.5 -712.4 -712.3 -712.2 -712.1 -712 
+  Bin 288: -712 -711.9 -711.8 -711.7 -711.6 -711.5 -711.4 -711.3 -711.2 -711.1 -711 
+  Bin 289: -711 -710.9 -710.8 -710.7 -710.6 -710.5 -710.4 -710.3 -710.2 -710.1 -710 
+  Bin 290: -710 -709.9 -709.8 -709.7 -709.6 -709.5 -709.4 -709.3 -709.2 -709.1 -709 
+  Bin 291: -709 -708.9 -708.8 -708.7 -708.6 -708.5 -708.4 -708.3 -708.2 -708.1 -708 
+  Bin 292: -708 -707.9 -707.8 -707.7 -707.6 -707.5 -707.4 -707.3 -707.2 -707.1 -707 
+  Bin 293: -707 -706.9 -706.8 -706.7 -706.6 -706.5 -706.4 -706.3 -706.2 -706.1 -706 
+  Bin 294: -706 -705.9 -705.8 -705.7 -705.6 -705.5 -705.4 -705.3 -705.2 -705.1 -705 
+  Bin 295: -705 -704.9 -704.8 -704.7 -704.6 -704.5 -704.4 -704.3 -704.2 -704.1 -704 
+  Bin 296: -704 -703.9 -703.8 -703.7 -703.6 -703.5 -703.4 -703.3 -703.2 -703.1 -703 
+  Bin 297: -703 -702.9 -702.8 -702.7 -702.6 -702.5 -702.4 -702.3 -702.2 -702.1 -702 
+  Bin 298: -702 -701.9 -701.8 -701.7 -701.6 -701.5 -701.4 -701.3 -701.2 -701.1 -701 
+  Bin 299: -701 -700.9 -700.8 -700.7 -700.6 -700.5 -700.4 -700.3 -700.2 -700.1 -700 
+  Bin 300: -700 -699.9 -699.8 -699.7 -699.6 -699.5 -699.4 -699.3 -699.2 -699.1 -699 
+  Bin 301: -699 -698.9 -698.8 -698.7 -698.6 -698.5 -698.4 -698.3 -698.2 -698.1 -698 
+  Bin 302: -698 -697.9 -697.8 -697.7 -697.6 -697.5 -697.4 -697.3 -697.2 -697.1 -697 
+  Bin 303: -697 -696.9 -696.8 -696.7 -696.6 -696.5 -696.4 -696.3 -696.2 -696.1 -696 
+  Bin 304: -696 -695.9 -695.8 -695.7 -695.6 -695.5 -695.4 -695.3 -695.2 -695.1 -695 
+  Bin 305: -695 -694.9 -694.8 -694.7 -694.6 -694.5 -694.4 -694.3 -694.2 -694.1 -694 
+  Bin 306: -694 -693.9 -693.8 -693.7 -693.6 -693.5 -693.4 -693.3 -693.2 -693.1 -693 
+  Bin 307: -693 -692.9 -692.8 -692.7 -692.6 -692.5 -692.4 -692.3 -692.2 -692.1 -692 
+  Bin 308: -692 -691.9 -691.8 -691.7 -691.6 -691.5 -691.4 -691.3 -691.2 -691.1 -691 
+  Bin 309: -691 -690.9 -690.8 -690.7 -690.6 -690.5 -690.4 -690.3 -690.2 -690.1 -690 
+  Bin 310: -690 -689.9 -689.8 -689.7 -689.6 -689.5 -689.4 -689.3 -689.2 -689.1 -689 
+  Bin 311: -689 -688.9 -688.8 -688.7 -688.6 -688.5 -688.4 -688.3 -688.2 -688.1 -688 
+  Bin 312: -688 -687.9 -687.8 -687.7 -687.6 -687.5 -687.4 -687.3 -687.2 -687.1 -687 
+  Bin 313: -687 -686.9 -686.8 -686.7 -686.6 -686.5 -686.4 -686.3 -686.2 -686.1 -686 
+  Bin 314: -686 -685.9 -685.8 -685.7 -685.6 -685.5 -685.4 -685.3 -685.2 -685.1 -685 
+  Bin 315: -685 -684.9 -684.8 -684.7 -684.6 -684.5 -684.4 -684.3 -684.2 -684.1 -684 
+  Bin 316: -684 -683.9 -683.8 -683.7 -683.6 -683.5 -683.4 -683.3 -683.2 -683.1 -683 
+  Bin 317: -683 -682.9 -682.8 -682.7 -682.6 -682.5 -682.4 -682.3 -682.2 -682.1 -682 
+  Bin 318: -682 -681.9 -681.8 -681.7 -681.6 -681.5 -681.4 -681.3 -681.2 -681.1 -681 
+  Bin 319: -681 -680.9 -680.8 -680.7 -680.6 -680.5 -680.4 -680.3 -680.2 -680.1 -680 
+  Bin 320: -680 -679.9 -679.8 -679.7 -679.6 -679.5 -679.4 -679.3 -679.2 -679.1 -679 
+  Bin 321: -679 -678.9 -678.8 -678.7 -678.6 -678.5 -678.4 -678.3 -678.2 -678.1 -678 
+  Bin 322: -678 -677.9 -677.8 -677.7 -677.6 -677.5 -677.4 -677.3 -677.2 -677.1 -677 
+  Bin 323: -677 -676.9 -676.8 -676.7 -676.6 -676.5 -676.4 -676.3 -676.2 -676.1 -676 
+  Bin 324: -676 -675.9 -675.8 -675.7 -675.6 -675.5 -675.4 -675.3 -675.2 -675.1 -675 
+  Bin 325: -675 -674.9 -674.8 -674.7 -674.6 -674.5 -674.4 -674.3 -674.2 -674.1 -674 
+  Bin 326: -674 -673.9 -673.8 -673.7 -673.6 -673.5 -673.4 -673.3 -673.2 -673.1 -673 
+  Bin 327: -673 -672.9 -672.8 -672.7 -672.6 -672.5 -672.4 -672.3 -672.2 -672.1 -672 
+  Bin 328: -672 -671.9 -671.8 -671.7 -671.6 -671.5 -671.4 -671.3 -671.2 -671.1 -671 
+  Bin 329: -671 -670.9 -670.8 -670.7 -670.6 -670.5 -670.4 -670.3 -670.2 -670.1 -670 
+  Bin 330: -670 -669.9 -669.8 -669.7 -669.6 -669.5 -669.4 -669.3 -669.2 -669.1 -669 
+  Bin 331: -669 -668.9 -668.8 -668.7 -668.6 -668.5 -668.4 -668.3 -668.2 -668.1 -668 
+  Bin 332: -668 -667.9 -667.8 -667.7 -667.6 -667.5 -667.4 -667.3 -667.2 -667.1 -667 
+  Bin 333: -667 -666.9 -666.8 -666.7 -666.6 -666.5 -666.4 -666.3 -666.2 -666.1 -666 
+  Bin 334: -666 -665.9 -665.8 -665.7 -665.6 -665.5 -665.4 -665.3 -665.2 -665.1 -665 
+  Bin 335: -665 -664.9 -664.8 -664.7 -664.6 -664.5 -664.4 -664.3 -664.2 -664.1 -664 
+  Bin 336: -664 -663.9 -663.8 -663.7 -663.6 -663.5 -663.4 -663.3 -663.2 -663.1 -663 
+  Bin 337: -663 -662.9 -662.8 -662.7 -662.6 -662.5 -662.4 -662.3 -662.2 -662.1 -662 
+  Bin 338: -662 -661.9 -661.8 -661.7 -661.6 -661.5 -661.4 -661.3 -661.2 -661.1 -661 
+  Bin 339: -661 -660.9 -660.8 -660.7 -660.6 -660.5 -660.4 -660.3 -660.2 -660.1 -660 
+  Bin 340: -660 -659.9 -659.8 -659.7 -659.6 -659.5 -659.4 -659.3 -659.2 -659.1 -659 
+  Bin 341: -659 -658.9 -658.8 -658.7 -658.6 -658.5 -658.4 -658.3 -658.2 -658.1 -658 
+  Bin 342: -658 -657.9 -657.8 -657.7 -657.6 -657.5 -657.4 -657.3 -657.2 -657.1 -657 
+  Bin 343: -657 -656.9 -656.8 -656.7 -656.6 -656.5 -656.4 -656.3 -656.2 -656.1 -656 
+  Bin 344: -656 -655.9 -655.8 -655.7 -655.6 -655.5 -655.4 -655.3 -655.2 -655.1 -655 
+  Bin 345: -655 -654.9 -654.8 -654.7 -654.6 -654.5 -654.4 -654.3 -654.2 -654.1 -654 
+  Bin 346: -654 -653.9 -653.8 -653.7 -653.6 -653.5 -653.4 -653.3 -653.2 -653.1 -653 
+  Bin 347: -653 -652.9 -652.8 -652.7 -652.6 -652.5 -652.4 -652.3 -652.2 -652.1 -652 
+  Bin 348: -652 -651.9 -651.8 -651.7 -651.6 -651.5 -651.4 -651.3 -651.2 -651.1 -651 
+  Bin 349: -651 -650.9 -650.8 -650.7 -650.6 -650.5 -650.4 -650.3 -650.2 -650.1 -650 
+  Bin 350: -650 -649.9 -649.8 -649.7 -649.6 -649.5 -649.4 -649.3 -649.2 -649.1 -649 
+  Bin 351: -649 -648.9 -648.8 -648.7 -648.6 -648.5 -648.4 -648.3 -648.2 -648.1 -648 
+  Bin 352: -648 -647.9 -647.8 -647.7 -647.6 -647.5 -647.4 -647.3 -647.2 -647.1 -647 
+  Bin 353: -647 -646.9 -646.8 -646.7 -646.6 -646.5 -646.4 -646.3 -646.2 -646.1 -646 
+  Bin 354: -646 -645.9 -645.8 -645.7 -645.6 -645.5 -645.4 -645.3 -645.2 -645.1 -645 
+  Bin 355: -645 -644.9 -644.8 -644.7 -644.6 -644.5 -644.4 -644.3 -644.2 -644.1 -644 
+  Bin 356: -644 -643.9 -643.8 -643.7 -643.6 -643.5 -643.4 -643.3 -643.2 -643.1 -643 
+  Bin 357: -643 -642.9 -642.8 -642.7 -642.6 -642.5 -642.4 -642.3 -642.2 -642.1 -642 
+  Bin 358: -642 -641.9 -641.8 -641.7 -641.6 -641.5 -641.4 -641.3 -641.2 -641.1 -641 
+  Bin 359: -641 -640.9 -640.8 -640.7 -640.6 -640.5 -640.4 -640.3 -640.2 -640.1 -640 
+  Bin 360: -640 -639.9 -639.8 -639.7 -639.6 -639.5 -639.4 -639.3 -639.2 -639.1 -639 
+  Bin 361: -639 -638.9 -638.8 -638.7 -638.6 -638.5 -638.4 -638.3 -638.2 -638.1 -638 
+  Bin 362: -638 -637.9 -637.8 -637.7 -637.6 -637.5 -637.4 -637.3 -637.2 -637.1 -637 
+  Bin 363: -637 -636.9 -636.8 -636.7 -636.6 -636.5 -636.4 -636.3 -636.2 -636.1 -636 
+  Bin 364: -636 -635.9 -635.8 -635.7 -635.6 -635.5 -635.4 -635.3 -635.2 -635.1 -635 
+  Bin 365: -635 -634.9 -634.8 -634.7 -634.6 -634.5 -634.4 -634.3 -634.2 -634.1 -634 
+  Bin 366: -634 -633.9 -633.8 -633.7 -633.6 -633.5 -633.4 -633.3 -633.2 -633.1 -633 
+  Bin 367: -633 -632.9 -632.8 -632.7 -632.6 -632.5 -632.4 -632.3 -632.2 -632.1 -632 
+  Bin 368: -632 -631.9 -631.8 -631.7 -631.6 -631.5 -631.4 -631.3 -631.2 -631.1 -631 
+  Bin 369: -631 -630.9 -630.8 -630.7 -630.6 -630.5 -630.4 -630.3 -630.2 -630.1 -630 
+  Bin 370: -630 -629.9 -629.8 -629.7 -629.6 -629.5 -629.4 -629.3 -629.2 -629.1 -629 
+  Bin 371: -629 -628.9 -628.8 -628.7 -628.6 -628.5 -628.4 -628.3 -628.2 -628.1 -628 
+  Bin 372: -628 -627.9 -627.8 -627.7 -627.6 -627.5 -627.4 -627.3 -627.2 -627.1 -627 
+  Bin 373: -627 -626.9 -626.8 -626.7 -626.6 -626.5 -626.4 -626.3 -626.2 -626.1 -626 
+  Bin 374: -626 -625.9 -625.8 -625.7 -625.6 -625.5 -625.4 -625.3 -625.2 -625.1 -625 
+  Bin 375: -625 -624.9 -624.8 -624.7 -624.6 -624.5 -624.4 -624.3 -624.2 -624.1 -624 
+  Bin 376: -624 -623.9 -623.8 -623.7 -623.6 -623.5 -623.4 -623.3 -623.2 -623.1 -623 
+  Bin 377: -623 -622.9 -622.8 -622.7 -622.6 -622.5 -622.4 -622.3 -622.2 -622.1 -622 
+  Bin 378: -622 -621.9 -621.8 -621.7 -621.6 -621.5 -621.4 -621.3 -621.2 -621.1 -621 
+  Bin 379: -621 -620.9 -620.8 -620.7 -620.6 -620.5 -620.4 -620.3 -620.2 -620.1 -620 
+  Bin 380: -620 -619.9 -619.8 -619.7 -619.6 -619.5 -619.4 -619.3 -619.2 -619.1 -619 
+  Bin 381: -619 -618.9 -618.8 -618.7 -618.6 -618.5 -618.4 -618.3 -618.2 -618.1 -618 
+  Bin 382: -618 -617.9 -617.8 -617.7 -617.6 -617.5 -617.4 -617.3 -617.2 -617.1 -617 
+  Bin 383: -617 -616.9 -616.8 -616.7 -616.6 -616.5 -616.4 -616.3 -616.2 -616.1 -616 
+  Bin 384: -616 -615.9 -615.8 -615.7 -615.6 -615.5 -615.4 -615.3 -615.2 -615.1 -615 
+  Bin 385: -615 -614.9 -614.8 -614.7 -614.6 -614.5 -614.4 -614.3 -614.2 -614.1 -614 
+  Bin 386: -614 -613.9 -613.8 -613.7 -613.6 -613.5 -613.4 -613.3 -613.2 -613.1 -613 
+  Bin 387: -613 -612.9 -612.8 -612.7 -612.6 -612.5 -612.4 -612.3 -612.2 -612.1 -612 
+  Bin 388: -612 -611.9 -611.8 -611.7 -611.6 -611.5 -611.4 -611.3 -611.2 -611.1 -611 
+  Bin 389: -611 -610.9 -610.8 -610.7 -610.6 -610.5 -610.4 -610.3 -610.2 -610.1 -610 
+  Bin 390: -610 -609.9 -609.8 -609.7 -609.6 -609.5 -609.4 -609.3 -609.2 -609.1 -609 
+  Bin 391: -609 -608.9 -608.8 -608.7 -608.6 -608.5 -608.4 -608.3 -608.2 -608.1 -608 
+  Bin 392: -608 -607.9 -607.8 -607.7 -607.6 -607.5 -607.4 -607.3 -607.2 -607.1 -607 
+  Bin 393: -607 -606.9 -606.8 -606.7 -606.6 -606.5 -606.4 -606.3 -606.2 -606.1 -606 
+  Bin 394: -606 -605.9 -605.8 -605.7 -605.6 -605.5 -605.4 -605.3 -605.2 -605.1 -605 
+  Bin 395: -605 -604.9 -604.8 -604.7 -604.6 -604.5 -604.4 -604.3 -604.2 -604.1 -604 
+  Bin 396: -604 -603.9 -603.8 -603.7 -603.6 -603.5 -603.4 -603.3 -603.2 -603.1 -603 
+  Bin 397: -603 -602.9 -602.8 -602.7 -602.6 -602.5 -602.4 -602.3 -602.2 -602.1 -602 
+  Bin 398: -602 -601.9 -601.8 -601.7 -601.6 -601.5 -601.4 -601.3 -601.2 -601.1 -601 
+  Bin 399: -601 -600.9 -600.8 -600.7 -600.6 -600.5 -600.4 -600.3 -600.2 -600.1 -600 
+  Bin 400: -600 -599.9 -599.8 -599.7 -599.6 -599.5 -599.4 -599.3 -599.2 -599.1 -599 
+  Bin 401: -599 -598.9 -598.8 -598.7 -598.6 -598.5 -598.4 -598.3 -598.2 -598.1 -598 
+  Bin 402: -598 -597.9 -597.8 -597.7 -597.6 -597.5 -597.4 -597.3 -597.2 -597.1 -597 
+  Bin 403: -597 -596.9 -596.8 -596.7 -596.6 -596.5 -596.4 -596.3 -596.2 -596.1 -596 
+  Bin 404: -596 -595.9 -595.8 -595.7 -595.6 -595.5 -595.4 -595.3 -595.2 -595.1 -595 
+  Bin 405: -595 -594.9 -594.8 -594.7 -594.6 -594.5 -594.4 -594.3 -594.2 -594.1 -594 
+  Bin 406: -594 -593.9 -593.8 -593.7 -593.6 -593.5 -593.4 -593.3 -593.2 -593.1 -593 
+  Bin 407: -593 -592.9 -592.8 -592.7 -592.6 -592.5 -592.4 -592.3 -592.2 -592.1 -592 
+  Bin 408: -592 -591.9 -591.8 -591.7 -591.6 -591.5 -591.4 -591.3 -591.2 -591.1 -591 
+  Bin 409: -591 -590.9 -590.8 -590.7 -590.6 -590.5 -590.4 -590.3 -590.2 -590.1 -590 
+  Bin 410: -590 -589.9 -589.8 -589.7 -589.6 -589.5 -589.4 -589.3 -589.2 -589.1 -589 
+  Bin 411: -589 -588.9 -588.8 -588.7 -588.6 -588.5 -588.4 -588.3 -588.2 -588.1 -588 
+  Bin 412: -588 -587.9 -587.8 -587.7 -587.6 -587.5 -587.4 -587.3 -587.2 -587.1 -587 
+  Bin 413: -587 -586.9 -586.8 -586.7 -586.6 -586.5 -586.4 -586.3 -586.2 -586.1 -586 
+  Bin 414: -586 -585.9 -585.8 -585.7 -585.6 -585.5 -585.4 -585.3 -585.2 -585.1 -585 
+  Bin 415: -585 -584.9 -584.8 -584.7 -584.6 -584.5 -584.4 -584.3 -584.2 -584.1 -584 
+  Bin 416: -584 -583.9 -583.8 -583.7 -583.6 -583.5 -583.4 -583.3 -583.2 -583.1 -583 
+  Bin 417: -583 -582.9 -582.8 -582.7 -582.6 -582.5 -582.4 -582.3 -582.2 -582.1 -582 
+  Bin 418: -582 -581.9 -581.8 -581.7 -581.6 -581.5 -581.4 -581.3 -581.2 -581.1 -581 
+  Bin 419: -581 -580.9 -580.8 -580.7 -580.6 -580.5 -580.4 -580.3 -580.2 -580.1 -580 
+  Bin 420: -580 -579.9 -579.8 -579.7 -579.6 -579.5 -579.4 -579.3 -579.2 -579.1 -579 
+  Bin 421: -579 -578.9 -578.8 -578.7 -578.6 -578.5 -578.4 -578.3 -578.2 -578.1 -578 
+  Bin 422: -578 -577.9 -577.8 -577.7 -577.6 -577.5 -577.4 -577.3 -577.2 -577.1 -577 
+  Bin 423: -577 -576.9 -576.8 -576.7 -576.6 -576.5 -576.4 -576.3 -576.2 -576.1 -576 
+  Bin 424: -576 -575.9 -575.8 -575.7 -575.6 -575.5 -575.4 -575.3 -575.2 -575.1 -575 
+  Bin 425: -575 -574.9 -574.8 -574.7 -574.6 -574.5 -574.4 -574.3 -574.2 -574.1 -574 
+  Bin 426: -574 -573.9 -573.8 -573.7 -573.6 -573.5 -573.4 -573.3 -573.2 -573.1 -573 
+  Bin 427: -573 -572.9 -572.8 -572.7 -572.6 -572.5 -572.4 -572.3 -572.2 -572.1 -572 
+  Bin 428: -572 -571.9 -571.8 -571.7 -571.6 -571.5 -571.4 -571.3 -571.2 -571.1 -571 
+  Bin 429: -571 -570.9 -570.8 -570.7 -570.6 -570.5 -570.4 -570.3 -570.2 -570.1 -570 
+  Bin 430: -570 -569.9 -569.8 -569.7 -569.6 -569.5 -569.4 -569.3 -569.2 -569.1 -569 
+  Bin 431: -569 -568.9 -568.8 -568.7 -568.6 -568.5 -568.4 -568.3 -568.2 -568.1 -568 
+  Bin 432: -568 -567.9 -567.8 -567.7 -567.6 -567.5 -567.4 -567.3 -567.2 -567.1 -567 
+  Bin 433: -567 -566.9 -566.8 -566.7 -566.6 -566.5 -566.4 -566.3 -566.2 -566.1 -566 
+  Bin 434: -566 -565.9 -565.8 -565.7 -565.6 -565.5 -565.4 -565.3 -565.2 -565.1 -565 
+  Bin 435: -565 -564.9 -564.8 -564.7 -564.6 -564.5 -564.4 -564.3 -564.2 -564.1 -564 
+  Bin 436: -564 -563.9 -563.8 -563.7 -563.6 -563.5 -563.4 -563.3 -563.2 -563.1 -563 
+  Bin 437: -563 -562.9 -562.8 -562.7 -562.6 -562.5 -562.4 -562.3 -562.2 -562.1 -562 
+  Bin 438: -562 -561.9 -561.8 -561.7 -561.6 -561.5 -561.4 -561.3 -561.2 -561.1 -561 
+  Bin 439: -561 -560.9 -560.8 -560.7 -560.6 -560.5 -560.4 -560.3 -560.2 -560.1 -560 
+  Bin 440: -560 -559.9 -559.8 -559.7 -559.6 -559.5 -559.4 -559.3 -559.2 -559.1 -559 
+  Bin 441: -559 -558.9 -558.8 -558.7 -558.6 -558.5 -558.4 -558.3 -558.2 -558.1 -558 
+  Bin 442: -558 -557.9 -557.8 -557.7 -557.6 -557.5 -557.4 -557.3 -557.2 -557.1 -557 
+  Bin 443: -557 -556.9 -556.8 -556.7 -556.6 -556.5 -556.4 -556.3 -556.2 -556.1 -556 
+  Bin 444: -556 -555.9 -555.8 -555.7 -555.6 -555.5 -555.4 -555.3 -555.2 -555.1 -555 
+  Bin 445: -555 -554.9 -554.8 -554.7 -554.6 -554.5 -554.4 -554.3 -554.2 -554.1 -554 
+  Bin 446: -554 -553.9 -553.8 -553.7 -553.6 -553.5 -553.4 -553.3 -553.2 -553.1 -553 
+  Bin 447: -553 -552.9 -552.8 -552.7 -552.6 -552.5 -552.4 -552.3 -552.2 -552.1 -552 
+  Bin 448: -552 -551.9 -551.8 -551.7 -551.6 -551.5 -551.4 -551.3 -551.2 -551.1 -551 
+  Bin 449: -551 -550.9 -550.8 -550.7 -550.6 -550.5 -550.4 -550.3 -550.2 -550.1 -550 
+  Bin 450: -550 -549.9 -549.8 -549.7 -549.6 -549.5 -549.4 -549.3 -549.2 -549.1 -549 
+  Bin 451: -549 -548.9 -548.8 -548.7 -548.6 -548.5 -548.4 -548.3 -548.2 -548.1 -548 
+  Bin 452: -548 -547.9 -547.8 -547.7 -547.6 -547.5 -547.4 -547.3 -547.2 -547.1 -547 
+  Bin 453: -547 -546.9 -546.8 -546.7 -546.6 -546.5 -546.4 -546.3 -546.2 -546.1 -546 
+  Bin 454: -546 -545.9 -545.8 -545.7 -545.6 -545.5 -545.4 -545.3 -545.2 -545.1 -545 
+  Bin 455: -545 -544.9 -544.8 -544.7 -544.6 -544.5 -544.4 -544.3 -544.2 -544.1 -544 
+  Bin 456: -544 -543.9 -543.8 -543.7 -543.6 -543.5 -543.4 -543.3 -543.2 -543.1 -543 
+  Bin 457: -543 -542.9 -542.8 -542.7 -542.6 -542.5 -542.4 -542.3 -542.2 -542.1 -542 
+  Bin 458: -542 -541.9 -541.8 -541.7 -541.6 -541.5 -541.4 -541.3 -541.2 -541.1 -541 
+  Bin 459: -541 -540.9 -540.8 -540.7 -540.6 -540.5 -540.4 -540.3 -540.2 -540.1 -540 
+  Bin 460: -540 -539.9 -539.8 -539.7 -539.6 -539.5 -539.4 -539.3 -539.2 -539.1 -539 
+  Bin 461: -539 -538.9 -538.8 -538.7 -538.6 -538.5 -538.4 -538.3 -538.2 -538.1 -538 
+  Bin 462: -538 -537.9 -537.8 -537.7 -537.6 -537.5 -537.4 -537.3 -537.2 -537.1 -537 
+  Bin 463: -537 -536.9 -536.8 -536.7 -536.6 -536.5 -536.4 -536.3 -536.2 -536.1 -536 
+  Bin 464: -536 -535.9 -535.8 -535.7 -535.6 -535.5 -535.4 -535.3 -535.2 -535.1 -535 
+  Bin 465: -535 -534.9 -534.8 -534.7 -534.6 -534.5 -534.4 -534.3 -534.2 -534.1 -534 
+  Bin 466: -534 -533.9 -533.8 -533.7 -533.6 -533.5 -533.4 -533.3 -533.2 -533.1 -533 
+  Bin 467: -533 -532.9 -532.8 -532.7 -532.6 -532.5 -532.4 -532.3 -532.2 -532.1 -532 
+  Bin 468: -532 -531.9 -531.8 -531.7 -531.6 -531.5 -531.4 -531.3 -531.2 -531.1 -531 
+  Bin 469: -531 -530.9 -530.8 -530.7 -530.6 -530.5 -530.4 -530.3 -530.2 -530.1 -530 
+  Bin 470: -530 -529.9 -529.8 -529.7 -529.6 -529.5 -529.4 -529.3 -529.2 -529.1 -529 
+  Bin 471: -529 -528.9 -528.8 -528.7 -528.6 -528.5 -528.4 -528.3 -528.2 -528.1 -528 
+  Bin 472: -528 -527.9 -527.8 -527.7 -527.6 -527.5 -527.4 -527.3 -527.2 -527.1 -527 
+  Bin 473: -527 -526.9 -526.8 -526.7 -526.6 -526.5 -526.4 -526.3 -526.2 -526.1 -526 
+  Bin 474: -526 -525.9 -525.8 -525.7 -525.6 -525.5 -525.4 -525.3 -525.2 -525.1 -525 
+  Bin 475: -525 -524.9 -524.8 -524.7 -524.6 -524.5 -524.4 -524.3 -524.2 -524.1 -524 
+  Bin 476: -524 -523.9 -523.8 -523.7 -523.6 -523.5 -523.4 -523.3 -523.2 -523.1 -523 
+  Bin 477: -523 -522.9 -522.8 -522.7 -522.6 -522.5 -522.4 -522.3 -522.2 -522.1 -522 
+  Bin 478: -522 -521.9 -521.8 -521.7 -521.6 -521.5 -521.4 -521.3 -521.2 -521.1 -521 
+  Bin 479: -521 -520.9 -520.8 -520.7 -520.6 -520.5 -520.4 -520.3 -520.2 -520.1 -520 
+  Bin 480: -520 -519.9 -519.8 -519.7 -519.6 -519.5 -519.4 -519.3 -519.2 -519.1 -519 
+  Bin 481: -519 -518.9 -518.8 -518.7 -518.6 -518.5 -518.4 -518.3 -518.2 -518.1 -518 
+  Bin 482: -518 -517.9 -517.8 -517.7 -517.6 -517.5 -517.4 -517.3 -517.2 -517.1 -517 
+  Bin 483: -517 -516.9 -516.8 -516.7 -516.6 -516.5 -516.4 -516.3 -516.2 -516.1 -516 
+  Bin 484: -516 -515.9 -515.8 -515.7 -515.6 -515.5 -515.4 -515.3 -515.2 -515.1 -515 
+  Bin 485: -515 -514.9 -514.8 -514.7 -514.6 -514.5 -514.4 -514.3 -514.2 -514.1 -514 
+  Bin 486: -514 -513.9 -513.8 -513.7 -513.6 -513.5 -513.4 -513.3 -513.2 -513.1 -513 
+  Bin 487: -513 -512.9 -512.8 -512.7 -512.6 -512.5 -512.4 -512.3 -512.2 -512.1 -512 
+  Bin 488: -512 -511.9 -511.8 -511.7 -511.6 -511.5 -511.4 -511.3 -511.2 -511.1 -511 
+  Bin 489: -511 -510.9 -510.8 -510.7 -510.6 -510.5 -510.4 -510.3 -510.2 -510.1 -510 
+  Bin 490: -510 -509.9 -509.8 -509.7 -509.6 -509.5 -509.4 -509.3 -509.2 -509.1 -509 
+  Bin 491: -509 -508.9 -508.8 -508.7 -508.6 -508.5 -508.4 -508.3 -508.2 -508.1 -508 
+  Bin 492: -508 -507.9 -507.8 -507.7 -507.6 -507.5 -507.4 -507.3 -507.2 -507.1 -507 
+  Bin 493: -507 -506.9 -506.8 -506.7 -506.6 -506.5 -506.4 -506.3 -506.2 -506.1 -506 
+  Bin 494: -506 -505.9 -505.8 -505.7 -505.6 -505.5 -505.4 -505.3 -505.2 -505.1 -505 
+  Bin 495: -505 -504.9 -504.8 -504.7 -504.6 -504.5 -504.4 -504.3 -504.2 -504.1 -504 
+  Bin 496: -504 -503.9 -503.8 -503.7 -503.6 -503.5 -503.4 -503.3 -503.2 -503.1 -503 
+  Bin 497: -503 -502.9 -502.8 -502.7 -502.6 -502.5 -502.4 -502.3 -502.2 -502.1 -502 
+  Bin 498: -502 -501.9 -501.8 -501.7 -501.6 -501.5 -501.4 -501.3 -501.2 -501.1 -501 
+  Bin 499: -501 -500.9 -500.8 -500.7 -500.6 -500.5 -500.4 -500.3 -500.2 -500.1 -500 
+  Bin 500: -500 -499.9 -499.8 -499.7 -499.6 -499.5 -499.4 -499.3 -499.2 -499.1 -499 
+  Bin 501: -499 -498.9 -498.8 -498.7 -498.6 -498.5 -498.4 -498.3 -498.2 -498.1 -498 
+  Bin 502: -498 -497.9 -497.8 -497.7 -497.6 -497.5 -497.4 -497.3 -497.2 -497.1 -497 
+  Bin 503: -497 -496.9 -496.8 -496.7 -496.6 -496.5 -496.4 -496.3 -496.2 -496.1 -496 
+  Bin 504: -496 -495.9 -495.8 -495.7 -495.6 -495.5 -495.4 -495.3 -495.2 -495.1 -495 
+  Bin 505: -495 -494.9 -494.8 -494.7 -494.6 -494.5 -494.4 -494.3 -494.2 -494.1 -494 
+  Bin 506: -494 -493.9 -493.8 -493.7 -493.6 -493.5 -493.4 -493.3 -493.2 -493.1 -493 
+  Bin 507: -493 -492.9 -492.8 -492.7 -492.6 -492.5 -492.4 -492.3 -492.2 -492.1 -492 
+  Bin 508: -492 -491.9 -491.8 -491.7 -491.6 -491.5 -491.4 -491.3 -491.2 -491.1 -491 
+  Bin 509: -491 -490.9 -490.8 -490.7 -490.6 -490.5 -490.4 -490.3 -490.2 -490.1 -490 
+  Bin 510: -490 -489.9 -489.8 -489.7 -489.6 -489.5 -489.4 -489.3 -489.2 -489.1 -489 
+  Bin 511: -489 -488.9 -488.8 -488.7 -488.6 -488.5 -488.4 -488.3 -488.2 -488.1 -488 
+  Bin 512: -488 -487.9 -487.8 -487.7 -487.6 -487.5 -487.4 -487.3 -487.2 -487.1 -487 
+  Bin 513: -487 -486.9 -486.8 -486.7 -486.6 -486.5 -486.4 -486.3 -486.2 -486.1 -486 
+  Bin 514: -486 -485.9 -485.8 -485.7 -485.6 -485.5 -485.4 -485.3 -485.2 -485.1 -485 
+  Bin 515: -485 -484.9 -484.8 -484.7 -484.6 -484.5 -484.4 -484.3 -484.2 -484.1 -484 
+  Bin 516: -484 -483.9 -483.8 -483.7 -483.6 -483.5 -483.4 -483.3 -483.2 -483.1 -483 
+  Bin 517: -483 -482.9 -482.8 -482.7 -482.6 -482.5 -482.4 -482.3 -482.2 -482.1 -482 
+  Bin 518: -482 -481.9 -481.8 -481.7 -481.6 -481.5 -481.4 -481.3 -481.2 -481.1 -481 
+  Bin 519: -481 -480.9 -480.8 -480.7 -480.6 -480.5 -480.4 -480.3 -480.2 -480.1 -480 
+  Bin 520: -480 -479.9 -479.8 -479.7 -479.6 -479.5 -479.4 -479.3 -479.2 -479.1 -479 
+  Bin 521: -479 -478.9 -478.8 -478.7 -478.6 -478.5 -478.4 -478.3 -478.2 -478.1 -478 
+  Bin 522: -478 -477.9 -477.8 -477.7 -477.6 -477.5 -477.4 -477.3 -477.2 -477.1 -477 
+  Bin 523: -477 -476.9 -476.8 -476.7 -476.6 -476.5 -476.4 -476.3 -476.2 -476.1 -476 
+  Bin 524: -476 -475.9 -475.8 -475.7 -475.6 -475.5 -475.4 -475.3 -475.2 -475.1 -475 
+  Bin 525: -475 -474.9 -474.8 -474.7 -474.6 -474.5 -474.4 -474.3 -474.2 -474.1 -474 
+  Bin 526: -474 -473.9 -473.8 -473.7 -473.6 -473.5 -473.4 -473.3 -473.2 -473.1 -473 
+  Bin 527: -473 -472.9 -472.8 -472.7 -472.6 -472.5 -472.4 -472.3 -472.2 -472.1 -472 
+  Bin 528: -472 -471.9 -471.8 -471.7 -471.6 -471.5 -471.4 -471.3 -471.2 -471.1 -471 
+  Bin 529: -471 -470.9 -470.8 -470.7 -470.6 -470.5 -470.4 -470.3 -470.2 -470.1 -470 
+  Bin 530: -470 -469.9 -469.8 -469.7 -469.6 -469.5 -469.4 -469.3 -469.2 -469.1 -469 
+  Bin 531: -469 -468.9 -468.8 -468.7 -468.6 -468.5 -468.4 -468.3 -468.2 -468.1 -468 
+  Bin 532: -468 -467.9 -467.8 -467.7 -467.6 -467.5 -467.4 -467.3 -467.2 -467.1 -467 
+  Bin 533: -467 -466.9 -466.8 -466.7 -466.6 -466.5 -466.4 -466.3 -466.2 -466.1 -466 
+  Bin 534: -466 -465.9 -465.8 -465.7 -465.6 -465.5 -465.4 -465.3 -465.2 -465.1 -465 
+  Bin 535: -465 -464.9 -464.8 -464.7 -464.6 -464.5 -464.4 -464.3 -464.2 -464.1 -464 
+  Bin 536: -464 -463.9 -463.8 -463.7 -463.6 -463.5 -463.4 -463.3 -463.2 -463.1 -463 
+  Bin 537: -463 -462.9 -462.8 -462.7 -462.6 -462.5 -462.4 -462.3 -462.2 -462.1 -462 
+  Bin 538: -462 -461.9 -461.8 -461.7 -461.6 -461.5 -461.4 -461.3 -461.2 -461.1 -461 
+  Bin 539: -461 -460.9 -460.8 -460.7 -460.6 -460.5 -460.4 -460.3 -460.2 -460.1 -460 
+  Bin 540: -460 -459.9 -459.8 -459.7 -459.6 -459.5 -459.4 -459.3 -459.2 -459.1 -459 
+  Bin 541: -459 -458.9 -458.8 -458.7 -458.6 -458.5 -458.4 -458.3 -458.2 -458.1 -458 
+  Bin 542: -458 -457.9 -457.8 -457.7 -457.6 -457.5 -457.4 -457.3 -457.2 -457.1 -457 
+  Bin 543: -457 -456.9 -456.8 -456.7 -456.6 -456.5 -456.4 -456.3 -456.2 -456.1 -456 
+  Bin 544: -456 -455.9 -455.8 -455.7 -455.6 -455.5 -455.4 -455.3 -455.2 -455.1 -455 
+  Bin 545: -455 -454.9 -454.8 -454.7 -454.6 -454.5 -454.4 -454.3 -454.2 -454.1 -454 
+  Bin 546: -454 -453.9 -453.8 -453.7 -453.6 -453.5 -453.4 -453.3 -453.2 -453.1 -453 
+  Bin 547: -453 -452.9 -452.8 -452.7 -452.6 -452.5 -452.4 -452.3 -452.2 -452.1 -452 
+  Bin 548: -452 -451.9 -451.8 -451.7 -451.6 -451.5 -451.4 -451.3 -451.2 -451.1 -451 
+  Bin 549: -451 -450.9 -450.8 -450.7 -450.6 -450.5 -450.4 -450.3 -450.2 -450.1 -450 
+  Bin 550: -450 -449.9 -449.8 -449.7 -449.6 -449.5 -449.4 -449.3 -449.2 -449.1 -449 
+  Bin 551: -449 -448.9 -448.8 -448.7 -448.6 -448.5 -448.4 -448.3 -448.2 -448.1 -448 
+  Bin 552: -448 -447.9 -447.8 -447.7 -447.6 -447.5 -447.4 -447.3 -447.2 -447.1 -447 
+  Bin 553: -447 -446.9 -446.8 -446.7 -446.6 -446.5 -446.4 -446.3 -446.2 -446.1 -446 
+  Bin 554: -446 -445.9 -445.8 -445.7 -445.6 -445.5 -445.4 -445.3 -445.2 -445.1 -445 
+  Bin 555: -445 -444.9 -444.8 -444.7 -444.6 -444.5 -444.4 -444.3 -444.2 -444.1 -444 
+  Bin 556: -444 -443.9 -443.8 -443.7 -443.6 -443.5 -443.4 -443.3 -443.2 -443.1 -443 
+  Bin 557: -443 -442.9 -442.8 -442.7 -442.6 -442.5 -442.4 -442.3 -442.2 -442.1 -442 
+  Bin 558: -442 -441.9 -441.8 -441.7 -441.6 -441.5 -441.4 -441.3 -441.2 -441.1 -441 
+  Bin 559: -441 -440.9 -440.8 -440.7 -440.6 -440.5 -440.4 -440.3 -440.2 -440.1 -440 
+  Bin 560: -440 -439.9 -439.8 -439.7 -439.6 -439.5 -439.4 -439.3 -439.2 -439.1 -439 
+  Bin 561: -439 -438.9 -438.8 -438.7 -438.6 -438.5 -438.4 -438.3 -438.2 -438.1 -438 
+  Bin 562: -438 -437.9 -437.8 -437.7 -437.6 -437.5 -437.4 -437.3 -437.2 -437.1 -437 
+  Bin 563: -437 -436.9 -436.8 -436.7 -436.6 -436.5 -436.4 -436.3 -436.2 -436.1 -436 
+  Bin 564: -436 -435.9 -435.8 -435.7 -435.6 -435.5 -435.4 -435.3 -435.2 -435.1 -435 
+  Bin 565: -435 -434.9 -434.8 -434.7 -434.6 -434.5 -434.4 -434.3 -434.2 -434.1 -434 
+  Bin 566: -434 -433.9 -433.8 -433.7 -433.6 -433.5 -433.4 -433.3 -433.2 -433.1 -433 
+  Bin 567: -433 -432.9 -432.8 -432.7 -432.6 -432.5 -432.4 -432.3 -432.2 -432.1 -432 
+  Bin 568: -432 -431.9 -431.8 -431.7 -431.6 -431.5 -431.4 -431.3 -431.2 -431.1 -431 
+  Bin 569: -431 -430.9 -430.8 -430.7 -430.6 -430.5 -430.4 -430.3 -430.2 -430.1 -430 
+  Bin 570: -430 -429.9 -429.8 -429.7 -429.6 -429.5 -429.4 -429.3 -429.2 -429.1 -429 
+  Bin 571: -429 -428.9 -428.8 -428.7 -428.6 -428.5 -428.4 -428.3 -428.2 -428.1 -428 
+  Bin 572: -428 -427.9 -427.8 -427.7 -427.6 -427.5 -427.4 -427.3 -427.2 -427.1 -427 
+  Bin 573: -427 -426.9 -426.8 -426.7 -426.6 -426.5 -426.4 -426.3 -426.2 -426.1 -426 
+  Bin 574: -426 -425.9 -425.8 -425.7 -425.6 -425.5 -425.4 -425.3 -425.2 -425.1 -425 
+  Bin 575: -425 -424.9 -424.8 -424.7 -424.6 -424.5 -424.4 -424.3 -424.2 -424.1 -424 
+  Bin 576: -424 -423.9 -423.8 -423.7 -423.6 -423.5 -423.4 -423.3 -423.2 -423.1 -423 
+  Bin 577: -423 -422.9 -422.8 -422.7 -422.6 -422.5 -422.4 -422.3 -422.2 -422.1 -422 
+  Bin 578: -422 -421.9 -421.8 -421.7 -421.6 -421.5 -421.4 -421.3 -421.2 -421.1 -421 
+  Bin 579: -421 -420.9 -420.8 -420.7 -420.6 -420.5 -420.4 -420.3 -420.2 -420.1 -420 
+  Bin 580: -420 -419.9 -419.8 -419.7 -419.6 -419.5 -419.4 -419.3 -419.2 -419.1 -419 
+  Bin 581: -419 -418.9 -418.8 -418.7 -418.6 -418.5 -418.4 -418.3 -418.2 -418.1 -418 
+  Bin 582: -418 -417.9 -417.8 -417.7 -417.6 -417.5 -417.4 -417.3 -417.2 -417.1 -417 
+  Bin 583: -417 -416.9 -416.8 -416.7 -416.6 -416.5 -416.4 -416.3 -416.2 -416.1 -416 
+  Bin 584: -416 -415.9 -415.8 -415.7 -415.6 -415.5 -415.4 -415.3 -415.2 -415.1 -415 
+  Bin 585: -415 -414.9 -414.8 -414.7 -414.6 -414.5 -414.4 -414.3 -414.2 -414.1 -414 
+  Bin 586: -414 -413.9 -413.8 -413.7 -413.6 -413.5 -413.4 -413.3 -413.2 -413.1 -413 
+  Bin 587: -413 -412.9 -412.8 -412.7 -412.6 -412.5 -412.4 -412.3 -412.2 -412.1 -412 
+  Bin 588: -412 -411.9 -411.8 -411.7 -411.6 -411.5 -411.4 -411.3 -411.2 -411.1 -411 
+  Bin 589: -411 -410.9 -410.8 -410.7 -410.6 -410.5 -410.4 -410.3 -410.2 -410.1 -410 
+  Bin 590: -410 -409.9 -409.8 -409.7 -409.6 -409.5 -409.4 -409.3 -409.2 -409.1 -409 
+  Bin 591: -409 -408.9 -408.8 -408.7 -408.6 -408.5 -408.4 -408.3 -408.2 -408.1 -408 
+  Bin 592: -408 -407.9 -407.8 -407.7 -407.6 -407.5 -407.4 -407.3 -407.2 -407.1 -407 
+  Bin 593: -407 -406.9 -406.8 -406.7 -406.6 -406.5 -406.4 -406.3 -406.2 -406.1 -406 
+  Bin 594: -406 -405.9 -405.8 -405.7 -405.6 -405.5 -405.4 -405.3 -405.2 -405.1 -405 
+  Bin 595: -405 -404.9 -404.8 -404.7 -404.6 -404.5 -404.4 -404.3 -404.2 -404.1 -404 
+  Bin 596: -404 -403.9 -403.8 -403.7 -403.6 -403.5 -403.4 -403.3 -403.2 -403.1 -403 
+  Bin 597: -403 -402.9 -402.8 -402.7 -402.6 -402.5 -402.4 -402.3 -402.2 -402.1 -402 
+  Bin 598: -402 -401.9 -401.8 -401.7 -401.6 -401.5 -401.4 -401.3 -401.2 -401.1 -401 
+  Bin 599: -401 -400.9 -400.8 -400.7 -400.6 -400.5 -400.4 -400.3 -400.2 -400.1 -400 
+  Bin 600: -400 -399.9 -399.8 -399.7 -399.6 -399.5 -399.4 -399.3 -399.2 -399.1 -399 
+  Bin 601: -399 -398.9 -398.8 -398.7 -398.6 -398.5 -398.4 -398.3 -398.2 -398.1 -398 
+  Bin 602: -398 -397.9 -397.8 -397.7 -397.6 -397.5 -397.4 -397.3 -397.2 -397.1 -397 
+  Bin 603: -397 -396.9 -396.8 -396.7 -396.6 -396.5 -396.4 -396.3 -396.2 -396.1 -396 
+  Bin 604: -396 -395.9 -395.8 -395.7 -395.6 -395.5 -395.4 -395.3 -395.2 -395.1 -395 
+  Bin 605: -395 -394.9 -394.8 -394.7 -394.6 -394.5 -394.4 -394.3 -394.2 -394.1 -394 
+  Bin 606: -394 -393.9 -393.8 -393.7 -393.6 -393.5 -393.4 -393.3 -393.2 -393.1 -393 
+  Bin 607: -393 -392.9 -392.8 -392.7 -392.6 -392.5 -392.4 -392.3 -392.2 -392.1 -392 
+  Bin 608: -392 -391.9 -391.8 -391.7 -391.6 -391.5 -391.4 -391.3 -391.2 -391.1 -391 
+  Bin 609: -391 -390.9 -390.8 -390.7 -390.6 -390.5 -390.4 -390.3 -390.2 -390.1 -390 
+  Bin 610: -390 -389.9 -389.8 -389.7 -389.6 -389.5 -389.4 -389.3 -389.2 -389.1 -389 
+  Bin 611: -389 -388.9 -388.8 -388.7 -388.6 -388.5 -388.4 -388.3 -388.2 -388.1 -388 
+  Bin 612: -388 -387.9 -387.8 -387.7 -387.6 -387.5 -387.4 -387.3 -387.2 -387.1 -387 
+  Bin 613: -387 -386.9 -386.8 -386.7 -386.6 -386.5 -386.4 -386.3 -386.2 -386.1 -386 
+  Bin 614: -386 -385.9 -385.8 -385.7 -385.6 -385.5 -385.4 -385.3 -385.2 -385.1 -385 
+  Bin 615: -385 -384.9 -384.8 -384.7 -384.6 -384.5 -384.4 -384.3 -384.2 -384.1 -384 
+  Bin 616: -384 -383.9 -383.8 -383.7 -383.6 -383.5 -383.4 -383.3 -383.2 -383.1 -383 
+  Bin 617: -383 -382.9 -382.8 -382.7 -382.6 -382.5 -382.4 -382.3 -382.2 -382.1 -382 
+  Bin 618: -382 -381.9 -381.8 -381.7 -381.6 -381.5 -381.4 -381.3 -381.2 -381.1 -381 
+  Bin 619: -381 -380.9 -380.8 -380.7 -380.6 -380.5 -380.4 -380.3 -380.2 -380.1 -380 
+  Bin 620: -380 -379.9 -379.8 -379.7 -379.6 -379.5 -379.4 -379.3 -379.2 -379.1 -379 
+  Bin 621: -379 -378.9 -378.8 -378.7 -378.6 -378.5 -378.4 -378.3 -378.2 -378.1 -378 
+  Bin 622: -378 -377.9 -377.8 -377.7 -377.6 -377.5 -377.4 -377.3 -377.2 -377.1 -377 
+  Bin 623: -377 -376.9 -376.8 -376.7 -376.6 -376.5 -376.4 -376.3 -376.2 -376.1 -376 
+  Bin 624: -376 -375.9 -375.8 -375.7 -375.6 -375.5 -375.4 -375.3 -375.2 -375.1 -375 
+  Bin 625: -375 -374.9 -374.8 -374.7 -374.6 -374.5 -374.4 -374.3 -374.2 -374.1 -374 
+  Bin 626: -374 -373.9 -373.8 -373.7 -373.6 -373.5 -373.4 -373.3 -373.2 -373.1 -373 
+  Bin 627: -373 -372.9 -372.8 -372.7 -372.6 -372.5 -372.4 -372.3 -372.2 -372.1 -372 
+  Bin 628: -372 -371.9 -371.8 -371.7 -371.6 -371.5 -371.4 -371.3 -371.2 -371.1 -371 
+  Bin 629: -371 -370.9 -370.8 -370.7 -370.6 -370.5 -370.4 -370.3 -370.2 -370.1 -370 
+  Bin 630: -370 -369.9 -369.8 -369.7 -369.6 -369.5 -369.4 -369.3 -369.2 -369.1 -369 
+  Bin 631: -369 -368.9 -368.8 -368.7 -368.6 -368.5 -368.4 -368.3 -368.2 -368.1 -368 
+  Bin 632: -368 -367.9 -367.8 -367.7 -367.6 -367.5 -367.4 -367.3 -367.2 -367.1 -367 
+  Bin 633: -367 -366.9 -366.8 -366.7 -366.6 -366.5 -366.4 -366.3 -366.2 -366.1 -366 
+  Bin 634: -366 -365.9 -365.8 -365.7 -365.6 -365.5 -365.4 -365.3 -365.2 -365.1 -365 
+  Bin 635: -365 -364.9 -364.8 -364.7 -364.6 -364.5 -364.4 -364.3 -364.2 -364.1 -364 
+  Bin 636: -364 -363.9 -363.8 -363.7 -363.6 -363.5 -363.4 -363.3 -363.2 -363.1 -363 
+  Bin 637: -363 -362.9 -362.8 -362.7 -362.6 -362.5 -362.4 -362.3 -362.2 -362.1 -362 
+  Bin 638: -362 -361.9 -361.8 -361.7 -361.6 -361.5 -361.4 -361.3 -361.2 -361.1 -361 
+  Bin 639: -361 -360.9 -360.8 -360.7 -360.6 -360.5 -360.4 -360.3 -360.2 -360.1 -360 
+  Bin 640: -360 -359.9 -359.8 -359.7 -359.6 -359.5 -359.4 -359.3 -359.2 -359.1 -359 
+  Bin 641: -359 -358.9 -358.8 -358.7 -358.6 -358.5 -358.4 -358.3 -358.2 -358.1 -358 
+  Bin 642: -358 -357.9 -357.8 -357.7 -357.6 -357.5 -357.4 -357.3 -357.2 -357.1 -357 
+  Bin 643: -357 -356.9 -356.8 -356.7 -356.6 -356.5 -356.4 -356.3 -356.2 -356.1 -356 
+  Bin 644: -356 -355.9 -355.8 -355.7 -355.6 -355.5 -355.4 -355.3 -355.2 -355.1 -355 
+  Bin 645: -355 -354.9 -354.8 -354.7 -354.6 -354.5 -354.4 -354.3 -354.2 -354.1 -354 
+  Bin 646: -354 -353.9 -353.8 -353.7 -353.6 -353.5 -353.4 -353.3 -353.2 -353.1 -353 
+  Bin 647: -353 -352.9 -352.8 -352.7 -352.6 -352.5 -352.4 -352.3 -352.2 -352.1 -352 
+  Bin 648: -352 -351.9 -351.8 -351.7 -351.6 -351.5 -351.4 -351.3 -351.2 -351.1 -351 
+  Bin 649: -351 -350.9 -350.8 -350.7 -350.6 -350.5 -350.4 -350.3 -350.2 -350.1 -350 
+  Bin 650: -350 -349.9 -349.8 -349.7 -349.6 -349.5 -349.4 -349.3 -349.2 -349.1 -349 
+  Bin 651: -349 -348.9 -348.8 -348.7 -348.6 -348.5 -348.4 -348.3 -348.2 -348.1 -348 
+  Bin 652: -348 -347.9 -347.8 -347.7 -347.6 -347.5 -347.4 -347.3 -347.2 -347.1 -347 
+  Bin 653: -347 -346.9 -346.8 -346.7 -346.6 -346.5 -346.4 -346.3 -346.2 -346.1 -346 
+  Bin 654: -346 -345.9 -345.8 -345.7 -345.6 -345.5 -345.4 -345.3 -345.2 -345.1 -345 
+  Bin 655: -345 -344.9 -344.8 -344.7 -344.6 -344.5 -344.4 -344.3 -344.2 -344.1 -344 
+  Bin 656: -344 -343.9 -343.8 -343.7 -343.6 -343.5 -343.4 -343.3 -343.2 -343.1 -343 
+  Bin 657: -343 -342.9 -342.8 -342.7 -342.6 -342.5 -342.4 -342.3 -342.2 -342.1 -342 
+  Bin 658: -342 -341.9 -341.8 -341.7 -341.6 -341.5 -341.4 -341.3 -341.2 -341.1 -341 
+  Bin 659: -341 -340.9 -340.8 -340.7 -340.6 -340.5 -340.4 -340.3 -340.2 -340.1 -340 
+  Bin 660: -340 -339.9 -339.8 -339.7 -339.6 -339.5 -339.4 -339.3 -339.2 -339.1 -339 
+  Bin 661: -339 -338.9 -338.8 -338.7 -338.6 -338.5 -338.4 -338.3 -338.2 -338.1 -338 
+  Bin 662: -338 -337.9 -337.8 -337.7 -337.6 -337.5 -337.4 -337.3 -337.2 -337.1 -337 
+  Bin 663: -337 -336.9 -336.8 -336.7 -336.6 -336.5 -336.4 -336.3 -336.2 -336.1 -336 
+  Bin 664: -336 -335.9 -335.8 -335.7 -335.6 -335.5 -335.4 -335.3 -335.2 -335.1 -335 
+  Bin 665: -335 -334.9 -334.8 -334.7 -334.6 -334.5 -334.4 -334.3 -334.2 -334.1 -334 
+  Bin 666: -334 -333.9 -333.8 -333.7 -333.6 -333.5 -333.4 -333.3 -333.2 -333.1 -333 
+  Bin 667: -333 -332.9 -332.8 -332.7 -332.6 -332.5 -332.4 -332.3 -332.2 -332.1 -332 
+  Bin 668: -332 -331.9 -331.8 -331.7 -331.6 -331.5 -331.4 -331.3 -331.2 -331.1 -331 
+  Bin 669: -331 -330.9 -330.8 -330.7 -330.6 -330.5 -330.4 -330.3 -330.2 -330.1 -330 
+  Bin 670: -330 -329.9 -329.8 -329.7 -329.6 -329.5 -329.4 -329.3 -329.2 -329.1 -329 
+  Bin 671: -329 -328.9 -328.8 -328.7 -328.6 -328.5 -328.4 -328.3 -328.2 -328.1 -328 
+  Bin 672: -328 -327.9 -327.8 -327.7 -327.6 -327.5 -327.4 -327.3 -327.2 -327.1 -327 
+  Bin 673: -327 -326.9 -326.8 -326.7 -326.6 -326.5 -326.4 -326.3 -326.2 -326.1 -326 
+  Bin 674: -326 -325.9 -325.8 -325.7 -325.6 -325.5 -325.4 -325.3 -325.2 -325.1 -325 
+  Bin 675: -325 -324.9 -324.8 -324.7 -324.6 -324.5 -324.4 -324.3 -324.2 -324.1 -324 
+  Bin 676: -324 -323.9 -323.8 -323.7 -323.6 -323.5 -323.4 -323.3 -323.2 -323.1 -323 
+  Bin 677: -323 -322.9 -322.8 -322.7 -322.6 -322.5 -322.4 -322.3 -322.2 -322.1 -322 
+  Bin 678: -322 -321.9 -321.8 -321.7 -321.6 -321.5 -321.4 -321.3 -321.2 -321.1 -321 
+  Bin 679: -321 -320.9 -320.8 -320.7 -320.6 -320.5 -320.4 -320.3 -320.2 -320.1 -320 
+  Bin 680: -320 -319.9 -319.8 -319.7 -319.6 -319.5 -319.4 -319.3 -319.2 -319.1 -319 
+  Bin 681: -319 -318.9 -318.8 -318.7 -318.6 -318.5 -318.4 -318.3 -318.2 -318.1 -318 
+  Bin 682: -318 -317.9 -317.8 -317.7 -317.6 -317.5 -317.4 -317.3 -317.2 -317.1 -317 
+  Bin 683: -317 -316.9 -316.8 -316.7 -316.6 -316.5 -316.4 -316.3 -316.2 -316.1 -316 
+  Bin 684: -316 -315.9 -315.8 -315.7 -315.6 -315.5 -315.4 -315.3 -315.2 -315.1 -315 
+  Bin 685: -315 -314.9 -314.8 -314.7 -314.6 -314.5 -314.4 -314.3 -314.2 -314.1 -314 
+  Bin 686: -314 -313.9 -313.8 -313.7 -313.6 -313.5 -313.4 -313.3 -313.2 -313.1 -313 
+  Bin 687: -313 -312.9 -312.8 -312.7 -312.6 -312.5 -312.4 -312.3 -312.2 -312.1 -312 
+  Bin 688: -312 -311.9 -311.8 -311.7 -311.6 -311.5 -311.4 -311.3 -311.2 -311.1 -311 
+  Bin 689: -311 -310.9 -310.8 -310.7 -310.6 -310.5 -310.4 -310.3 -310.2 -310.1 -310 
+  Bin 690: -310 -309.9 -309.8 -309.7 -309.6 -309.5 -309.4 -309.3 -309.2 -309.1 -309 
+  Bin 691: -309 -308.9 -308.8 -308.7 -308.6 -308.5 -308.4 -308.3 -308.2 -308.1 -308 
+  Bin 692: -308 -307.9 -307.8 -307.7 -307.6 -307.5 -307.4 -307.3 -307.2 -307.1 -307 
+  Bin 693: -307 -306.9 -306.8 -306.7 -306.6 -306.5 -306.4 -306.3 -306.2 -306.1 -306 
+  Bin 694: -306 -305.9 -305.8 -305.7 -305.6 -305.5 -305.4 -305.3 -305.2 -305.1 -305 
+  Bin 695: -305 -304.9 -304.8 -304.7 -304.6 -304.5 -304.4 -304.3 -304.2 -304.1 -304 
+  Bin 696: -304 -303.9 -303.8 -303.7 -303.6 -303.5 -303.4 -303.3 -303.2 -303.1 -303 
+  Bin 697: -303 -302.9 -302.8 -302.7 -302.6 -302.5 -302.4 -302.3 -302.2 -302.1 -302 
+  Bin 698: -302 -301.9 -301.8 -301.7 -301.6 -301.5 -301.4 -301.3 -301.2 -301.1 -301 
+  Bin 699: -301 -300.9 -300.8 -300.7 -300.6 -300.5 -300.4 -300.3 -300.2 -300.1 -300 
+  Bin 700: -300 -299.9 -299.8 -299.7 -299.6 -299.5 -299.4 -299.3 -299.2 -299.1 -299 
+  Bin 701: -299 -298.9 -298.8 -298.7 -298.6 -298.5 -298.4 -298.3 -298.2 -298.1 -298 
+  Bin 702: -298 -297.9 -297.8 -297.7 -297.6 -297.5 -297.4 -297.3 -297.2 -297.1 -297 
+  Bin 703: -297 -296.9 -296.8 -296.7 -296.6 -296.5 -296.4 -296.3 -296.2 -296.1 -296 
+  Bin 704: -296 -295.9 -295.8 -295.7 -295.6 -295.5 -295.4 -295.3 -295.2 -295.1 -295 
+  Bin 705: -295 -294.9 -294.8 -294.7 -294.6 -294.5 -294.4 -294.3 -294.2 -294.1 -294 
+  Bin 706: -294 -293.9 -293.8 -293.7 -293.6 -293.5 -293.4 -293.3 -293.2 -293.1 -293 
+  Bin 707: -293 -292.9 -292.8 -292.7 -292.6 -292.5 -292.4 -292.3 -292.2 -292.1 -292 
+  Bin 708: -292 -291.9 -291.8 -291.7 -291.6 -291.5 -291.4 -291.3 -291.2 -291.1 -291 
+  Bin 709: -291 -290.9 -290.8 -290.7 -290.6 -290.5 -290.4 -290.3 -290.2 -290.1 -290 
+  Bin 710: -290 -289.9 -289.8 -289.7 -289.6 -289.5 -289.4 -289.3 -289.2 -289.1 -289 
+  Bin 711: -289 -288.9 -288.8 -288.7 -288.6 -288.5 -288.4 -288.3 -288.2 -288.1 -288 
+  Bin 712: -288 -287.9 -287.8 -287.7 -287.6 -287.5 -287.4 -287.3 -287.2 -287.1 -287 
+  Bin 713: -287 -286.9 -286.8 -286.7 -286.6 -286.5 -286.4 -286.3 -286.2 -286.1 -286 
+  Bin 714: -286 -285.9 -285.8 -285.7 -285.6 -285.5 -285.4 -285.3 -285.2 -285.1 -285 
+  Bin 715: -285 -284.9 -284.8 -284.7 -284.6 -284.5 -284.4 -284.3 -284.2 -284.1 -284 
+  Bin 716: -284 -283.9 -283.8 -283.7 -283.6 -283.5 -283.4 -283.3 -283.2 -283.1 -283 
+  Bin 717: -283 -282.9 -282.8 -282.7 -282.6 -282.5 -282.4 -282.3 -282.2 -282.1 -282 
+  Bin 718: -282 -281.9 -281.8 -281.7 -281.6 -281.5 -281.4 -281.3 -281.2 -281.1 -281 
+  Bin 719: -281 -280.9 -280.8 -280.7 -280.6 -280.5 -280.4 -280.3 -280.2 -280.1 -280 
+  Bin 720: -280 -279.9 -279.8 -279.7 -279.6 -279.5 -279.4 -279.3 -279.2 -279.1 -279 
+  Bin 721: -279 -278.9 -278.8 -278.7 -278.6 -278.5 -278.4 -278.3 -278.2 -278.1 -278 
+  Bin 722: -278 -277.9 -277.8 -277.7 -277.6 -277.5 -277.4 -277.3 -277.2 -277.1 -277 
+  Bin 723: -277 -276.9 -276.8 -276.7 -276.6 -276.5 -276.4 -276.3 -276.2 -276.1 -276 
+  Bin 724: -276 -275.9 -275.8 -275.7 -275.6 -275.5 -275.4 -275.3 -275.2 -275.1 -275 
+  Bin 725: -275 -274.9 -274.8 -274.7 -274.6 -274.5 -274.4 -274.3 -274.2 -274.1 -274 
+  Bin 726: -274 -273.9 -273.8 -273.7 -273.6 -273.5 -273.4 -273.3 -273.2 -273.1 -273 
+  Bin 727: -273 -272.9 -272.8 -272.7 -272.6 -272.5 -272.4 -272.3 -272.2 -272.1 -272 
+  Bin 728: -272 -271.9 -271.8 -271.7 -271.6 -271.5 -271.4 -271.3 -271.2 -271.1 -271 
+  Bin 729: -271 -270.9 -270.8 -270.7 -270.6 -270.5 -270.4 -270.3 -270.2 -270.1 -270 
+  Bin 730: -270 -269.9 -269.8 -269.7 -269.6 -269.5 -269.4 -269.3 -269.2 -269.1 -269 
+  Bin 731: -269 -268.9 -268.8 -268.7 -268.6 -268.5 -268.4 -268.3 -268.2 -268.1 -268 
+  Bin 732: -268 -267.9 -267.8 -267.7 -267.6 -267.5 -267.4 -267.3 -267.2 -267.1 -267 
+  Bin 733: -267 -266.9 -266.8 -266.7 -266.6 -266.5 -266.4 -266.3 -266.2 -266.1 -266 
+  Bin 734: -266 -265.9 -265.8 -265.7 -265.6 -265.5 -265.4 -265.3 -265.2 -265.1 -265 
+  Bin 735: -265 -264.9 -264.8 -264.7 -264.6 -264.5 -264.4 -264.3 -264.2 -264.1 -264 
+  Bin 736: -264 -263.9 -263.8 -263.7 -263.6 -263.5 -263.4 -263.3 -263.2 -263.1 -263 
+  Bin 737: -263 -262.9 -262.8 -262.7 -262.6 -262.5 -262.4 -262.3 -262.2 -262.1 -262 
+  Bin 738: -262 -261.9 -261.8 -261.7 -261.6 -261.5 -261.4 -261.3 -261.2 -261.1 -261 
+  Bin 739: -261 -260.9 -260.8 -260.7 -260.6 -260.5 -260.4 -260.3 -260.2 -260.1 -260 
+  Bin 740: -260 -259.9 -259.8 -259.7 -259.6 -259.5 -259.4 -259.3 -259.2 -259.1 -259 
+  Bin 741: -259 -258.9 -258.8 -258.7 -258.6 -258.5 -258.4 -258.3 -258.2 -258.1 -258 
+  Bin 742: -258 -257.9 -257.8 -257.7 -257.6 -257.5 -257.4 -257.3 -257.2 -257.1 -257 
+  Bin 743: -257 -256.9 -256.8 -256.7 -256.6 -256.5 -256.4 -256.3 -256.2 -256.1 -256 
+  Bin 744: -256 -255.9 -255.8 -255.7 -255.6 -255.5 -255.4 -255.3 -255.2 -255.1 -255 
+  Bin 745: -255 -254.9 -254.8 -254.7 -254.6 -254.5 -254.4 -254.3 -254.2 -254.1 -254 
+  Bin 746: -254 -253.9 -253.8 -253.7 -253.6 -253.5 -253.4 -253.3 -253.2 -253.1 -253 
+  Bin 747: -253 -252.9 -252.8 -252.7 -252.6 -252.5 -252.4 -252.3 -252.2 -252.1 -252 
+  Bin 748: -252 -251.9 -251.8 -251.7 -251.6 -251.5 -251.4 -251.3 -251.2 -251.1 -251 
+  Bin 749: -251 -250.9 -250.8 -250.7 -250.6 -250.5 -250.4 -250.3 -250.2 -250.1 -250 
+  Bin 750: -250 -249.9 -249.8 -249.7 -249.6 -249.5 -249.4 -249.3 -249.2 -249.1 -249 
+  Bin 751: -249 -248.9 -248.8 -248.7 -248.6 -248.5 -248.4 -248.3 -248.2 -248.1 -248 
+  Bin 752: -248 -247.9 -247.8 -247.7 -247.6 -247.5 -247.4 -247.3 -247.2 -247.1 -247 
+  Bin 753: -247 -246.9 -246.8 -246.7 -246.6 -246.5 -246.4 -246.3 -246.2 -246.1 -246 
+  Bin 754: -246 -245.9 -245.8 -245.7 -245.6 -245.5 -245.4 -245.3 -245.2 -245.1 -245 
+  Bin 755: -245 -244.9 -244.8 -244.7 -244.6 -244.5 -244.4 -244.3 -244.2 -244.1 -244 
+  Bin 756: -244 -243.9 -243.8 -243.7 -243.6 -243.5 -243.4 -243.3 -243.2 -243.1 -243 
+  Bin 757: -243 -242.9 -242.8 -242.7 -242.6 -242.5 -242.4 -242.3 -242.2 -242.1 -242 
+  Bin 758: -242 -241.9 -241.8 -241.7 -241.6 -241.5 -241.4 -241.3 -241.2 -241.1 -241 
+  Bin 759: -241 -240.9 -240.8 -240.7 -240.6 -240.5 -240.4 -240.3 -240.2 -240.1 -240 
+  Bin 760: -240 -239.9 -239.8 -239.7 -239.6 -239.5 -239.4 -239.3 -239.2 -239.1 -239 
+  Bin 761: -239 -238.9 -238.8 -238.7 -238.6 -238.5 -238.4 -238.3 -238.2 -238.1 -238 
+  Bin 762: -238 -237.9 -237.8 -237.7 -237.6 -237.5 -237.4 -237.3 -237.2 -237.1 -237 
+  Bin 763: -237 -236.9 -236.8 -236.7 -236.6 -236.5 -236.4 -236.3 -236.2 -236.1 -236 
+  Bin 764: -236 -235.9 -235.8 -235.7 -235.6 -235.5 -235.4 -235.3 -235.2 -235.1 -235 
+  Bin 765: -235 -234.9 -234.8 -234.7 -234.6 -234.5 -234.4 -234.3 -234.2 -234.1 -234 
+  Bin 766: -234 -233.9 -233.8 -233.7 -233.6 -233.5 -233.4 -233.3 -233.2 -233.1 -233 
+  Bin 767: -233 -232.9 -232.8 -232.7 -232.6 -232.5 -232.4 -232.3 -232.2 -232.1 -232 
+  Bin 768: -232 -231.9 -231.8 -231.7 -231.6 -231.5 -231.4 -231.3 -231.2 -231.1 -231 
+  Bin 769: -231 -230.9 -230.8 -230.7 -230.6 -230.5 -230.4 -230.3 -230.2 -230.1 -230 
+  Bin 770: -230 -229.9 -229.8 -229.7 -229.6 -229.5 -229.4 -229.3 -229.2 -229.1 -229 
+  Bin 771: -229 -228.9 -228.8 -228.7 -228.6 -228.5 -228.4 -228.3 -228.2 -228.1 -228 
+  Bin 772: -228 -227.9 -227.8 -227.7 -227.6 -227.5 -227.4 -227.3 -227.2 -227.1 -227 
+  Bin 773: -227 -226.9 -226.8 -226.7 -226.6 -226.5 -226.4 -226.3 -226.2 -226.1 -226 
+  Bin 774: -226 -225.9 -225.8 -225.7 -225.6 -225.5 -225.4 -225.3 -225.2 -225.1 -225 
+  Bin 775: -225 -224.9 -224.8 -224.7 -224.6 -224.5 -224.4 -224.3 -224.2 -224.1 -224 
+  Bin 776: -224 -223.9 -223.8 -223.7 -223.6 -223.5 -223.4 -223.3 -223.2 -223.1 -223 
+  Bin 777: -223 -222.9 -222.8 -222.7 -222.6 -222.5 -222.4 -222.3 -222.2 -222.1 -222 
+  Bin 778: -222 -221.9 -221.8 -221.7 -221.6 -221.5 -221.4 -221.3 -221.2 -221.1 -221 
+  Bin 779: -221 -220.9 -220.8 -220.7 -220.6 -220.5 -220.4 -220.3 -220.2 -220.1 -220 
+  Bin 780: -220 -219.9 -219.8 -219.7 -219.6 -219.5 -219.4 -219.3 -219.2 -219.1 -219 
+  Bin 781: -219 -218.9 -218.8 -218.7 -218.6 -218.5 -218.4 -218.3 -218.2 -218.1 -218 
+  Bin 782: -218 -217.9 -217.8 -217.7 -217.6 -217.5 -217.4 -217.3 -217.2 -217.1 -217 
+  Bin 783: -217 -216.9 -216.8 -216.7 -216.6 -216.5 -216.4 -216.3 -216.2 -216.1 -216 
+  Bin 784: -216 -215.9 -215.8 -215.7 -215.6 -215.5 -215.4 -215.3 -215.2 -215.1 -215 
+  Bin 785: -215 -214.9 -214.8 -214.7 -214.6 -214.5 -214.4 -214.3 -214.2 -214.1 -214 
+  Bin 786: -214 -213.9 -213.8 -213.7 -213.6 -213.5 -213.4 -213.3 -213.2 -213.1 -213 
+  Bin 787: -213 -212.9 -212.8 -212.7 -212.6 -212.5 -212.4 -212.3 -212.2 -212.1 -212 
+  Bin 788: -212 -211.9 -211.8 -211.7 -211.6 -211.5 -211.4 -211.3 -211.2 -211.1 -211 
+  Bin 789: -211 -210.9 -210.8 -210.7 -210.6 -210.5 -210.4 -210.3 -210.2 -210.1 -210 
+  Bin 790: -210 -209.9 -209.8 -209.7 -209.6 -209.5 -209.4 -209.3 -209.2 -209.1 -209 
+  Bin 791: -209 -208.9 -208.8 -208.7 -208.6 -208.5 -208.4 -208.3 -208.2 -208.1 -208 
+  Bin 792: -208 -207.9 -207.8 -207.7 -207.6 -207.5 -207.4 -207.3 -207.2 -207.1 -207 
+  Bin 793: -207 -206.9 -206.8 -206.7 -206.6 -206.5 -206.4 -206.3 -206.2 -206.1 -206 
+  Bin 794: -206 -205.9 -205.8 -205.7 -205.6 -205.5 -205.4 -205.3 -205.2 -205.1 -205 
+  Bin 795: -205 -204.9 -204.8 -204.7 -204.6 -204.5 -204.4 -204.3 -204.2 -204.1 -204 
+  Bin 796: -204 -203.9 -203.8 -203.7 -203.6 -203.5 -203.4 -203.3 -203.2 -203.1 -203 
+  Bin 797: -203 -202.9 -202.8 -202.7 -202.6 -202.5 -202.4 -202.3 -202.2 -202.1 -202 
+  Bin 798: -202 -201.9 -201.8 -201.7 -201.6 -201.5 -201.4 -201.3 -201.2 -201.1 -201 
+  Bin 799: -201 -200.9 -200.8 -200.7 -200.6 -200.5 -200.4 -200.3 -200.2 -200.1 -200 
+  Bin 800: -200 -199.9 -199.8 -199.7 -199.6 -199.5 -199.4 -199.3 -199.2 -199.1 -199 
+  Bin 801: -199 -198.9 -198.8 -198.7 -198.6 -198.5 -198.4 -198.3 -198.2 -198.1 -198 
+  Bin 802: -198 -197.9 -197.8 -197.7 -197.6 -197.5 -197.4 -197.3 -197.2 -197.1 -197 
+  Bin 803: -197 -196.9 -196.8 -196.7 -196.6 -196.5 -196.4 -196.3 -196.2 -196.1 -196 
+  Bin 804: -196 -195.9 -195.8 -195.7 -195.6 -195.5 -195.4 -195.3 -195.2 -195.1 -195 
+  Bin 805: -195 -194.9 -194.8 -194.7 -194.6 -194.5 -194.4 -194.3 -194.2 -194.1 -194 
+  Bin 806: -194 -193.9 -193.8 -193.7 -193.6 -193.5 -193.4 -193.3 -193.2 -193.1 -193 
+  Bin 807: -193 -192.9 -192.8 -192.7 -192.6 -192.5 -192.4 -192.3 -192.2 -192.1 -192 
+  Bin 808: -192 -191.9 -191.8 -191.7 -191.6 -191.5 -191.4 -191.3 -191.2 -191.1 -191 
+  Bin 809: -191 -190.9 -190.8 -190.7 -190.6 -190.5 -190.4 -190.3 -190.2 -190.1 -190 
+  Bin 810: -190 -189.9 -189.8 -189.7 -189.6 -189.5 -189.4 -189.3 -189.2 -189.1 -189 
+  Bin 811: -189 -188.9 -188.8 -188.7 -188.6 -188.5 -188.4 -188.3 -188.2 -188.1 -188 
+  Bin 812: -188 -187.9 -187.8 -187.7 -187.6 -187.5 -187.4 -187.3 -187.2 -187.1 -187 
+  Bin 813: -187 -186.9 -186.8 -186.7 -186.6 -186.5 -186.4 -186.3 -186.2 -186.1 -186 
+  Bin 814: -186 -185.9 -185.8 -185.7 -185.6 -185.5 -185.4 -185.3 -185.2 -185.1 -185 
+  Bin 815: -185 -184.9 -184.8 -184.7 -184.6 -184.5 -184.4 -184.3 -184.2 -184.1 -184 
+  Bin 816: -184 -183.9 -183.8 -183.7 -183.6 -183.5 -183.4 -183.3 -183.2 -183.1 -183 
+  Bin 817: -183 -182.9 -182.8 -182.7 -182.6 -182.5 -182.4 -182.3 -182.2 -182.1 -182 
+  Bin 818: -182 -181.9 -181.8 -181.7 -181.6 -181.5 -181.4 -181.3 -181.2 -181.1 -181 
+  Bin 819: -181 -180.9 -180.8 -180.7 -180.6 -180.5 -180.4 -180.3 -180.2 -180.1 -180 
+  Bin 820: -180 -179.9 -179.8 -179.7 -179.6 -179.5 -179.4 -179.3 -179.2 -179.1 -179 
+  Bin 821: -179 -178.9 -178.8 -178.7 -178.6 -178.5 -178.4 -178.3 -178.2 -178.1 -178 
+  Bin 822: -178 -177.9 -177.8 -177.7 -177.6 -177.5 -177.4 -177.3 -177.2 -177.1 -177 
+  Bin 823: -177 -176.9 -176.8 -176.7 -176.6 -176.5 -176.4 -176.3 -176.2 -176.1 -176 
+  Bin 824: -176 -175.9 -175.8 -175.7 -175.6 -175.5 -175.4 -175.3 -175.2 -175.1 -175 
+  Bin 825: -175 -174.9 -174.8 -174.7 -174.6 -174.5 -174.4 -174.3 -174.2 -174.1 -174 
+  Bin 826: -174 -173.9 -173.8 -173.7 -173.6 -173.5 -173.4 -173.3 -173.2 -173.1 -173 
+  Bin 827: -173 -172.9 -172.8 -172.7 -172.6 -172.5 -172.4 -172.3 -172.2 -172.1 -172 
+  Bin 828: -172 -171.9 -171.8 -171.7 -171.6 -171.5 -171.4 -171.3 -171.2 -171.1 -171 
+  Bin 829: -171 -170.9 -170.8 -170.7 -170.6 -170.5 -170.4 -170.3 -170.2 -170.1 -170 
+  Bin 830: -170 -169.9 -169.8 -169.7 -169.6 -169.5 -169.4 -169.3 -169.2 -169.1 -169 
+  Bin 831: -169 -168.9 -168.8 -168.7 -168.6 -168.5 -168.4 -168.3 -168.2 -168.1 -168 
+  Bin 832: -168 -167.9 -167.8 -167.7 -167.6 -167.5 -167.4 -167.3 -167.2 -167.1 -167 
+  Bin 833: -167 -166.9 -166.8 -166.7 -166.6 -166.5 -166.4 -166.3 -166.2 -166.1 -166 
+  Bin 834: -166 -165.9 -165.8 -165.7 -165.6 -165.5 -165.4 -165.3 -165.2 -165.1 -165 
+  Bin 835: -165 -164.9 -164.8 -164.7 -164.6 -164.5 -164.4 -164.3 -164.2 -164.1 -164 
+  Bin 836: -164 -163.9 -163.8 -163.7 -163.6 -163.5 -163.4 -163.3 -163.2 -163.1 -163 
+  Bin 837: -163 -162.9 -162.8 -162.7 -162.6 -162.5 -162.4 -162.3 -162.2 -162.1 -162 
+  Bin 838: -162 -161.9 -161.8 -161.7 -161.6 -161.5 -161.4 -161.3 -161.2 -161.1 -161 
+  Bin 839: -161 -160.9 -160.8 -160.7 -160.6 -160.5 -160.4 -160.3 -160.2 -160.1 -160 
+  Bin 840: -160 -159.9 -159.8 -159.7 -159.6 -159.5 -159.4 -159.3 -159.2 -159.1 -159 
+  Bin 841: -159 -158.9 -158.8 -158.7 -158.6 -158.5 -158.4 -158.3 -158.2 -158.1 -158 
+  Bin 842: -158 -157.9 -157.8 -157.7 -157.6 -157.5 -157.4 -157.3 -157.2 -157.1 -157 
+  Bin 843: -157 -156.9 -156.8 -156.7 -156.6 -156.5 -156.4 -156.3 -156.2 -156.1 -156 
+  Bin 844: -156 -155.9 -155.8 -155.7 -155.6 -155.5 -155.4 -155.3 -155.2 -155.1 -155 
+  Bin 845: -155 -154.9 -154.8 -154.7 -154.6 -154.5 -154.4 -154.3 -154.2 -154.1 -154 
+  Bin 846: -154 -153.9 -153.8 -153.7 -153.6 -153.5 -153.4 -153.3 -153.2 -153.1 -153 
+  Bin 847: -153 -152.9 -152.8 -152.7 -152.6 -152.5 -152.4 -152.3 -152.2 -152.1 -152 
+  Bin 848: -152 -151.9 -151.8 -151.7 -151.6 -151.5 -151.4 -151.3 -151.2 -151.1 -151 
+  Bin 849: -151 -150.9 -150.8 -150.7 -150.6 -150.5 -150.4 -150.3 -150.2 -150.1 -150 
+  Bin 850: -150 -149.9 -149.8 -149.7 -149.6 -149.5 -149.4 -149.3 -149.2 -149.1 -149 
+  Bin 851: -149 -148.9 -148.8 -148.7 -148.6 -148.5 -148.4 -148.3 -148.2 -148.1 -148 
+  Bin 852: -148 -147.9 -147.8 -147.7 -147.6 -147.5 -147.4 -147.3 -147.2 -147.1 -147 
+  Bin 853: -147 -146.9 -146.8 -146.7 -146.6 -146.5 -146.4 -146.3 -146.2 -146.1 -146 
+  Bin 854: -146 -145.9 -145.8 -145.7 -145.6 -145.5 -145.4 -145.3 -145.2 -145.1 -145 
+  Bin 855: -145 -144.9 -144.8 -144.7 -144.6 -144.5 -144.4 -144.3 -144.2 -144.1 -144 
+  Bin 856: -144 -143.9 -143.8 -143.7 -143.6 -143.5 -143.4 -143.3 -143.2 -143.1 -143 
+  Bin 857: -143 -142.9 -142.8 -142.7 -142.6 -142.5 -142.4 -142.3 -142.2 -142.1 -142 
+  Bin 858: -142 -141.9 -141.8 -141.7 -141.6 -141.5 -141.4 -141.3 -141.2 -141.1 -141 
+  Bin 859: -141 -140.9 -140.8 -140.7 -140.6 -140.5 -140.4 -140.3 -140.2 -140.1 -140 
+  Bin 860: -140 -139.9 -139.8 -139.7 -139.6 -139.5 -139.4 -139.3 -139.2 -139.1 -139 
+  Bin 861: -139 -138.9 -138.8 -138.7 -138.6 -138.5 -138.4 -138.3 -138.2 -138.1 -138 
+  Bin 862: -138 -137.9 -137.8 -137.7 -137.6 -137.5 -137.4 -137.3 -137.2 -137.1 -137 
+  Bin 863: -137 -136.9 -136.8 -136.7 -136.6 -136.5 -136.4 -136.3 -136.2 -136.1 -136 
+  Bin 864: -136 -135.9 -135.8 -135.7 -135.6 -135.5 -135.4 -135.3 -135.2 -135.1 -135 
+  Bin 865: -135 -134.9 -134.8 -134.7 -134.6 -134.5 -134.4 -134.3 -134.2 -134.1 -134 
+  Bin 866: -134 -133.9 -133.8 -133.7 -133.6 -133.5 -133.4 -133.3 -133.2 -133.1 -133 
+  Bin 867: -133 -132.9 -132.8 -132.7 -132.6 -132.5 -132.4 -132.3 -132.2 -132.1 -132 
+  Bin 868: -132 -131.9 -131.8 -131.7 -131.6 -131.5 -131.4 -131.3 -131.2 -131.1 -131 
+  Bin 869: -131 -130.9 -130.8 -130.7 -130.6 -130.5 -130.4 -130.3 -130.2 -130.1 -130 
+  Bin 870: -130 -129.9 -129.8 -129.7 -129.6 -129.5 -129.4 -129.3 -129.2 -129.1 -129 
+  Bin 871: -129 -128.9 -128.8 -128.7 -128.6 -128.5 -128.4 -128.3 -128.2 -128.1 -128 
+  Bin 872: -128 -127.9 -127.8 -127.7 -127.6 -127.5 -127.4 -127.3 -127.2 -127.1 -127 
+  Bin 873: -127 -126.9 -126.8 -126.7 -126.6 -126.5 -126.4 -126.3 -126.2 -126.1 -126 
+  Bin 874: -126 -125.9 -125.8 -125.7 -125.6 -125.5 -125.4 -125.3 -125.2 -125.1 -125 
+  Bin 875: -125 -124.9 -124.8 -124.7 -124.6 -124.5 -124.4 -124.3 -124.2 -124.1 -124 
+  Bin 876: -124 -123.9 -123.8 -123.7 -123.6 -123.5 -123.4 -123.3 -123.2 -123.1 -123 
+  Bin 877: -123 -122.9 -122.8 -122.7 -122.6 -122.5 -122.4 -122.3 -122.2 -122.1 -122 
+  Bin 878: -122 -121.9 -121.8 -121.7 -121.6 -121.5 -121.4 -121.3 -121.2 -121.1 -121 
+  Bin 879: -121 -120.9 -120.8 -120.7 -120.6 -120.5 -120.4 -120.3 -120.2 -120.1 -120 
+  Bin 880: -120 -119.9 -119.8 -119.7 -119.6 -119.5 -119.4 -119.3 -119.2 -119.1 -119 
+  Bin 881: -119 -118.9 -118.8 -118.7 -118.6 -118.5 -118.4 -118.3 -118.2 -118.1 -118 
+  Bin 882: -118 -117.9 -117.8 -117.7 -117.6 -117.5 -117.4 -117.3 -117.2 -117.1 -117 
+  Bin 883: -117 -116.9 -116.8 -116.7 -116.6 -116.5 -116.4 -116.3 -116.2 -116.1 -116 
+  Bin 884: -116 -115.9 -115.8 -115.7 -115.6 -115.5 -115.4 -115.3 -115.2 -115.1 -115 
+  Bin 885: -115 -114.9 -114.8 -114.7 -114.6 -114.5 -114.4 -114.3 -114.2 -114.1 -114 
+  Bin 886: -114 -113.9 -113.8 -113.7 -113.6 -113.5 -113.4 -113.3 -113.2 -113.1 -113 
+  Bin 887: -113 -112.9 -112.8 -112.7 -112.6 -112.5 -112.4 -112.3 -112.2 -112.1 -112 
+  Bin 888: -112 -111.9 -111.8 -111.7 -111.6 -111.5 -111.4 -111.3 -111.2 -111.1 -111 
+  Bin 889: -111 -110.9 -110.8 -110.7 -110.6 -110.5 -110.4 -110.3 -110.2 -110.1 -110 
+  Bin 890: -110 -109.9 -109.8 -109.7 -109.6 -109.5 -109.4 -109.3 -109.2 -109.1 -109 
+  Bin 891: -109 -108.9 -108.8 -108.7 -108.6 -108.5 -108.4 -108.3 -108.2 -108.1 -108 
+  Bin 892: -108 -107.9 -107.8 -107.7 -107.6 -107.5 -107.4 -107.3 -107.2 -107.1 -107 
+  Bin 893: -107 -106.9 -106.8 -106.7 -106.6 -106.5 -106.4 -106.3 -106.2 -106.1 -106 
+  Bin 894: -106 -105.9 -105.8 -105.7 -105.6 -105.5 -105.4 -105.3 -105.2 -105.1 -105 
+  Bin 895: -105 -104.9 -104.8 -104.7 -104.6 -104.5 -104.4 -104.3 -104.2 -104.1 -104 
+  Bin 896: -104 -103.9 -103.8 -103.7 -103.6 -103.5 -103.4 -103.3 -103.2 -103.1 -103 
+  Bin 897: -103 -102.9 -102.8 -102.7 -102.6 -102.5 -102.4 -102.3 -102.2 -102.1 -102 
+  Bin 898: -102 -101.9 -101.8 -101.7 -101.6 -101.5 -101.4 -101.3 -101.2 -101.1 -101 
+  Bin 899: -101 -100.9 -100.8 -100.7 -100.6 -100.5 -100.4 -100.3 -100.2 -100.1 -100 
+  Bin 900: -100 -99.9 -99.8 -99.7 -99.6 -99.5 -99.4 -99.3 -99.2 -99.1 -99 
+  Bin 901: -99 -98.9 -98.8 -98.7 -98.6 -98.5 -98.4 -98.3 -98.2 -98.1 -98 
+  Bin 902: -98 -97.9 -97.8 -97.7 -97.6 -97.5 -97.4 -97.3 -97.2 -97.1 -97 
+  Bin 903: -97 -96.9 -96.8 -96.7 -96.6 -96.5 -96.4 -96.3 -96.2 -96.1 -96 
+  Bin 904: -96 -95.9 -95.8 -95.7 -95.6 -95.5 -95.4 -95.3 -95.2 -95.1 -95 
+  Bin 905: -95 -94.9 -94.8 -94.7 -94.6 -94.5 -94.4 -94.3 -94.2 -94.1 -94 
+  Bin 906: -94 -93.9 -93.8 -93.7 -93.6 -93.5 -93.4 -93.3 -93.2 -93.1 -93 
+  Bin 907: -93 -92.9 -92.8 -92.7 -92.6 -92.5 -92.4 -92.3 -92.2 -92.1 -92 
+  Bin 908: -92 -91.9 -91.8 -91.7 -91.6 -91.5 -91.4 -91.3 -91.2 -91.1 -91 
+  Bin 909: -91 -90.9 -90.8 -90.7 -90.6 -90.5 -90.4 -90.3 -90.2 -90.1 -90 
+  Bin 910: -90 -89.9 -89.8 -89.7 -89.6 -89.5 -89.4 -89.3 -89.2 -89.1 -89 
+  Bin 911: -89 -88.9 -88.8 -88.7 -88.6 -88.5 -88.4 -88.3 -88.2 -88.1 -88 
+  Bin 912: -88 -87.9 -87.8 -87.7 -87.6 -87.5 -87.4 -87.3 -87.2 -87.1 -87 
+  Bin 913: -87 -86.9 -86.8 -86.7 -86.6 -86.5 -86.4 -86.3 -86.2 -86.1 -86 
+  Bin 914: -86 -85.9 -85.8 -85.7 -85.6 -85.5 -85.4 -85.3 -85.2 -85.1 -85 
+  Bin 915: -85 -84.9 -84.8 -84.7 -84.6 -84.5 -84.4 -84.3 -84.2 -84.1 -84 
+  Bin 916: -84 -83.9 -83.8 -83.7 -83.6 -83.5 -83.4 -83.3 -83.2 -83.1 -83 
+  Bin 917: -83 -82.9 -82.8 -82.7 -82.6 -82.5 -82.4 -82.3 -82.2 -82.1 -82 
+  Bin 918: -82 -81.9 -81.8 -81.7 -81.6 -81.5 -81.4 -81.3 -81.2 -81.1 -81 
+  Bin 919: -81 -80.9 -80.8 -80.7 -80.6 -80.5 -80.4 -80.3 -80.2 -80.1 -80 
+  Bin 920: -80 -79.9 -79.8 -79.7 -79.6 -79.5 -79.4 -79.3 -79.2 -79.1 -79 
+  Bin 921: -79 -78.9 -78.8 -78.7 -78.6 -78.5 -78.4 -78.3 -78.2 -78.1 -78 
+  Bin 922: -78 -77.9 -77.8 -77.7 -77.6 -77.5 -77.4 -77.3 -77.2 -77.1 -77 
+  Bin 923: -77 -76.9 -76.8 -76.7 -76.6 -76.5 -76.4 -76.3 -76.2 -76.1 -76 
+  Bin 924: -76 -75.9 -75.8 -75.7 -75.6 -75.5 -75.4 -75.3 -75.2 -75.1 -75 
+  Bin 925: -75 -74.9 -74.8 -74.7 -74.6 -74.5 -74.4 -74.3 -74.2 -74.1 -74 
+  Bin 926: -74 -73.9 -73.8 -73.7 -73.6 -73.5 -73.4 -73.3 -73.2 -73.1 -73 
+  Bin 927: -73 -72.9 -72.8 -72.7 -72.6 -72.5 -72.4 -72.3 -72.2 -72.1 -72 
+  Bin 928: -72 -71.9 -71.8 -71.7 -71.6 -71.5 -71.4 -71.3 -71.2 -71.1 -71 
+  Bin 929: -71 -70.9 -70.8 -70.7 -70.6 -70.5 -70.4 -70.3 -70.2 -70.1 -70 
+  Bin 930: -70 -69.9 -69.8 -69.7 -69.6 -69.5 -69.4 -69.3 -69.2 -69.1 -69 
+  Bin 931: -69 -68.9 -68.8 -68.7 -68.6 -68.5 -68.4 -68.3 -68.2 -68.1 -68 
+  Bin 932: -68 -67.9 -67.8 -67.7 -67.6 -67.5 -67.4 -67.3 -67.2 -67.1 -67 
+  Bin 933: -67 -66.9 -66.8 -66.7 -66.6 -66.5 -66.4 -66.3 -66.2 -66.1 -66 
+  Bin 934: -66 -65.9 -65.8 -65.7 -65.6 -65.5 -65.4 -65.3 -65.2 -65.1 -65 
+  Bin 935: -65 -64.9 -64.8 -64.7 -64.6 -64.5 -64.4 -64.3 -64.2 -64.1 -64 
+  Bin 936: -64 -63.9 -63.8 -63.7 -63.6 -63.5 -63.4 -63.3 -63.2 -63.1 -63 
+  Bin 937: -63 -62.9 -62.8 -62.7 -62.6 -62.5 -62.4 -62.3 -62.2 -62.1 -62 
+  Bin 938: -62 -61.9 -61.8 -61.7 -61.6 -61.5 -61.4 -61.3 -61.2 -61.1 -61 
+  Bin 939: -61 -60.9 -60.8 -60.7 -60.6 -60.5 -60.4 -60.3 -60.2 -60.1 -60 
+  Bin 940: -60 -59.9 -59.8 -59.7 -59.6 -59.5 -59.4 -59.3 -59.2 -59.1 -59 
+  Bin 941: -59 -58.9 -58.8 -58.7 -58.6 -58.5 -58.4 -58.3 -58.2 -58.1 -58 
+  Bin 942: -58 -57.9 -57.8 -57.7 -57.6 -57.5 -57.4 -57.3 -57.2 -57.1 -57 
+  Bin 943: -57 -56.9 -56.8 -56.7 -56.6 -56.5 -56.4 -56.3 -56.2 -56.1 -56 
+  Bin 944: -56 -55.9 -55.8 -55.7 -55.6 -55.5 -55.4 -55.3 -55.2 -55.1 -55 
+  Bin 945: -55 -54.9 -54.8 -54.7 -54.6 -54.5 -54.4 -54.3 -54.2 -54.1 -54 
+  Bin 946: -54 -53.9 -53.8 -53.7 -53.6 -53.5 -53.4 -53.3 -53.2 -53.1 -53 
+  Bin 947: -53 -52.9 -52.8 -52.7 -52.6 -52.5 -52.4 -52.3 -52.2 -52.1 -52 
+  Bin 948: -52 -51.9 -51.8 -51.7 -51.6 -51.5 -51.4 -51.3 -51.2 -51.1 -51 
+  Bin 949: -51 -50.9 -50.8 -50.7 -50.6 -50.5 -50.4 -50.3 -50.2 -50.1 -50 
+  Bin 950: -50 -49.9 -49.8 -49.7 -49.6 -49.5 -49.4 -49.3 -49.2 -49.1 -49 
+  Bin 951: -49 -48.9 -48.8 -48.7 -48.6 -48.5 -48.4 -48.3 -48.2 -48.1 -48 
+  Bin 952: -48 -47.9 -47.8 -47.7 -47.6 -47.5 -47.4 -47.3 -47.2 -47.1 -47 
+  Bin 953: -47 -46.9 -46.8 -46.7 -46.6 -46.5 -46.4 -46.3 -46.2 -46.1 -46 
+  Bin 954: -46 -45.9 -45.8 -45.7 -45.6 -45.5 -45.4 -45.3 -45.2 -45.1 -45 
+  Bin 955: -45 -44.9 -44.8 -44.7 -44.6 -44.5 -44.4 -44.3 -44.2 -44.1 -44 
+  Bin 956: -44 -43.9 -43.8 -43.7 -43.6 -43.5 -43.4 -43.3 -43.2 -43.1 -43 
+  Bin 957: -43 -42.9 -42.8 -42.7 -42.6 -42.5 -42.4 -42.3 -42.2 -42.1 -42 
+  Bin 958: -42 -41.9 -41.8 -41.7 -41.6 -41.5 -41.4 -41.3 -41.2 -41.1 -41 
+  Bin 959: -41 -40.9 -40.8 -40.7 -40.6 -40.5 -40.4 -40.3 -40.2 -40.1 -40 
+  Bin 960: -40 -39.9 -39.8 -39.7 -39.6 -39.5 -39.4 -39.3 -39.2 -39.1 -39 
+  Bin 961: -39 -38.9 -38.8 -38.7 -38.6 -38.5 -38.4 -38.3 -38.2 -38.1 -38 
+  Bin 962: -38 -37.9 -37.8 -37.7 -37.6 -37.5 -37.4 -37.3 -37.2 -37.1 -37 
+  Bin 963: -37 -36.9 -36.8 -36.7 -36.6 -36.5 -36.4 -36.3 -36.2 -36.1 -36 
+  Bin 964: -36 -35.9 -35.8 -35.7 -35.6 -35.5 -35.4 -35.3 -35.2 -35.1 -35 
+  Bin 965: -35 -34.9 -34.8 -34.7 -34.6 -34.5 -34.4 -34.3 -34.2 -34.1 -34 
+  Bin 966: -34 -33.9 -33.8 -33.7 -33.6 -33.5 -33.4 -33.3 -33.2 -33.1 -33 
+  Bin 967: -33 -32.9 -32.8 -32.7 -32.6 -32.5 -32.4 -32.3 -32.2 -32.1 -32 
+  Bin 968: -32 -31.9 -31.8 -31.7 -31.6 -31.5 -31.4 -31.3 -31.2 -31.1 -31 
+  Bin 969: -31 -30.9 -30.8 -30.7 -30.6 -30.5 -30.4 -30.3 -30.2 -30.1 -30 
+  Bin 970: -30 -29.9 -29.8 -29.7 -29.6 -29.5 -29.4 -29.3 -29.2 -29.1 -29 
+  Bin 971: -29 -28.9 -28.8 -28.7 -28.6 -28.5 -28.4 -28.3 -28.2 -28.1 -28 
+  Bin 972: -28 -27.9 -27.8 -27.7 -27.6 -27.5 -27.4 -27.3 -27.2 -27.1 -27 
+  Bin 973: -27 -26.9 -26.8 -26.7 -26.6 -26.5 -26.4 -26.3 -26.2 -26.1 -26 
+  Bin 974: -26 -25.9 -25.8 -25.7 -25.6 -25.5 -25.4 -25.3 -25.2 -25.1 -25 
+  Bin 975: -25 -24.9 -24.8 -24.7 -24.6 -24.5 -24.4 -24.3 -24.2 -24.1 -24 
+  Bin 976: -24 -23.9 -23.8 -23.7 -23.6 -23.5 -23.4 -23.3 -23.2 -23.1 -23 
+  Bin 977: -23 -22.9 -22.8 -22.7 -22.6 -22.5 -22.4 -22.3 -22.2 -22.1 -22 
+  Bin 978: -22 -21.9 -21.8 -21.7 -21.6 -21.5 -21.4 -21.3 -21.2 -21.1 -21 
+  Bin 979: -21 -20.9 -20.8 -20.7 -20.6 -20.5 -20.4 -20.3 -20.2 -20.1 -20 
+  Bin 980: -20 -19.9 -19.8 -19.7 -19.6 -19.5 -19.4 -19.3 -19.2 -19.1 -19 
+  Bin 981: -19 -18.9 -18.8 -18.7 -18.6 -18.5 -18.4 -18.3 -18.2 -18.1 -18 
+  Bin 982: -18 -17.9 -17.8 -17.7 -17.6 -17.5 -17.4 -17.3 -17.2 -17.1 -17 
+  Bin 983: -17 -16.9 -16.8 -16.7 -16.6 -16.5 -16.4 -16.3 -16.2 -16.1 -16 
+  Bin 984: -16 -15.9 -15.8 -15.7 -15.6 -15.5 -15.4 -15.3 -15.2 -15.1 -15 
+  Bin 985: -15 -14.9 -14.8 -14.7 -14.6 -14.5 -14.4 -14.3 -14.2 -14.1 -14 
+  Bin 986: -14 -13.9 -13.8 -13.7 -13.6 -13.5 -13.4 -13.3 -13.2 -13.1 -13 
+  Bin 987: -13 -12.9 -12.8 -12.7 -12.6 -12.5 -12.4 -12.3 -12.2 -12.1 -12 
+  Bin 988: -12 -11.9 -11.8 -11.7 -11.6 -11.5 -11.4 -11.3 -11.2 -11.1 -11 
+  Bin 989: -11 -10.9 -10.8 -10.7 -10.6 -10.5 -10.4 -10.3 -10.2 -10.1 -10 
+  Bin 990: -10 -9.9 -9.8 -9.7 -9.6 -9.5 -9.4 -9.3 -9.2 -9.1 -9 
+  Bin 991: -9 -8.9 -8.8 -8.7 -8.6 -8.5 -8.4 -8.3 -8.2 -8.1 -8 
+  Bin 992: -8 -7.9 -7.8 -7.7 -7.6 -7.5 -7.4 -7.3 -7.2 -7.1 -7 
+  Bin 993: -7 -6.9 -6.8 -6.7 -6.6 -6.5 -6.4 -6.3 -6.2 -6.1 -6 
+  Bin 994: -6 -5.9 -5.8 -5.7 -5.6 -5.5 -5.4 -5.3 -5.2 -5.1 -5 
+  Bin 995: -5 -4.9 -4.8 -4.7 -4.6 -4.5 -4.4 -4.3 -4.2 -4.1 -4 
+  Bin 996: -4 -3.9 -3.8 -3.7 -3.6 -3.5 -3.4 -3.3 -3.2 -3.1 -3 
+  Bin 997: -3 -2.9 -2.8 -2.7 -2.6 -2.5 -2.4 -2.3 -2.2 -2.1 -2 
+  Bin 998: -2 -1.9 -1.8 -1.7 -1.6 -1.5 -1.4 -1.3 -1.2 -1.1 -1 
+  Bin 999: -1 -0.9 -0.8 -0.7 -0.6 -0.5 -0.4 -0.3 -0.2 -0.1 0 
+  Bin 1000: 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 
+  Bin 1001: 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2 
+  Bin 1002: 2 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3 
+  Bin 1003: 3 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 4 
+  Bin 1004: 4 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 5 
+  Bin 1005: 5 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 6 
+  Bin 1006: 6 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 7 
+  Bin 1007: 7 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 8 
+  Bin 1008: 8 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 9 
+  Bin 1009: 9 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 10 
+  Bin 1010: 10 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 11 
+  Bin 1011: 11 11.1 11.2 11.3 11.4 11.5 11.6 11.7 11.8 11.9 12 
+  Bin 1012: 12 12.1 12.2 12.3 12.4 12.5 12.6 12.7 12.8 12.9 13 
+  Bin 1013: 13 13.1 13.2 13.3 13.4 13.5 13.6 13.7 13.8 13.9 14 
+  Bin 1014: 14 14.1 14.2 14.3 14.4 14.5 14.6 14.7 14.8 14.9 15 
+  Bin 1015: 15 15.1 15.2 15.3 15.4 15.5 15.6 15.7 15.8 15.9 16 
+  Bin 1016: 16 16.1 16.2 16.3 16.4 16.5 16.6 16.7 16.8 16.9 17 
+  Bin 1017: 17 17.1 17.2 17.3 17.4 17.5 17.6 17.7 17.8 17.9 18 
+  Bin 1018: 18 18.1 18.2 18.3 18.4 18.5 18.6 18.7 18.8 18.9 19 
+  Bin 1019: 19 19.1 19.2 19.3 19.4 19.5 19.6 19.7 19.8 19.9 20 
+  Bin 1020: 20 20.1 20.2 20.3 20.4 20.5 20.6 20.7 20.8 20.9 21 
+  Bin 1021: 21 21.1 21.2 21.3 21.4 21.5 21.6 21.7 21.8 21.9 22 
+  Bin 1022: 22 22.1 22.2 22.3 22.4 22.5 22.6 22.7 22.8 22.9 23 
+  Bin 1023: 23 23.1 23.2 23.3 23.4 23.5 23.6 23.7 23.8 23.9 24 
+  Bin 1024: 24 24.1 24.2 24.3 24.4 24.5 24.6 24.7 24.8 24.9 25 
+  Bin 1025: 25 25.1 25.2 25.3 25.4 25.5 25.6 25.7 25.8 25.9 26 
+  Bin 1026: 26 26.1 26.2 26.3 26.4 26.5 26.6 26.7 26.8 26.9 27 
+  Bin 1027: 27 27.1 27.2 27.3 27.4 27.5 27.6 27.7 27.8 27.9 28 
+  Bin 1028: 28 28.1 28.2 28.3 28.4 28.5 28.6 28.7 28.8 28.9 29 
+  Bin 1029: 29 29.1 29.2 29.3 29.4 29.5 29.6 29.7 29.8 29.9 30 
+  Bin 1030: 30 30.1 30.2 30.3 30.4 30.5 30.6 30.7 30.8 30.9 31 
+  Bin 1031: 31 31.1 31.2 31.3 31.4 31.5 31.6 31.7 31.8 31.9 32 
+  Bin 1032: 32 32.1 32.2 32.3 32.4 32.5 32.6 32.7 32.8 32.9 33 
+  Bin 1033: 33 33.1 33.2 33.3 33.4 33.5 33.6 33.7 33.8 33.9 34 
+  Bin 1034: 34 34.1 34.2 34.3 34.4 34.5 34.6 34.7 34.8 34.9 35 
+  Bin 1035: 35 35.1 35.2 35.3 35.4 35.5 35.6 35.7 35.8 35.9 36 
+  Bin 1036: 36 36.1 36.2 36.3 36.4 36.5 36.6 36.7 36.8 36.9 37 
+  Bin 1037: 37 37.1 37.2 37.3 37.4 37.5 37.6 37.7 37.8 37.9 38 
+  Bin 1038: 38 38.1 38.2 38.3 38.4 38.5 38.6 38.7 38.8 38.9 39 
+  Bin 1039: 39 39.1 39.2 39.3 39.4 39.5 39.6 39.7 39.8 39.9 40 
+  Bin 1040: 40 40.1 40.2 40.3 40.4 40.5 40.6 40.7 40.8 40.9 41 
+  Bin 1041: 41 41.1 41.2 41.3 41.4 41.5 41.6 41.7 41.8 41.9 42 
+  Bin 1042: 42 42.1 42.2 42.3 42.4 42.5 42.6 42.7 42.8 42.9 43 
+  Bin 1043: 43 43.1 43.2 43.3 43.4 43.5 43.6 43.7 43.8 43.9 44 
+  Bin 1044: 44 44.1 44.2 44.3 44.4 44.5 44.6 44.7 44.8 44.9 45 
+  Bin 1045: 45 45.1 45.2 45.3 45.4 45.5 45.6 45.7 45.8 45.9 46 
+  Bin 1046: 46 46.1 46.2 46.3 46.4 46.5 46.6 46.7 46.8 46.9 47 
+  Bin 1047: 47 47.1 47.2 47.3 47.4 47.5 47.6 47.7 47.8 47.9 48 
+  Bin 1048: 48 48.1 48.2 48.3 48.4 48.5 48.6 48.7 48.8 48.9 49 
+  Bin 1049: 49 49.1 49.2 49.3 49.4 49.5 49.6 49.7 49.8 49.9 50 
+  Bin 1050: 50 50.1 50.2 50.3 50.4 50.5 50.6 50.7 50.8 50.9 51 
+  Bin 1051: 51 51.1 51.2 51.3 51.4 51.5 51.6 51.7 51.8 51.9 52 
+  Bin 1052: 52 52.1 52.2 52.3 52.4 52.5 52.6 52.7 52.8 52.9 53 
+  Bin 1053: 53 53.1 53.2 53.3 53.4 53.5 53.6 53.7 53.8 53.9 54 
+  Bin 1054: 54 54.1 54.2 54.3 54.4 54.5 54.6 54.7 54.8 54.9 55 
+  Bin 1055: 55 55.1 55.2 55.3 55.4 55.5 55.6 55.7 55.8 55.9 56 
+  Bin 1056: 56 56.1 56.2 56.3 56.4 56.5 56.6 56.7 56.8 56.9 57 
+  Bin 1057: 57 57.1 57.2 57.3 57.4 57.5 57.6 57.7 57.8 57.9 58 
+  Bin 1058: 58 58.1 58.2 58.3 58.4 58.5 58.6 58.7 58.8 58.9 59 
+  Bin 1059: 59 59.1 59.2 59.3 59.4 59.5 59.6 59.7 59.8 59.9 60 
+  Bin 1060: 60 60.1 60.2 60.3 60.4 60.5 60.6 60.7 60.8 60.9 61 
+  Bin 1061: 61 61.1 61.2 61.3 61.4 61.5 61.6 61.7 61.8 61.9 62 
+  Bin 1062: 62 62.1 62.2 62.3 62.4 62.5 62.6 62.7 62.8 62.9 63 
+  Bin 1063: 63 63.1 63.2 63.3 63.4 63.5 63.6 63.7 63.8 63.9 64 
+  Bin 1064: 64 64.1 64.2 64.3 64.4 64.5 64.6 64.7 64.8 64.9 65 
+  Bin 1065: 65 65.1 65.2 65.3 65.4 65.5 65.6 65.7 65.8 65.9 66 
+  Bin 1066: 66 66.1 66.2 66.3 66.4 66.5 66.6 66.7 66.8 66.9 67 
+  Bin 1067: 67 67.1 67.2 67.3 67.4 67.5 67.6 67.7 67.8 67.9 68 
+  Bin 1068: 68 68.1 68.2 68.3 68.4 68.5 68.6 68.7 68.8 68.9 69 
+  Bin 1069: 69 69.1 69.2 69.3 69.4 69.5 69.6 69.7 69.8 69.9 70 
+  Bin 1070: 70 70.1 70.2 70.3 70.4 70.5 70.6 70.7 70.8 70.9 71 
+  Bin 1071: 71 71.1 71.2 71.3 71.4 71.5 71.6 71.7 71.8 71.9 72 
+  Bin 1072: 72 72.1 72.2 72.3 72.4 72.5 72.6 72.7 72.8 72.9 73 
+  Bin 1073: 73 73.1 73.2 73.3 73.4 73.5 73.6 73.7 73.8 73.9 74 
+  Bin 1074: 74 74.1 74.2 74.3 74.4 74.5 74.6 74.7 74.8 74.9 75 
+  Bin 1075: 75 75.1 75.2 75.3 75.4 75.5 75.6 75.7 75.8 75.9 76 
+  Bin 1076: 76 76.1 76.2 76.3 76.4 76.5 76.6 76.7 76.8 76.9 77 
+  Bin 1077: 77 77.1 77.2 77.3 77.4 77.5 77.6 77.7 77.8 77.9 78 
+  Bin 1078: 78 78.1 78.2 78.3 78.4 78.5 78.6 78.7 78.8 78.9 79 
+  Bin 1079: 79 79.1 79.2 79.3 79.4 79.5 79.6 79.7 79.8 79.9 80 
+  Bin 1080: 80 80.1 80.2 80.3 80.4 80.5 80.6 80.7 80.8 80.9 81 
+  Bin 1081: 81 81.1 81.2 81.3 81.4 81.5 81.6 81.7 81.8 81.9 82 
+  Bin 1082: 82 82.1 82.2 82.3 82.4 82.5 82.6 82.7 82.8 82.9 83 
+  Bin 1083: 83 83.1 83.2 83.3 83.4 83.5 83.6 83.7 83.8 83.9 84 
+  Bin 1084: 84 84.1 84.2 84.3 84.4 84.5 84.6 84.7 84.8 84.9 85 
+  Bin 1085: 85 85.1 85.2 85.3 85.4 85.5 85.6 85.7 85.8 85.9 86 
+  Bin 1086: 86 86.1 86.2 86.3 86.4 86.5 86.6 86.7 86.8 86.9 87 
+  Bin 1087: 87 87.1 87.2 87.3 87.4 87.5 87.6 87.7 87.8 87.9 88 
+  Bin 1088: 88 88.1 88.2 88.3 88.4 88.5 88.6 88.7 88.8 88.9 89 
+  Bin 1089: 89 89.1 89.2 89.3 89.4 89.5 89.6 89.7 89.8 89.9 90 
+  Bin 1090: 90 90.1 90.2 90.3 90.4 90.5 90.6 90.7 90.8 90.9 91 
+  Bin 1091: 91 91.1 91.2 91.3 91.4 91.5 91.6 91.7 91.8 91.9 92 
+  Bin 1092: 92 92.1 92.2 92.3 92.4 92.5 92.6 92.7 92.8 92.9 93 
+  Bin 1093: 93 93.1 93.2 93.3 93.4 93.5 93.6 93.7 93.8 93.9 94 
+  Bin 1094: 94 94.1 94.2 94.3 94.4 94.5 94.6 94.7 94.8 94.9 95 
+  Bin 1095: 95 95.1 95.2 95.3 95.4 95.5 95.6 95.7 95.8 95.9 96 
+  Bin 1096: 96 96.1 96.2 96.3 96.4 96.5 96.6 96.7 96.8 96.9 97 
+  Bin 1097: 97 97.1 97.2 97.3 97.4 97.5 97.6 97.7 97.8 97.9 98 
+  Bin 1098: 98 98.1 98.2 98.3 98.4 98.5 98.6 98.7 98.8 98.9 99 
+  Bin 1099: 99 99.1 99.2 99.3 99.4 99.5 99.6 99.7 99.8 99.9 100 
+  Bin 1100: 100 100.1 100.2 100.3 100.4 100.5 100.6 100.7 100.8 100.9 101 
+  Bin 1101: 101 101.1 101.2 101.3 101.4 101.5 101.6 101.7 101.8 101.9 102 
+  Bin 1102: 102 102.1 102.2 102.3 102.4 102.5 102.6 102.7 102.8 102.9 103 
+  Bin 1103: 103 103.1 103.2 103.3 103.4 103.5 103.6 103.7 103.8 103.9 104 
+  Bin 1104: 104 104.1 104.2 104.3 104.4 104.5 104.6 104.7 104.8 104.9 105 
+  Bin 1105: 105 105.1 105.2 105.3 105.4 105.5 105.6 105.7 105.8 105.9 106 
+  Bin 1106: 106 106.1 106.2 106.3 106.4 106.5 106.6 106.7 106.8 106.9 107 
+  Bin 1107: 107 107.1 107.2 107.3 107.4 107.5 107.6 107.7 107.8 107.9 108 
+  Bin 1108: 108 108.1 108.2 108.3 108.4 108.5 108.6 108.7 108.8 108.9 109 
+  Bin 1109: 109 109.1 109.2 109.3 109.4 109.5 109.6 109.7 109.8 109.9 110 
+  Bin 1110: 110 110.1 110.2 110.3 110.4 110.5 110.6 110.7 110.8 110.9 111 
+  Bin 1111: 111 111.1 111.2 111.3 111.4 111.5 111.6 111.7 111.8 111.9 112 
+  Bin 1112: 112 112.1 112.2 112.3 112.4 112.5 112.6 112.7 112.8 112.9 113 
+  Bin 1113: 113 113.1 113.2 113.3 113.4 113.5 113.6 113.7 113.8 113.9 114 
+  Bin 1114: 114 114.1 114.2 114.3 114.4 114.5 114.6 114.7 114.8 114.9 115 
+  Bin 1115: 115 115.1 115.2 115.3 115.4 115.5 115.6 115.7 115.8 115.9 116 
+  Bin 1116: 116 116.1 116.2 116.3 116.4 116.5 116.6 116.7 116.8 116.9 117 
+  Bin 1117: 117 117.1 117.2 117.3 117.4 117.5 117.6 117.7 117.8 117.9 118 
+  Bin 1118: 118 118.1 118.2 118.3 118.4 118.5 118.6 118.7 118.8 118.9 119 
+  Bin 1119: 119 119.1 119.2 119.3 119.4 119.5 119.6 119.7 119.8 119.9 120 
+  Bin 1120: 120 120.1 120.2 120.3 120.4 120.5 120.6 120.7 120.8 120.9 121 
+  Bin 1121: 121 121.1 121.2 121.3 121.4 121.5 121.6 121.7 121.8 121.9 122 
+  Bin 1122: 122 122.1 122.2 122.3 122.4 122.5 122.6 122.7 122.8 122.9 123 
+  Bin 1123: 123 123.1 123.2 123.3 123.4 123.5 123.6 123.7 123.8 123.9 124 
+  Bin 1124: 124 124.1 124.2 124.3 124.4 124.5 124.6 124.7 124.8 124.9 125 
+  Bin 1125: 125 125.1 125.2 125.3 125.4 125.5 125.6 125.7 125.8 125.9 126 
+  Bin 1126: 126 126.1 126.2 126.3 126.4 126.5 126.6 126.7 126.8 126.9 127 
+  Bin 1127: 127 127.1 127.2 127.3 127.4 127.5 127.6 127.7 127.8 127.9 128 
+  Bin 1128: 128 128.1 128.2 128.3 128.4 128.5 128.6 128.7 128.8 128.9 129 
+  Bin 1129: 129 129.1 129.2 129.3 129.4 129.5 129.6 129.7 129.8 129.9 130 
+  Bin 1130: 130 130.1 130.2 130.3 130.4 130.5 130.6 130.7 130.8 130.9 131 
+  Bin 1131: 131 131.1 131.2 131.3 131.4 131.5 131.6 131.7 131.8 131.9 132 
+  Bin 1132: 132 132.1 132.2 132.3 132.4 132.5 132.6 132.7 132.8 132.9 133 
+  Bin 1133: 133 133.1 133.2 133.3 133.4 133.5 133.6 133.7 133.8 133.9 134 
+  Bin 1134: 134 134.1 134.2 134.3 134.4 134.5 134.6 134.7 134.8 134.9 135 
+  Bin 1135: 135 135.1 135.2 135.3 135.4 135.5 135.6 135.7 135.8 135.9 136 
+  Bin 1136: 136 136.1 136.2 136.3 136.4 136.5 136.6 136.7 136.8 136.9 137 
+  Bin 1137: 137 137.1 137.2 137.3 137.4 137.5 137.6 137.7 137.8 137.9 138 
+  Bin 1138: 138 138.1 138.2 138.3 138.4 138.5 138.6 138.7 138.8 138.9 139 
+  Bin 1139: 139 139.1 139.2 139.3 139.4 139.5 139.6 139.7 139.8 139.9 140 
+  Bin 1140: 140 140.1 140.2 140.3 140.4 140.5 140.6 140.7 140.8 140.9 141 
+  Bin 1141: 141 141.1 141.2 141.3 141.4 141.5 141.6 141.7 141.8 141.9 142 
+  Bin 1142: 142 142.1 142.2 142.3 142.4 142.5 142.6 142.7 142.8 142.9 143 
+  Bin 1143: 143 143.1 143.2 143.3 143.4 143.5 143.6 143.7 143.8 143.9 144 
+  Bin 1144: 144 144.1 144.2 144.3 144.4 144.5 144.6 144.7 144.8 144.9 145 
+  Bin 1145: 145 145.1 145.2 145.3 145.4 145.5 145.6 145.7 145.8 145.9 146 
+  Bin 1146: 146 146.1 146.2 146.3 146.4 146.5 146.6 146.7 146.8 146.9 147 
+  Bin 1147: 147 147.1 147.2 147.3 147.4 147.5 147.6 147.7 147.8 147.9 148 
+  Bin 1148: 148 148.1 148.2 148.3 148.4 148.5 148.6 148.7 148.8 148.9 149 
+  Bin 1149: 149 149.1 149.2 149.3 149.4 149.5 149.6 149.7 149.8 149.9 150 
+  Bin 1150: 150 150.1 150.2 150.3 150.4 150.5 150.6 150.7 150.8 150.9 151 
+  Bin 1151: 151 151.1 151.2 151.3 151.4 151.5 151.6 151.7 151.8 151.9 152 
+  Bin 1152: 152 152.1 152.2 152.3 152.4 152.5 152.6 152.7 152.8 152.9 153 
+  Bin 1153: 153 153.1 153.2 153.3 153.4 153.5 153.6 153.7 153.8 153.9 154 
+  Bin 1154: 154 154.1 154.2 154.3 154.4 154.5 154.6 154.7 154.8 154.9 155 
+  Bin 1155: 155 155.1 155.2 155.3 155.4 155.5 155.6 155.7 155.8 155.9 156 
+  Bin 1156: 156 156.1 156.2 156.3 156.4 156.5 156.6 156.7 156.8 156.9 157 
+  Bin 1157: 157 157.1 157.2 157.3 157.4 157.5 157.6 157.7 157.8 157.9 158 
+  Bin 1158: 158 158.1 158.2 158.3 158.4 158.5 158.6 158.7 158.8 158.9 159 
+  Bin 1159: 159 159.1 159.2 159.3 159.4 159.5 159.6 159.7 159.8 159.9 160 
+  Bin 1160: 160 160.1 160.2 160.3 160.4 160.5 160.6 160.7 160.8 160.9 161 
+  Bin 1161: 161 161.1 161.2 161.3 161.4 161.5 161.6 161.7 161.8 161.9 162 
+  Bin 1162: 162 162.1 162.2 162.3 162.4 162.5 162.6 162.7 162.8 162.9 163 
+  Bin 1163: 163 163.1 163.2 163.3 163.4 163.5 163.6 163.7 163.8 163.9 164 
+  Bin 1164: 164 164.1 164.2 164.3 164.4 164.5 164.6 164.7 164.8 164.9 165 
+  Bin 1165: 165 165.1 165.2 165.3 165.4 165.5 165.6 165.7 165.8 165.9 166 
+  Bin 1166: 166 166.1 166.2 166.3 166.4 166.5 166.6 166.7 166.8 166.9 167 
+  Bin 1167: 167 167.1 167.2 167.3 167.4 167.5 167.6 167.7 167.8 167.9 168 
+  Bin 1168: 168 168.1 168.2 168.3 168.4 168.5 168.6 168.7 168.8 168.9 169 
+  Bin 1169: 169 169.1 169.2 169.3 169.4 169.5 169.6 169.7 169.8 169.9 170 
+  Bin 1170: 170 170.1 170.2 170.3 170.4 170.5 170.6 170.7 170.8 170.9 171 
+  Bin 1171: 171 171.1 171.2 171.3 171.4 171.5 171.6 171.7 171.8 171.9 172 
+  Bin 1172: 172 172.1 172.2 172.3 172.4 172.5 172.6 172.7 172.8 172.9 173 
+  Bin 1173: 173 173.1 173.2 173.3 173.4 173.5 173.6 173.7 173.8 173.9 174 
+  Bin 1174: 174 174.1 174.2 174.3 174.4 174.5 174.6 174.7 174.8 174.9 175 
+  Bin 1175: 175 175.1 175.2 175.3 175.4 175.5 175.6 175.7 175.8 175.9 176 
+  Bin 1176: 176 176.1 176.2 176.3 176.4 176.5 176.6 176.7 176.8 176.9 177 
+  Bin 1177: 177 177.1 177.2 177.3 177.4 177.5 177.6 177.7 177.8 177.9 178 
+  Bin 1178: 178 178.1 178.2 178.3 178.4 178.5 178.6 178.7 178.8 178.9 179 
+  Bin 1179: 179 179.1 179.2 179.3 179.4 179.5 179.6 179.7 179.8 179.9 180 
+  Bin 1180: 180 180.1 180.2 180.3 180.4 180.5 180.6 180.7 180.8 180.9 181 
+  Bin 1181: 181 181.1 181.2 181.3 181.4 181.5 181.6 181.7 181.8 181.9 182 
+  Bin 1182: 182 182.1 182.2 182.3 182.4 182.5 182.6 182.7 182.8 182.9 183 
+  Bin 1183: 183 183.1 183.2 183.3 183.4 183.5 183.6 183.7 183.8 183.9 184 
+  Bin 1184: 184 184.1 184.2 184.3 184.4 184.5 184.6 184.7 184.8 184.9 185 
+  Bin 1185: 185 185.1 185.2 185.3 185.4 185.5 185.6 185.7 185.8 185.9 186 
+  Bin 1186: 186 186.1 186.2 186.3 186.4 186.5 186.6 186.7 186.8 186.9 187 
+  Bin 1187: 187 187.1 187.2 187.3 187.4 187.5 187.6 187.7 187.8 187.9 188 
+  Bin 1188: 188 188.1 188.2 188.3 188.4 188.5 188.6 188.7 188.8 188.9 189 
+  Bin 1189: 189 189.1 189.2 189.3 189.4 189.5 189.6 189.7 189.8 189.9 190 
+  Bin 1190: 190 190.1 190.2 190.3 190.4 190.5 190.6 190.7 190.8 190.9 191 
+  Bin 1191: 191 191.1 191.2 191.3 191.4 191.5 191.6 191.7 191.8 191.9 192 
+  Bin 1192: 192 192.1 192.2 192.3 192.4 192.5 192.6 192.7 192.8 192.9 193 
+  Bin 1193: 193 193.1 193.2 193.3 193.4 193.5 193.6 193.7 193.8 193.9 194 
+  Bin 1194: 194 194.1 194.2 194.3 194.4 194.5 194.6 194.7 194.8 194.9 195 
+  Bin 1195: 195 195.1 195.2 195.3 195.4 195.5 195.6 195.7 195.8 195.9 196 
+  Bin 1196: 196 196.1 196.2 196.3 196.4 196.5 196.6 196.7 196.8 196.9 197 
+  Bin 1197: 197 197.1 197.2 197.3 197.4 197.5 197.6 197.7 197.8 197.9 198 
+  Bin 1198: 198 198.1 198.2 198.3 198.4 198.5 198.6 198.7 198.8 198.9 199 
+  Bin 1199: 199 199.1 199.2 199.3 199.4 199.5 199.6 199.7 199.8 199.9 200 
+  Bin 1200: 200 200.1 200.2 200.3 200.4 200.5 200.6 200.7 200.8 200.9 201 
+  Bin 1201: 201 201.1 201.2 201.3 201.4 201.5 201.6 201.7 201.8 201.9 202 
+  Bin 1202: 202 202.1 202.2 202.3 202.4 202.5 202.6 202.7 202.8 202.9 203 
+  Bin 1203: 203 203.1 203.2 203.3 203.4 203.5 203.6 203.7 203.8 203.9 204 
+  Bin 1204: 204 204.1 204.2 204.3 204.4 204.5 204.6 204.7 204.8 204.9 205 
+  Bin 1205: 205 205.1 205.2 205.3 205.4 205.5 205.6 205.7 205.8 205.9 206 
+  Bin 1206: 206 206.1 206.2 206.3 206.4 206.5 206.6 206.7 206.8 206.9 207 
+  Bin 1207: 207 207.1 207.2 207.3 207.4 207.5 207.6 207.7 207.8 207.9 208 
+  Bin 1208: 208 208.1 208.2 208.3 208.4 208.5 208.6 208.7 208.8 208.9 209 
+  Bin 1209: 209 209.1 209.2 209.3 209.4 209.5 209.6 209.7 209.8 209.9 210 
+  Bin 1210: 210 210.1 210.2 210.3 210.4 210.5 210.6 210.7 210.8 210.9 211 
+  Bin 1211: 211 211.1 211.2 211.3 211.4 211.5 211.6 211.7 211.8 211.9 212 
+  Bin 1212: 212 212.1 212.2 212.3 212.4 212.5 212.6 212.7 212.8 212.9 213 
+  Bin 1213: 213 213.1 213.2 213.3 213.4 213.5 213.6 213.7 213.8 213.9 214 
+  Bin 1214: 214 214.1 214.2 214.3 214.4 214.5 214.6 214.7 214.8 214.9 215 
+  Bin 1215: 215 215.1 215.2 215.3 215.4 215.5 215.6 215.7 215.8 215.9 216 
+  Bin 1216: 216 216.1 216.2 216.3 216.4 216.5 216.6 216.7 216.8 216.9 217 
+  Bin 1217: 217 217.1 217.2 217.3 217.4 217.5 217.6 217.7 217.8 217.9 218 
+  Bin 1218: 218 218.1 218.2 218.3 218.4 218.5 218.6 218.7 218.8 218.9 219 
+  Bin 1219: 219 219.1 219.2 219.3 219.4 219.5 219.6 219.7 219.8 219.9 220 
+  Bin 1220: 220 220.1 220.2 220.3 220.4 220.5 220.6 220.7 220.8 220.9 221 
+  Bin 1221: 221 221.1 221.2 221.3 221.4 221.5 221.6 221.7 221.8 221.9 222 
+  Bin 1222: 222 222.1 222.2 222.3 222.4 222.5 222.6 222.7 222.8 222.9 223 
+  Bin 1223: 223 223.1 223.2 223.3 223.4 223.5 223.6 223.7 223.8 223.9 224 
+  Bin 1224: 224 224.1 224.2 224.3 224.4 224.5 224.6 224.7 224.8 224.9 225 
+  Bin 1225: 225 225.1 225.2 225.3 225.4 225.5 225.6 225.7 225.8 225.9 226 
+  Bin 1226: 226 226.1 226.2 226.3 226.4 226.5 226.6 226.7 226.8 226.9 227 
+  Bin 1227: 227 227.1 227.2 227.3 227.4 227.5 227.6 227.7 227.8 227.9 228 
+  Bin 1228: 228 228.1 228.2 228.3 228.4 228.5 228.6 228.7 228.8 228.9 229 
+  Bin 1229: 229 229.1 229.2 229.3 229.4 229.5 229.6 229.7 229.8 229.9 230 
+  Bin 1230: 230 230.1 230.2 230.3 230.4 230.5 230.6 230.7 230.8 230.9 231 
+  Bin 1231: 231 231.1 231.2 231.3 231.4 231.5 231.6 231.7 231.8 231.9 232 
+  Bin 1232: 232 232.1 232.2 232.3 232.4 232.5 232.6 232.7 232.8 232.9 233 
+  Bin 1233: 233 233.1 233.2 233.3 233.4 233.5 233.6 233.7 233.8 233.9 234 
+  Bin 1234: 234 234.1 234.2 234.3 234.4 234.5 234.6 234.7 234.8 234.9 235 
+  Bin 1235: 235 235.1 235.2 235.3 235.4 235.5 235.6 235.7 235.8 235.9 236 
+  Bin 1236: 236 236.1 236.2 236.3 236.4 236.5 236.6 236.7 236.8 236.9 237 
+  Bin 1237: 237 237.1 237.2 237.3 237.4 237.5 237.6 237.7 237.8 237.9 238 
+  Bin 1238: 238 238.1 238.2 238.3 238.4 238.5 238.6 238.7 238.8 238.9 239 
+  Bin 1239: 239 239.1 239.2 239.3 239.4 239.5 239.6 239.7 239.8 239.9 240 
+  Bin 1240: 240 240.1 240.2 240.3 240.4 240.5 240.6 240.7 240.8 240.9 241 
+  Bin 1241: 241 241.1 241.2 241.3 241.4 241.5 241.6 241.7 241.8 241.9 242 
+  Bin 1242: 242 242.1 242.2 242.3 242.4 242.5 242.6 242.7 242.8 242.9 243 
+  Bin 1243: 243 243.1 243.2 243.3 243.4 243.5 243.6 243.7 243.8 243.9 244 
+  Bin 1244: 244 244.1 244.2 244.3 244.4 244.5 244.6 244.7 244.8 244.9 245 
+  Bin 1245: 245 245.1 245.2 245.3 245.4 245.5 245.6 245.7 245.8 245.9 246 
+  Bin 1246: 246 246.1 246.2 246.3 246.4 246.5 246.6 246.7 246.8 246.9 247 
+  Bin 1247: 247 247.1 247.2 247.3 247.4 247.5 247.6 247.7 247.8 247.9 248 
+  Bin 1248: 248 248.1 248.2 248.3 248.4 248.5 248.6 248.7 248.8 248.9 249 
+  Bin 1249: 249 249.1 249.2 249.3 249.4 249.5 249.6 249.7 249.8 249.9 250 
+  Bin 1250: 250 250.1 250.2 250.3 250.4 250.5 250.6 250.7 250.8 250.9 251 
+  Bin 1251: 251 251.1 251.2 251.3 251.4 251.5 251.6 251.7 251.8 251.9 252 
+  Bin 1252: 252 252.1 252.2 252.3 252.4 252.5 252.6 252.7 252.8 252.9 253 
+  Bin 1253: 253 253.1 253.2 253.3 253.4 253.5 253.6 253.7 253.8 253.9 254 
+  Bin 1254: 254 254.1 254.2 254.3 254.4 254.5 254.6 254.7 254.8 254.9 255 
+  Bin 1255: 255 255.1 255.2 255.3 255.4 255.5 255.6 255.7 255.8 255.9 256 
+  Bin 1256: 256 256.1 256.2 256.3 256.4 256.5 256.6 256.7 256.8 256.9 257 
+  Bin 1257: 257 257.1 257.2 257.3 257.4 257.5 257.6 257.7 257.8 257.9 258 
+  Bin 1258: 258 258.1 258.2 258.3 258.4 258.5 258.6 258.7 258.8 258.9 259 
+  Bin 1259: 259 259.1 259.2 259.3 259.4 259.5 259.6 259.7 259.8 259.9 260 
+  Bin 1260: 260 260.1 260.2 260.3 260.4 260.5 260.6 260.7 260.8 260.9 261 
+  Bin 1261: 261 261.1 261.2 261.3 261.4 261.5 261.6 261.7 261.8 261.9 262 
+  Bin 1262: 262 262.1 262.2 262.3 262.4 262.5 262.6 262.7 262.8 262.9 263 
+  Bin 1263: 263 263.1 263.2 263.3 263.4 263.5 263.6 263.7 263.8 263.9 264 
+  Bin 1264: 264 264.1 264.2 264.3 264.4 264.5 264.6 264.7 264.8 264.9 265 
+  Bin 1265: 265 265.1 265.2 265.3 265.4 265.5 265.6 265.7 265.8 265.9 266 
+  Bin 1266: 266 266.1 266.2 266.3 266.4 266.5 266.6 266.7 266.8 266.9 267 
+  Bin 1267: 267 267.1 267.2 267.3 267.4 267.5 267.6 267.7 267.8 267.9 268 
+  Bin 1268: 268 268.1 268.2 268.3 268.4 268.5 268.6 268.7 268.8 268.9 269 
+  Bin 1269: 269 269.1 269.2 269.3 269.4 269.5 269.6 269.7 269.8 269.9 270 
+  Bin 1270: 270 270.1 270.2 270.3 270.4 270.5 270.6 270.7 270.8 270.9 271 
+  Bin 1271: 271 271.1 271.2 271.3 271.4 271.5 271.6 271.7 271.8 271.9 272 
+  Bin 1272: 272 272.1 272.2 272.3 272.4 272.5 272.6 272.7 272.8 272.9 273 
+  Bin 1273: 273 273.1 273.2 273.3 273.4 273.5 273.6 273.7 273.8 273.9 274 
+  Bin 1274: 274 274.1 274.2 274.3 274.4 274.5 274.6 274.7 274.8 274.9 275 
+  Bin 1275: 275 275.1 275.2 275.3 275.4 275.5 275.6 275.7 275.8 275.9 276 
+  Bin 1276: 276 276.1 276.2 276.3 276.4 276.5 276.6 276.7 276.8 276.9 277 
+  Bin 1277: 277 277.1 277.2 277.3 277.4 277.5 277.6 277.7 277.8 277.9 278 
+  Bin 1278: 278 278.1 278.2 278.3 278.4 278.5 278.6 278.7 278.8 278.9 279 
+  Bin 1279: 279 279.1 279.2 279.3 279.4 279.5 279.6 279.7 279.8 279.9 280 
+  Bin 1280: 280 280.1 280.2 280.3 280.4 280.5 280.6 280.7 280.8 280.9 281 
+  Bin 1281: 281 281.1 281.2 281.3 281.4 281.5 281.6 281.7 281.8 281.9 282 
+  Bin 1282: 282 282.1 282.2 282.3 282.4 282.5 282.6 282.7 282.8 282.9 283 
+  Bin 1283: 283 283.1 283.2 283.3 283.4 283.5 283.6 283.7 283.8 283.9 284 
+  Bin 1284: 284 284.1 284.2 284.3 284.4 284.5 284.6 284.7 284.8 284.9 285 
+  Bin 1285: 285 285.1 285.2 285.3 285.4 285.5 285.6 285.7 285.8 285.9 286 
+  Bin 1286: 286 286.1 286.2 286.3 286.4 286.5 286.6 286.7 286.8 286.9 287 
+  Bin 1287: 287 287.1 287.2 287.3 287.4 287.5 287.6 287.7 287.8 287.9 288 
+  Bin 1288: 288 288.1 288.2 288.3 288.4 288.5 288.6 288.7 288.8 288.9 289 
+  Bin 1289: 289 289.1 289.2 289.3 289.4 289.5 289.6 289.7 289.8 289.9 290 
+  Bin 1290: 290 290.1 290.2 290.3 290.4 290.5 290.6 290.7 290.8 290.9 291 
+  Bin 1291: 291 291.1 291.2 291.3 291.4 291.5 291.6 291.7 291.8 291.9 292 
+  Bin 1292: 292 292.1 292.2 292.3 292.4 292.5 292.6 292.7 292.8 292.9 293 
+  Bin 1293: 293 293.1 293.2 293.3 293.4 293.5 293.6 293.7 293.8 293.9 294 
+  Bin 1294: 294 294.1 294.2 294.3 294.4 294.5 294.6 294.7 294.8 294.9 295 
+  Bin 1295: 295 295.1 295.2 295.3 295.4 295.5 295.6 295.7 295.8 295.9 296 
+  Bin 1296: 296 296.1 296.2 296.3 296.4 296.5 296.6 296.7 296.8 296.9 297 
+  Bin 1297: 297 297.1 297.2 297.3 297.4 297.5 297.6 297.7 297.8 297.9 298 
+  Bin 1298: 298 298.1 298.2 298.3 298.4 298.5 298.6 298.7 298.8 298.9 299 
+  Bin 1299: 299 299.1 299.2 299.3 299.4 299.5 299.6 299.7 299.8 299.9 300 
+  Bin 1300: 300 300.1 300.2 300.3 300.4 300.5 300.6 300.7 300.8 300.9 301 
+  Bin 1301: 301 301.1 301.2 301.3 301.4 301.5 301.6 301.7 301.8 301.9 302 
+  Bin 1302: 302 302.1 302.2 302.3 302.4 302.5 302.6 302.7 302.8 302.9 303 
+  Bin 1303: 303 303.1 303.2 303.3 303.4 303.5 303.6 303.7 303.8 303.9 304 
+  Bin 1304: 304 304.1 304.2 304.3 304.4 304.5 304.6 304.7 304.8 304.9 305 
+  Bin 1305: 305 305.1 305.2 305.3 305.4 305.5 305.6 305.7 305.8 305.9 306 
+  Bin 1306: 306 306.1 306.2 306.3 306.4 306.5 306.6 306.7 306.8 306.9 307 
+  Bin 1307: 307 307.1 307.2 307.3 307.4 307.5 307.6 307.7 307.8 307.9 308 
+  Bin 1308: 308 308.1 308.2 308.3 308.4 308.5 308.6 308.7 308.8 308.9 309 
+  Bin 1309: 309 309.1 309.2 309.3 309.4 309.5 309.6 309.7 309.8 309.9 310 
+  Bin 1310: 310 310.1 310.2 310.3 310.4 310.5 310.6 310.7 310.8 310.9 311 
+  Bin 1311: 311 311.1 311.2 311.3 311.4 311.5 311.6 311.7 311.8 311.9 312 
+  Bin 1312: 312 312.1 312.2 312.3 312.4 312.5 312.6 312.7 312.8 312.9 313 
+  Bin 1313: 313 313.1 313.2 313.3 313.4 313.5 313.6 313.7 313.8 313.9 314 
+  Bin 1314: 314 314.1 314.2 314.3 314.4 314.5 314.6 314.7 314.8 314.9 315 
+  Bin 1315: 315 315.1 315.2 315.3 315.4 315.5 315.6 315.7 315.8 315.9 316 
+  Bin 1316: 316 316.1 316.2 316.3 316.4 316.5 316.6 316.7 316.8 316.9 317 
+  Bin 1317: 317 317.1 317.2 317.3 317.4 317.5 317.6 317.7 317.8 317.9 318 
+  Bin 1318: 318 318.1 318.2 318.3 318.4 318.5 318.6 318.7 318.8 318.9 319 
+  Bin 1319: 319 319.1 319.2 319.3 319.4 319.5 319.6 319.7 319.8 319.9 320 
+  Bin 1320: 320 320.1 320.2 320.3 320.4 320.5 320.6 320.7 320.8 320.9 321 
+  Bin 1321: 321 321.1 321.2 321.3 321.4 321.5 321.6 321.7 321.8 321.9 322 
+  Bin 1322: 322 322.1 322.2 322.3 322.4 322.5 322.6 322.7 322.8 322.9 323 
+  Bin 1323: 323 323.1 323.2 323.3 323.4 323.5 323.6 323.7 323.8 323.9 324 
+  Bin 1324: 324 324.1 324.2 324.3 324.4 324.5 324.6 324.7 324.8 324.9 325 
+  Bin 1325: 325 325.1 325.2 325.3 325.4 325.5 325.6 325.7 325.8 325.9 326 
+  Bin 1326: 326 326.1 326.2 326.3 326.4 326.5 326.6 326.7 326.8 326.9 327 
+  Bin 1327: 327 327.1 327.2 327.3 327.4 327.5 327.6 327.7 327.8 327.9 328 
+  Bin 1328: 328 328.1 328.2 328.3 328.4 328.5 328.6 328.7 328.8 328.9 329 
+  Bin 1329: 329 329.1 329.2 329.3 329.4 329.5 329.6 329.7 329.8 329.9 330 
+  Bin 1330: 330 330.1 330.2 330.3 330.4 330.5 330.6 330.7 330.8 330.9 331 
+  Bin 1331: 331 331.1 331.2 331.3 331.4 331.5 331.6 331.7 331.8 331.9 332 
+  Bin 1332: 332 332.1 332.2 332.3 332.4 332.5 332.6 332.7 332.8 332.9 333 
+  Bin 1333: 333 333.1 333.2 333.3 333.4 333.5 333.6 333.7 333.8 333.9 334 
+  Bin 1334: 334 334.1 334.2 334.3 334.4 334.5 334.6 334.7 334.8 334.9 335 
+  Bin 1335: 335 335.1 335.2 335.3 335.4 335.5 335.6 335.7 335.8 335.9 336 
+  Bin 1336: 336 336.1 336.2 336.3 336.4 336.5 336.6 336.7 336.8 336.9 337 
+  Bin 1337: 337 337.1 337.2 337.3 337.4 337.5 337.6 337.7 337.8 337.9 338 
+  Bin 1338: 338 338.1 338.2 338.3 338.4 338.5 338.6 338.7 338.8 338.9 339 
+  Bin 1339: 339 339.1 339.2 339.3 339.4 339.5 339.6 339.7 339.8 339.9 340 
+  Bin 1340: 340 340.1 340.2 340.3 340.4 340.5 340.6 340.7 340.8 340.9 341 
+  Bin 1341: 341 341.1 341.2 341.3 341.4 341.5 341.6 341.7 341.8 341.9 342 
+  Bin 1342: 342 342.1 342.2 342.3 342.4 342.5 342.6 342.7 342.8 342.9 343 
+  Bin 1343: 343 343.1 343.2 343.3 343.4 343.5 343.6 343.7 343.8 343.9 344 
+  Bin 1344: 344 344.1 344.2 344.3 344.4 344.5 344.6 344.7 344.8 344.9 345 
+  Bin 1345: 345 345.1 345.2 345.3 345.4 345.5 345.6 345.7 345.8 345.9 346 
+  Bin 1346: 346 346.1 346.2 346.3 346.4 346.5 346.6 346.7 346.8 346.9 347 
+  Bin 1347: 347 347.1 347.2 347.3 347.4 347.5 347.6 347.7 347.8 347.9 348 
+  Bin 1348: 348 348.1 348.2 348.3 348.4 348.5 348.6 348.7 348.8 348.9 349 
+  Bin 1349: 349 349.1 349.2 349.3 349.4 349.5 349.6 349.7 349.8 349.9 350 
+  Bin 1350: 350 350.1 350.2 350.3 350.4 350.5 350.6 350.7 350.8 350.9 351 
+  Bin 1351: 351 351.1 351.2 351.3 351.4 351.5 351.6 351.7 351.8 351.9 352 
+  Bin 1352: 352 352.1 352.2 352.3 352.4 352.5 352.6 352.7 352.8 352.9 353 
+  Bin 1353: 353 353.1 353.2 353.3 353.4 353.5 353.6 353.7 353.8 353.9 354 
+  Bin 1354: 354 354.1 354.2 354.3 354.4 354.5 354.6 354.7 354.8 354.9 355 
+  Bin 1355: 355 355.1 355.2 355.3 355.4 355.5 355.6 355.7 355.8 355.9 356 
+  Bin 1356: 356 356.1 356.2 356.3 356.4 356.5 356.6 356.7 356.8 356.9 357 
+  Bin 1357: 357 357.1 357.2 357.3 357.4 357.5 357.6 357.7 357.8 357.9 358 
+  Bin 1358: 358 358.1 358.2 358.3 358.4 358.5 358.6 358.7 358.8 358.9 359 
+  Bin 1359: 359 359.1 359.2 359.3 359.4 359.5 359.6 359.7 359.8 359.9 360 
+  Bin 1360: 360 360.1 360.2 360.3 360.4 360.5 360.6 360.7 360.8 360.9 361 
+  Bin 1361: 361 361.1 361.2 361.3 361.4 361.5 361.6 361.7 361.8 361.9 362 
+  Bin 1362: 362 362.1 362.2 362.3 362.4 362.5 362.6 362.7 362.8 362.9 363 
+  Bin 1363: 363 363.1 363.2 363.3 363.4 363.5 363.6 363.7 363.8 363.9 364 
+  Bin 1364: 364 364.1 364.2 364.3 364.4 364.5 364.6 364.7 364.8 364.9 365 
+  Bin 1365: 365 365.1 365.2 365.3 365.4 365.5 365.6 365.7 365.8 365.9 366 
+  Bin 1366: 366 366.1 366.2 366.3 366.4 366.5 366.6 366.7 366.8 366.9 367 
+  Bin 1367: 367 367.1 367.2 367.3 367.4 367.5 367.6 367.7 367.8 367.9 368 
+  Bin 1368: 368 368.1 368.2 368.3 368.4 368.5 368.6 368.7 368.8 368.9 369 
+  Bin 1369: 369 369.1 369.2 369.3 369.4 369.5 369.6 369.7 369.8 369.9 370 
+  Bin 1370: 370 370.1 370.2 370.3 370.4 370.5 370.6 370.7 370.8 370.9 371 
+  Bin 1371: 371 371.1 371.2 371.3 371.4 371.5 371.6 371.7 371.8 371.9 372 
+  Bin 1372: 372 372.1 372.2 372.3 372.4 372.5 372.6 372.7 372.8 372.9 373 
+  Bin 1373: 373 373.1 373.2 373.3 373.4 373.5 373.6 373.7 373.8 373.9 374 
+  Bin 1374: 374 374.1 374.2 374.3 374.4 374.5 374.6 374.7 374.8 374.9 375 
+  Bin 1375: 375 375.1 375.2 375.3 375.4 375.5 375.6 375.7 375.8 375.9 376 
+  Bin 1376: 376 376.1 376.2 376.3 376.4 376.5 376.6 376.7 376.8 376.9 377 
+  Bin 1377: 377 377.1 377.2 377.3 377.4 377.5 377.6 377.7 377.8 377.9 378 
+  Bin 1378: 378 378.1 378.2 378.3 378.4 378.5 378.6 378.7 378.8 378.9 379 
+  Bin 1379: 379 379.1 379.2 379.3 379.4 379.5 379.6 379.7 379.8 379.9 380 
+  Bin 1380: 380 380.1 380.2 380.3 380.4 380.5 380.6 380.7 380.8 380.9 381 
+  Bin 1381: 381 381.1 381.2 381.3 381.4 381.5 381.6 381.7 381.8 381.9 382 
+  Bin 1382: 382 382.1 382.2 382.3 382.4 382.5 382.6 382.7 382.8 382.9 383 
+  Bin 1383: 383 383.1 383.2 383.3 383.4 383.5 383.6 383.7 383.8 383.9 384 
+  Bin 1384: 384 384.1 384.2 384.3 384.4 384.5 384.6 384.7 384.8 384.9 385 
+  Bin 1385: 385 385.1 385.2 385.3 385.4 385.5 385.6 385.7 385.8 385.9 386 
+  Bin 1386: 386 386.1 386.2 386.3 386.4 386.5 386.6 386.7 386.8 386.9 387 
+  Bin 1387: 387 387.1 387.2 387.3 387.4 387.5 387.6 387.7 387.8 387.9 388 
+  Bin 1388: 388 388.1 388.2 388.3 388.4 388.5 388.6 388.7 388.8 388.9 389 
+  Bin 1389: 389 389.1 389.2 389.3 389.4 389.5 389.6 389.7 389.8 389.9 390 
+  Bin 1390: 390 390.1 390.2 390.3 390.4 390.5 390.6 390.7 390.8 390.9 391 
+  Bin 1391: 391 391.1 391.2 391.3 391.4 391.5 391.6 391.7 391.8 391.9 392 
+  Bin 1392: 392 392.1 392.2 392.3 392.4 392.5 392.6 392.7 392.8 392.9 393 
+  Bin 1393: 393 393.1 393.2 393.3 393.4 393.5 393.6 393.7 393.8 393.9 394 
+  Bin 1394: 394 394.1 394.2 394.3 394.4 394.5 394.6 394.7 394.8 394.9 395 
+  Bin 1395: 395 395.1 395.2 395.3 395.4 395.5 395.6 395.7 395.8 395.9 396 
+  Bin 1396: 396 396.1 396.2 396.3 396.4 396.5 396.6 396.7 396.8 396.9 397 
+  Bin 1397: 397 397.1 397.2 397.3 397.4 397.5 397.6 397.7 397.8 397.9 398 
+  Bin 1398: 398 398.1 398.2 398.3 398.4 398.5 398.6 398.7 398.8 398.9 399 
+  Bin 1399: 399 399.1 399.2 399.3 399.4 399.5 399.6 399.7 399.8 399.9 400 
+  Bin 1400: 400 400.1 400.2 400.3 400.4 400.5 400.6 400.7 400.8 400.9 401 
+  Bin 1401: 401 401.1 401.2 401.3 401.4 401.5 401.6 401.7 401.8 401.9 402 
+  Bin 1402: 402 402.1 402.2 402.3 402.4 402.5 402.6 402.7 402.8 402.9 403 
+  Bin 1403: 403 403.1 403.2 403.3 403.4 403.5 403.6 403.7 403.8 403.9 404 
+  Bin 1404: 404 404.1 404.2 404.3 404.4 404.5 404.6 404.7 404.8 404.9 405 
+  Bin 1405: 405 405.1 405.2 405.3 405.4 405.5 405.6 405.7 405.8 405.9 406 
+  Bin 1406: 406 406.1 406.2 406.3 406.4 406.5 406.6 406.7 406.8 406.9 407 
+  Bin 1407: 407 407.1 407.2 407.3 407.4 407.5 407.6 407.7 407.8 407.9 408 
+  Bin 1408: 408 408.1 408.2 408.3 408.4 408.5 408.6 408.7 408.8 408.9 409 
+  Bin 1409: 409 409.1 409.2 409.3 409.4 409.5 409.6 409.7 409.8 409.9 410 
+  Bin 1410: 410 410.1 410.2 410.3 410.4 410.5 410.6 410.7 410.8 410.9 411 
+  Bin 1411: 411 411.1 411.2 411.3 411.4 411.5 411.6 411.7 411.8 411.9 412 
+  Bin 1412: 412 412.1 412.2 412.3 412.4 412.5 412.6 412.7 412.8 412.9 413 
+  Bin 1413: 413 413.1 413.2 413.3 413.4 413.5 413.6 413.7 413.8 413.9 414 
+  Bin 1414: 414 414.1 414.2 414.3 414.4 414.5 414.6 414.7 414.8 414.9 415 
+  Bin 1415: 415 415.1 415.2 415.3 415.4 415.5 415.6 415.7 415.8 415.9 416 
+  Bin 1416: 416 416.1 416.2 416.3 416.4 416.5 416.6 416.7 416.8 416.9 417 
+  Bin 1417: 417 417.1 417.2 417.3 417.4 417.5 417.6 417.7 417.8 417.9 418 
+  Bin 1418: 418 418.1 418.2 418.3 418.4 418.5 418.6 418.7 418.8 418.9 419 
+  Bin 1419: 419 419.1 419.2 419.3 419.4 419.5 419.6 419.7 419.8 419.9 420 
+  Bin 1420: 420 420.1 420.2 420.3 420.4 420.5 420.6 420.7 420.8 420.9 421 
+  Bin 1421: 421 421.1 421.2 421.3 421.4 421.5 421.6 421.7 421.8 421.9 422 
+  Bin 1422: 422 422.1 422.2 422.3 422.4 422.5 422.6 422.7 422.8 422.9 423 
+  Bin 1423: 423 423.1 423.2 423.3 423.4 423.5 423.6 423.7 423.8 423.9 424 
+  Bin 1424: 424 424.1 424.2 424.3 424.4 424.5 424.6 424.7 424.8 424.9 425 
+  Bin 1425: 425 425.1 425.2 425.3 425.4 425.5 425.6 425.7 425.8 425.9 426 
+  Bin 1426: 426 426.1 426.2 426.3 426.4 426.5 426.6 426.7 426.8 426.9 427 
+  Bin 1427: 427 427.1 427.2 427.3 427.4 427.5 427.6 427.7 427.8 427.9 428 
+  Bin 1428: 428 428.1 428.2 428.3 428.4 428.5 428.6 428.7 428.8 428.9 429 
+  Bin 1429: 429 429.1 429.2 429.3 429.4 429.5 429.6 429.7 429.8 429.9 430 
+  Bin 1430: 430 430.1 430.2 430.3 430.4 430.5 430.6 430.7 430.8 430.9 431 
+  Bin 1431: 431 431.1 431.2 431.3 431.4 431.5 431.6 431.7 431.8 431.9 432 
+  Bin 1432: 432 432.1 432.2 432.3 432.4 432.5 432.6 432.7 432.8 432.9 433 
+  Bin 1433: 433 433.1 433.2 433.3 433.4 433.5 433.6 433.7 433.8 433.9 434 
+  Bin 1434: 434 434.1 434.2 434.3 434.4 434.5 434.6 434.7 434.8 434.9 435 
+  Bin 1435: 435 435.1 435.2 435.3 435.4 435.5 435.6 435.7 435.8 435.9 436 
+  Bin 1436: 436 436.1 436.2 436.3 436.4 436.5 436.6 436.7 436.8 436.9 437 
+  Bin 1437: 437 437.1 437.2 437.3 437.4 437.5 437.6 437.7 437.8 437.9 438 
+  Bin 1438: 438 438.1 438.2 438.3 438.4 438.5 438.6 438.7 438.8 438.9 439 
+  Bin 1439: 439 439.1 439.2 439.3 439.4 439.5 439.6 439.7 439.8 439.9 440 
+  Bin 1440: 440 440.1 440.2 440.3 440.4 440.5 440.6 440.7 440.8 440.9 441 
+  Bin 1441: 441 441.1 441.2 441.3 441.4 441.5 441.6 441.7 441.8 441.9 442 
+  Bin 1442: 442 442.1 442.2 442.3 442.4 442.5 442.6 442.7 442.8 442.9 443 
+  Bin 1443: 443 443.1 443.2 443.3 443.4 443.5 443.6 443.7 443.8 443.9 444 
+  Bin 1444: 444 444.1 444.2 444.3 444.4 444.5 444.6 444.7 444.8 444.9 445 
+  Bin 1445: 445 445.1 445.2 445.3 445.4 445.5 445.6 445.7 445.8 445.9 446 
+  Bin 1446: 446 446.1 446.2 446.3 446.4 446.5 446.6 446.7 446.8 446.9 447 
+  Bin 1447: 447 447.1 447.2 447.3 447.4 447.5 447.6 447.7 447.8 447.9 448 
+  Bin 1448: 448 448.1 448.2 448.3 448.4 448.5 448.6 448.7 448.8 448.9 449 
+  Bin 1449: 449 449.1 449.2 449.3 449.4 449.5 449.6 449.7 449.8 449.9 450 
+  Bin 1450: 450 450.1 450.2 450.3 450.4 450.5 450.6 450.7 450.8 450.9 451 
+  Bin 1451: 451 451.1 451.2 451.3 451.4 451.5 451.6 451.7 451.8 451.9 452 
+  Bin 1452: 452 452.1 452.2 452.3 452.4 452.5 452.6 452.7 452.8 452.9 453 
+  Bin 1453: 453 453.1 453.2 453.3 453.4 453.5 453.6 453.7 453.8 453.9 454 
+  Bin 1454: 454 454.1 454.2 454.3 454.4 454.5 454.6 454.7 454.8 454.9 455 
+  Bin 1455: 455 455.1 455.2 455.3 455.4 455.5 455.6 455.7 455.8 455.9 456 
+  Bin 1456: 456 456.1 456.2 456.3 456.4 456.5 456.6 456.7 456.8 456.9 457 
+  Bin 1457: 457 457.1 457.2 457.3 457.4 457.5 457.6 457.7 457.8 457.9 458 
+  Bin 1458: 458 458.1 458.2 458.3 458.4 458.5 458.6 458.7 458.8 458.9 459 
+  Bin 1459: 459 459.1 459.2 459.3 459.4 459.5 459.6 459.7 459.8 459.9 460 
+  Bin 1460: 460 460.1 460.2 460.3 460.4 460.5 460.6 460.7 460.8 460.9 461 
+  Bin 1461: 461 461.1 461.2 461.3 461.4 461.5 461.6 461.7 461.8 461.9 462 
+  Bin 1462: 462 462.1 462.2 462.3 462.4 462.5 462.6 462.7 462.8 462.9 463 
+  Bin 1463: 463 463.1 463.2 463.3 463.4 463.5 463.6 463.7 463.8 463.9 464 
+  Bin 1464: 464 464.1 464.2 464.3 464.4 464.5 464.6 464.7 464.8 464.9 465 
+  Bin 1465: 465 465.1 465.2 465.3 465.4 465.5 465.6 465.7 465.8 465.9 466 
+  Bin 1466: 466 466.1 466.2 466.3 466.4 466.5 466.6 466.7 466.8 466.9 467 
+  Bin 1467: 467 467.1 467.2 467.3 467.4 467.5 467.6 467.7 467.8 467.9 468 
+  Bin 1468: 468 468.1 468.2 468.3 468.4 468.5 468.6 468.7 468.8 468.9 469 
+  Bin 1469: 469 469.1 469.2 469.3 469.4 469.5 469.6 469.7 469.8 469.9 470 
+  Bin 1470: 470 470.1 470.2 470.3 470.4 470.5 470.6 470.7 470.8 470.9 471 
+  Bin 1471: 471 471.1 471.2 471.3 471.4 471.5 471.6 471.7 471.8 471.9 472 
+  Bin 1472: 472 472.1 472.2 472.3 472.4 472.5 472.6 472.7 472.8 472.9 473 
+  Bin 1473: 473 473.1 473.2 473.3 473.4 473.5 473.6 473.7 473.8 473.9 474 
+  Bin 1474: 474 474.1 474.2 474.3 474.4 474.5 474.6 474.7 474.8 474.9 475 
+  Bin 1475: 475 475.1 475.2 475.3 475.4 475.5 475.6 475.7 475.8 475.9 476 
+  Bin 1476: 476 476.1 476.2 476.3 476.4 476.5 476.6 476.7 476.8 476.9 477 
+  Bin 1477: 477 477.1 477.2 477.3 477.4 477.5 477.6 477.7 477.8 477.9 478 
+  Bin 1478: 478 478.1 478.2 478.3 478.4 478.5 478.6 478.7 478.8 478.9 479 
+  Bin 1479: 479 479.1 479.2 479.3 479.4 479.5 479.6 479.7 479.8 479.9 480 
+  Bin 1480: 480 480.1 480.2 480.3 480.4 480.5 480.6 480.7 480.8 480.9 481 
+  Bin 1481: 481 481.1 481.2 481.3 481.4 481.5 481.6 481.7 481.8 481.9 482 
+  Bin 1482: 482 482.1 482.2 482.3 482.4 482.5 482.6 482.7 482.8 482.9 483 
+  Bin 1483: 483 483.1 483.2 483.3 483.4 483.5 483.6 483.7 483.8 483.9 484 
+  Bin 1484: 484 484.1 484.2 484.3 484.4 484.5 484.6 484.7 484.8 484.9 485 
+  Bin 1485: 485 485.1 485.2 485.3 485.4 485.5 485.6 485.7 485.8 485.9 486 
+  Bin 1486: 486 486.1 486.2 486.3 486.4 486.5 486.6 486.7 486.8 486.9 487 
+  Bin 1487: 487 487.1 487.2 487.3 487.4 487.5 487.6 487.7 487.8 487.9 488 
+  Bin 1488: 488 488.1 488.2 488.3 488.4 488.5 488.6 488.7 488.8 488.9 489 
+  Bin 1489: 489 489.1 489.2 489.3 489.4 489.5 489.6 489.7 489.8 489.9 490 
+  Bin 1490: 490 490.1 490.2 490.3 490.4 490.5 490.6 490.7 490.8 490.9 491 
+  Bin 1491: 491 491.1 491.2 491.3 491.4 491.5 491.6 491.7 491.8 491.9 492 
+  Bin 1492: 492 492.1 492.2 492.3 492.4 492.5 492.6 492.7 492.8 492.9 493 
+  Bin 1493: 493 493.1 493.2 493.3 493.4 493.5 493.6 493.7 493.8 493.9 494 
+  Bin 1494: 494 494.1 494.2 494.3 494.4 494.5 494.6 494.7 494.8 494.9 495 
+  Bin 1495: 495 495.1 495.2 495.3 495.4 495.5 495.6 495.7 495.8 495.9 496 
+  Bin 1496: 496 496.1 496.2 496.3 496.4 496.5 496.6 496.7 496.8 496.9 497 
+  Bin 1497: 497 497.1 497.2 497.3 497.4 497.5 497.6 497.7 497.8 497.9 498 
+  Bin 1498: 498 498.1 498.2 498.3 498.4 498.5 498.6 498.7 498.8 498.9 499 
+  Bin 1499: 499 499.1 499.2 499.3 499.4 499.5 499.6 499.7 499.8 499.9 500 
+  Bin 1500: 500 500.1 500.2 500.3 500.4 500.5 500.6 500.7 500.8 500.9 501 
+  Bin 1501: 501 501.1 501.2 501.3 501.4 501.5 501.6 501.7 501.8 501.9 502 
+  Bin 1502: 502 502.1 502.2 502.3 502.4 502.5 502.6 502.7 502.8 502.9 503 
+  Bin 1503: 503 503.1 503.2 503.3 503.4 503.5 503.6 503.7 503.8 503.9 504 
+  Bin 1504: 504 504.1 504.2 504.3 504.4 504.5 504.6 504.7 504.8 504.9 505 
+  Bin 1505: 505 505.1 505.2 505.3 505.4 505.5 505.6 505.7 505.8 505.9 506 
+  Bin 1506: 506 506.1 506.2 506.3 506.4 506.5 506.6 506.7 506.8 506.9 507 
+  Bin 1507: 507 507.1 507.2 507.3 507.4 507.5 507.6 507.7 507.8 507.9 508 
+  Bin 1508: 508 508.1 508.2 508.3 508.4 508.5 508.6 508.7 508.8 508.9 509 
+  Bin 1509: 509 509.1 509.2 509.3 509.4 509.5 509.6 509.7 509.8 509.9 510 
+  Bin 1510: 510 510.1 510.2 510.3 510.4 510.5 510.6 510.7 510.8 510.9 511 
+  Bin 1511: 511 511.1 511.2 511.3 511.4 511.5 511.6 511.7 511.8 511.9 512 
+  Bin 1512: 512 512.1 512.2 512.3 512.4 512.5 512.6 512.7 512.8 512.9 513 
+  Bin 1513: 513 513.1 513.2 513.3 513.4 513.5 513.6 513.7 513.8 513.9 514 
+  Bin 1514: 514 514.1 514.2 514.3 514.4 514.5 514.6 514.7 514.8 514.9 515 
+  Bin 1515: 515 515.1 515.2 515.3 515.4 515.5 515.6 515.7 515.8 515.9 516 
+  Bin 1516: 516 516.1 516.2 516.3 516.4 516.5 516.6 516.7 516.8 516.9 517 
+  Bin 1517: 517 517.1 517.2 517.3 517.4 517.5 517.6 517.7 517.8 517.9 518 
+  Bin 1518: 518 518.1 518.2 518.3 518.4 518.5 518.6 518.7 518.8 518.9 519 
+  Bin 1519: 519 519.1 519.2 519.3 519.4 519.5 519.6 519.7 519.8 519.9 520 
+  Bin 1520: 520 520.1 520.2 520.3 520.4 520.5 520.6 520.7 520.8 520.9 521 
+  Bin 1521: 521 521.1 521.2 521.3 521.4 521.5 521.6 521.7 521.8 521.9 522 
+  Bin 1522: 522 522.1 522.2 522.3 522.4 522.5 522.6 522.7 522.8 522.9 523 
+  Bin 1523: 523 523.1 523.2 523.3 523.4 523.5 523.6 523.7 523.8 523.9 524 
+  Bin 1524: 524 524.1 524.2 524.3 524.4 524.5 524.6 524.7 524.8 524.9 525 
+  Bin 1525: 525 525.1 525.2 525.3 525.4 525.5 525.6 525.7 525.8 525.9 526 
+  Bin 1526: 526 526.1 526.2 526.3 526.4 526.5 526.6 526.7 526.8 526.9 527 
+  Bin 1527: 527 527.1 527.2 527.3 527.4 527.5 527.6 527.7 527.8 527.9 528 
+  Bin 1528: 528 528.1 528.2 528.3 528.4 528.5 528.6 528.7 528.8 528.9 529 
+  Bin 1529: 529 529.1 529.2 529.3 529.4 529.5 529.6 529.7 529.8 529.9 530 
+  Bin 1530: 530 530.1 530.2 530.3 530.4 530.5 530.6 530.7 530.8 530.9 531 
+  Bin 1531: 531 531.1 531.2 531.3 531.4 531.5 531.6 531.7 531.8 531.9 532 
+  Bin 1532: 532 532.1 532.2 532.3 532.4 532.5 532.6 532.7 532.8 532.9 533 
+  Bin 1533: 533 533.1 533.2 533.3 533.4 533.5 533.6 533.7 533.8 533.9 534 
+  Bin 1534: 534 534.1 534.2 534.3 534.4 534.5 534.6 534.7 534.8 534.9 535 
+  Bin 1535: 535 535.1 535.2 535.3 535.4 535.5 535.6 535.7 535.8 535.9 536 
+  Bin 1536: 536 536.1 536.2 536.3 536.4 536.5 536.6 536.7 536.8 536.9 537 
+  Bin 1537: 537 537.1 537.2 537.3 537.4 537.5 537.6 537.7 537.8 537.9 538 
+  Bin 1538: 538 538.1 538.2 538.3 538.4 538.5 538.6 538.7 538.8 538.9 539 
+  Bin 1539: 539 539.1 539.2 539.3 539.4 539.5 539.6 539.7 539.8 539.9 540 
+  Bin 1540: 540 540.1 540.2 540.3 540.4 540.5 540.6 540.7 540.8 540.9 541 
+  Bin 1541: 541 541.1 541.2 541.3 541.4 541.5 541.6 541.7 541.8 541.9 542 
+  Bin 1542: 542 542.1 542.2 542.3 542.4 542.5 542.6 542.7 542.8 542.9 543 
+  Bin 1543: 543 543.1 543.2 543.3 543.4 543.5 543.6 543.7 543.8 543.9 544 
+  Bin 1544: 544 544.1 544.2 544.3 544.4 544.5 544.6 544.7 544.8 544.9 545 
+  Bin 1545: 545 545.1 545.2 545.3 545.4 545.5 545.6 545.7 545.8 545.9 546 
+  Bin 1546: 546 546.1 546.2 546.3 546.4 546.5 546.6 546.7 546.8 546.9 547 
+  Bin 1547: 547 547.1 547.2 547.3 547.4 547.5 547.6 547.7 547.8 547.9 548 
+  Bin 1548: 548 548.1 548.2 548.3 548.4 548.5 548.6 548.7 548.8 548.9 549 
+  Bin 1549: 549 549.1 549.2 549.3 549.4 549.5 549.6 549.7 549.8 549.9 550 
+  Bin 1550: 550 550.1 550.2 550.3 550.4 550.5 550.6 550.7 550.8 550.9 551 
+  Bin 1551: 551 551.1 551.2 551.3 551.4 551.5 551.6 551.7 551.8 551.9 552 
+  Bin 1552: 552 552.1 552.2 552.3 552.4 552.5 552.6 552.7 552.8 552.9 553 
+  Bin 1553: 553 553.1 553.2 553.3 553.4 553.5 553.6 553.7 553.8 553.9 554 
+  Bin 1554: 554 554.1 554.2 554.3 554.4 554.5 554.6 554.7 554.8 554.9 555 
+  Bin 1555: 555 555.1 555.2 555.3 555.4 555.5 555.6 555.7 555.8 555.9 556 
+  Bin 1556: 556 556.1 556.2 556.3 556.4 556.5 556.6 556.7 556.8 556.9 557 
+  Bin 1557: 557 557.1 557.2 557.3 557.4 557.5 557.6 557.7 557.8 557.9 558 
+  Bin 1558: 558 558.1 558.2 558.3 558.4 558.5 558.6 558.7 558.8 558.9 559 
+  Bin 1559: 559 559.1 559.2 559.3 559.4 559.5 559.6 559.7 559.8 559.9 560 
+  Bin 1560: 560 560.1 560.2 560.3 560.4 560.5 560.6 560.7 560.8 560.9 561 
+  Bin 1561: 561 561.1 561.2 561.3 561.4 561.5 561.6 561.7 561.8 561.9 562 
+  Bin 1562: 562 562.1 562.2 562.3 562.4 562.5 562.6 562.7 562.8 562.9 563 
+  Bin 1563: 563 563.1 563.2 563.3 563.4 563.5 563.6 563.7 563.8 563.9 564 
+  Bin 1564: 564 564.1 564.2 564.3 564.4 564.5 564.6 564.7 564.8 564.9 565 
+  Bin 1565: 565 565.1 565.2 565.3 565.4 565.5 565.6 565.7 565.8 565.9 566 
+  Bin 1566: 566 566.1 566.2 566.3 566.4 566.5 566.6 566.7 566.8 566.9 567 
+  Bin 1567: 567 567.1 567.2 567.3 567.4 567.5 567.6 567.7 567.8 567.9 568 
+  Bin 1568: 568 568.1 568.2 568.3 568.4 568.5 568.6 568.7 568.8 568.9 569 
+  Bin 1569: 569 569.1 569.2 569.3 569.4 569.5 569.6 569.7 569.8 569.9 570 
+  Bin 1570: 570 570.1 570.2 570.3 570.4 570.5 570.6 570.7 570.8 570.9 571 
+  Bin 1571: 571 571.1 571.2 571.3 571.4 571.5 571.6 571.7 571.8 571.9 572 
+  Bin 1572: 572 572.1 572.2 572.3 572.4 572.5 572.6 572.7 572.8 572.9 573 
+  Bin 1573: 573 573.1 573.2 573.3 573.4 573.5 573.6 573.7 573.8 573.9 574 
+  Bin 1574: 574 574.1 574.2 574.3 574.4 574.5 574.6 574.7 574.8 574.9 575 
+  Bin 1575: 575 575.1 575.2 575.3 575.4 575.5 575.6 575.7 575.8 575.9 576 
+  Bin 1576: 576 576.1 576.2 576.3 576.4 576.5 576.6 576.7 576.8 576.9 577 
+  Bin 1577: 577 577.1 577.2 577.3 577.4 577.5 577.6 577.7 577.8 577.9 578 
+  Bin 1578: 578 578.1 578.2 578.3 578.4 578.5 578.6 578.7 578.8 578.9 579 
+  Bin 1579: 579 579.1 579.2 579.3 579.4 579.5 579.6 579.7 579.8 579.9 580 
+  Bin 1580: 580 580.1 580.2 580.3 580.4 580.5 580.6 580.7 580.8 580.9 581 
+  Bin 1581: 581 581.1 581.2 581.3 581.4 581.5 581.6 581.7 581.8 581.9 582 
+  Bin 1582: 582 582.1 582.2 582.3 582.4 582.5 582.6 582.7 582.8 582.9 583 
+  Bin 1583: 583 583.1 583.2 583.3 583.4 583.5 583.6 583.7 583.8 583.9 584 
+  Bin 1584: 584 584.1 584.2 584.3 584.4 584.5 584.6 584.7 584.8 584.9 585 
+  Bin 1585: 585 585.1 585.2 585.3 585.4 585.5 585.6 585.7 585.8 585.9 586 
+  Bin 1586: 586 586.1 586.2 586.3 586.4 586.5 586.6 586.7 586.8 586.9 587 
+  Bin 1587: 587 587.1 587.2 587.3 587.4 587.5 587.6 587.7 587.8 587.9 588 
+  Bin 1588: 588 588.1 588.2 588.3 588.4 588.5 588.6 588.7 588.8 588.9 589 
+  Bin 1589: 589 589.1 589.2 589.3 589.4 589.5 589.6 589.7 589.8 589.9 590 
+  Bin 1590: 590 590.1 590.2 590.3 590.4 590.5 590.6 590.7 590.8 590.9 591 
+  Bin 1591: 591 591.1 591.2 591.3 591.4 591.5 591.6 591.7 591.8 591.9 592 
+  Bin 1592: 592 592.1 592.2 592.3 592.4 592.5 592.6 592.7 592.8 592.9 593 
+  Bin 1593: 593 593.1 593.2 593.3 593.4 593.5 593.6 593.7 593.8 593.9 594 
+  Bin 1594: 594 594.1 594.2 594.3 594.4 594.5 594.6 594.7 594.8 594.9 595 
+  Bin 1595: 595 595.1 595.2 595.3 595.4 595.5 595.6 595.7 595.8 595.9 596 
+  Bin 1596: 596 596.1 596.2 596.3 596.4 596.5 596.6 596.7 596.8 596.9 597 
+  Bin 1597: 597 597.1 597.2 597.3 597.4 597.5 597.6 597.7 597.8 597.9 598 
+  Bin 1598: 598 598.1 598.2 598.3 598.4 598.5 598.6 598.7 598.8 598.9 599 
+  Bin 1599: 599 599.1 599.2 599.3 599.4 599.5 599.6 599.7 599.8 599.9 600 
+  Bin 1600: 600 600.1 600.2 600.3 600.4 600.5 600.6 600.7 600.8 600.9 601 
+  Bin 1601: 601 601.1 601.2 601.3 601.4 601.5 601.6 601.7 601.8 601.9 602 
+  Bin 1602: 602 602.1 602.2 602.3 602.4 602.5 602.6 602.7 602.8 602.9 603 
+  Bin 1603: 603 603.1 603.2 603.3 603.4 603.5 603.6 603.7 603.8 603.9 604 
+  Bin 1604: 604 604.1 604.2 604.3 604.4 604.5 604.6 604.7 604.8 604.9 605 
+  Bin 1605: 605 605.1 605.2 605.3 605.4 605.5 605.6 605.7 605.8 605.9 606 
+  Bin 1606: 606 606.1 606.2 606.3 606.4 606.5 606.6 606.7 606.8 606.9 607 
+  Bin 1607: 607 607.1 607.2 607.3 607.4 607.5 607.6 607.7 607.8 607.9 608 
+  Bin 1608: 608 608.1 608.2 608.3 608.4 608.5 608.6 608.7 608.8 608.9 609 
+  Bin 1609: 609 609.1 609.2 609.3 609.4 609.5 609.6 609.7 609.8 609.9 610 
+  Bin 1610: 610 610.1 610.2 610.3 610.4 610.5 610.6 610.7 610.8 610.9 611 
+  Bin 1611: 611 611.1 611.2 611.3 611.4 611.5 611.6 611.7 611.8 611.9 612 
+  Bin 1612: 612 612.1 612.2 612.3 612.4 612.5 612.6 612.7 612.8 612.9 613 
+  Bin 1613: 613 613.1 613.2 613.3 613.4 613.5 613.6 613.7 613.8 613.9 614 
+  Bin 1614: 614 614.1 614.2 614.3 614.4 614.5 614.6 614.7 614.8 614.9 615 
+  Bin 1615: 615 615.1 615.2 615.3 615.4 615.5 615.6 615.7 615.8 615.9 616 
+  Bin 1616: 616 616.1 616.2 616.3 616.4 616.5 616.6 616.7 616.8 616.9 617 
+  Bin 1617: 617 617.1 617.2 617.3 617.4 617.5 617.6 617.7 617.8 617.9 618 
+  Bin 1618: 618 618.1 618.2 618.3 618.4 618.5 618.6 618.7 618.8 618.9 619 
+  Bin 1619: 619 619.1 619.2 619.3 619.4 619.5 619.6 619.7 619.8 619.9 620 
+  Bin 1620: 620 620.1 620.2 620.3 620.4 620.5 620.6 620.7 620.8 620.9 621 
+  Bin 1621: 621 621.1 621.2 621.3 621.4 621.5 621.6 621.7 621.8 621.9 622 
+  Bin 1622: 622 622.1 622.2 622.3 622.4 622.5 622.6 622.7 622.8 622.9 623 
+  Bin 1623: 623 623.1 623.2 623.3 623.4 623.5 623.6 623.7 623.8 623.9 624 
+  Bin 1624: 624 624.1 624.2 624.3 624.4 624.5 624.6 624.7 624.8 624.9 625 
+  Bin 1625: 625 625.1 625.2 625.3 625.4 625.5 625.6 625.7 625.8 625.9 626 
+  Bin 1626: 626 626.1 626.2 626.3 626.4 626.5 626.6 626.7 626.8 626.9 627 
+  Bin 1627: 627 627.1 627.2 627.3 627.4 627.5 627.6 627.7 627.8 627.9 628 
+  Bin 1628: 628 628.1 628.2 628.3 628.4 628.5 628.6 628.7 628.8 628.9 629 
+  Bin 1629: 629 629.1 629.2 629.3 629.4 629.5 629.6 629.7 629.8 629.9 630 
+  Bin 1630: 630 630.1 630.2 630.3 630.4 630.5 630.6 630.7 630.8 630.9 631 
+  Bin 1631: 631 631.1 631.2 631.3 631.4 631.5 631.6 631.7 631.8 631.9 632 
+  Bin 1632: 632 632.1 632.2 632.3 632.4 632.5 632.6 632.7 632.8 632.9 633 
+  Bin 1633: 633 633.1 633.2 633.3 633.4 633.5 633.6 633.7 633.8 633.9 634 
+  Bin 1634: 634 634.1 634.2 634.3 634.4 634.5 634.6 634.7 634.8 634.9 635 
+  Bin 1635: 635 635.1 635.2 635.3 635.4 635.5 635.6 635.7 635.8 635.9 636 
+  Bin 1636: 636 636.1 636.2 636.3 636.4 636.5 636.6 636.7 636.8 636.9 637 
+  Bin 1637: 637 637.1 637.2 637.3 637.4 637.5 637.6 637.7 637.8 637.9 638 
+  Bin 1638: 638 638.1 638.2 638.3 638.4 638.5 638.6 638.7 638.8 638.9 639 
+  Bin 1639: 639 639.1 639.2 639.3 639.4 639.5 639.6 639.7 639.8 639.9 640 
+  Bin 1640: 640 640.1 640.2 640.3 640.4 640.5 640.6 640.7 640.8 640.9 641 
+  Bin 1641: 641 641.1 641.2 641.3 641.4 641.5 641.6 641.7 641.8 641.9 642 
+  Bin 1642: 642 642.1 642.2 642.3 642.4 642.5 642.6 642.7 642.8 642.9 643 
+  Bin 1643: 643 643.1 643.2 643.3 643.4 643.5 643.6 643.7 643.8 643.9 644 
+  Bin 1644: 644 644.1 644.2 644.3 644.4 644.5 644.6 644.7 644.8 644.9 645 
+  Bin 1645: 645 645.1 645.2 645.3 645.4 645.5 645.6 645.7 645.8 645.9 646 
+  Bin 1646: 646 646.1 646.2 646.3 646.4 646.5 646.6 646.7 646.8 646.9 647 
+  Bin 1647: 647 647.1 647.2 647.3 647.4 647.5 647.6 647.7 647.8 647.9 648 
+  Bin 1648: 648 648.1 648.2 648.3 648.4 648.5 648.6 648.7 648.8 648.9 649 
+  Bin 1649: 649 649.1 649.2 649.3 649.4 649.5 649.6 649.7 649.8 649.9 650 
+  Bin 1650: 650 650.1 650.2 650.3 650.4 650.5 650.6 650.7 650.8 650.9 651 
+  Bin 1651: 651 651.1 651.2 651.3 651.4 651.5 651.6 651.7 651.8 651.9 652 
+  Bin 1652: 652 652.1 652.2 652.3 652.4 652.5 652.6 652.7 652.8 652.9 653 
+  Bin 1653: 653 653.1 653.2 653.3 653.4 653.5 653.6 653.7 653.8 653.9 654 
+  Bin 1654: 654 654.1 654.2 654.3 654.4 654.5 654.6 654.7 654.8 654.9 655 
+  Bin 1655: 655 655.1 655.2 655.3 655.4 655.5 655.6 655.7 655.8 655.9 656 
+  Bin 1656: 656 656.1 656.2 656.3 656.4 656.5 656.6 656.7 656.8 656.9 657 
+  Bin 1657: 657 657.1 657.2 657.3 657.4 657.5 657.6 657.7 657.8 657.9 658 
+  Bin 1658: 658 658.1 658.2 658.3 658.4 658.5 658.6 658.7 658.8 658.9 659 
+  Bin 1659: 659 659.1 659.2 659.3 659.4 659.5 659.6 659.7 659.8 659.9 660 
+  Bin 1660: 660 660.1 660.2 660.3 660.4 660.5 660.6 660.7 660.8 660.9 661 
+  Bin 1661: 661 661.1 661.2 661.3 661.4 661.5 661.6 661.7 661.8 661.9 662 
+  Bin 1662: 662 662.1 662.2 662.3 662.4 662.5 662.6 662.7 662.8 662.9 663 
+  Bin 1663: 663 663.1 663.2 663.3 663.4 663.5 663.6 663.7 663.8 663.9 664 
+  Bin 1664: 664 664.1 664.2 664.3 664.4 664.5 664.6 664.7 664.8 664.9 665 
+  Bin 1665: 665 665.1 665.2 665.3 665.4 665.5 665.6 665.7 665.8 665.9 666 
+  Bin 1666: 666 666.1 666.2 666.3 666.4 666.5 666.6 666.7 666.8 666.9 667 
+  Bin 1667: 667 667.1 667.2 667.3 667.4 667.5 667.6 667.7 667.8 667.9 668 
+  Bin 1668: 668 668.1 668.2 668.3 668.4 668.5 668.6 668.7 668.8 668.9 669 
+  Bin 1669: 669 669.1 669.2 669.3 669.4 669.5 669.6 669.7 669.8 669.9 670 
+  Bin 1670: 670 670.1 670.2 670.3 670.4 670.5 670.6 670.7 670.8 670.9 671 
+  Bin 1671: 671 671.1 671.2 671.3 671.4 671.5 671.6 671.7 671.8 671.9 672 
+  Bin 1672: 672 672.1 672.2 672.3 672.4 672.5 672.6 672.7 672.8 672.9 673 
+  Bin 1673: 673 673.1 673.2 673.3 673.4 673.5 673.6 673.7 673.8 673.9 674 
+  Bin 1674: 674 674.1 674.2 674.3 674.4 674.5 674.6 674.7 674.8 674.9 675 
+  Bin 1675: 675 675.1 675.2 675.3 675.4 675.5 675.6 675.7 675.8 675.9 676 
+  Bin 1676: 676 676.1 676.2 676.3 676.4 676.5 676.6 676.7 676.8 676.9 677 
+  Bin 1677: 677 677.1 677.2 677.3 677.4 677.5 677.6 677.7 677.8 677.9 678 
+  Bin 1678: 678 678.1 678.2 678.3 678.4 678.5 678.6 678.7 678.8 678.9 679 
+  Bin 1679: 679 679.1 679.2 679.3 679.4 679.5 679.6 679.7 679.8 679.9 680 
+  Bin 1680: 680 680.1 680.2 680.3 680.4 680.5 680.6 680.7 680.8 680.9 681 
+  Bin 1681: 681 681.1 681.2 681.3 681.4 681.5 681.6 681.7 681.8 681.9 682 
+  Bin 1682: 682 682.1 682.2 682.3 682.4 682.5 682.6 682.7 682.8 682.9 683 
+  Bin 1683: 683 683.1 683.2 683.3 683.4 683.5 683.6 683.7 683.8 683.9 684 
+  Bin 1684: 684 684.1 684.2 684.3 684.4 684.5 684.6 684.7 684.8 684.9 685 
+  Bin 1685: 685 685.1 685.2 685.3 685.4 685.5 685.6 685.7 685.8 685.9 686 
+  Bin 1686: 686 686.1 686.2 686.3 686.4 686.5 686.6 686.7 686.8 686.9 687 
+  Bin 1687: 687 687.1 687.2 687.3 687.4 687.5 687.6 687.7 687.8 687.9 688 
+  Bin 1688: 688 688.1 688.2 688.3 688.4 688.5 688.6 688.7 688.8 688.9 689 
+  Bin 1689: 689 689.1 689.2 689.3 689.4 689.5 689.6 689.7 689.8 689.9 690 
+  Bin 1690: 690 690.1 690.2 690.3 690.4 690.5 690.6 690.7 690.8 690.9 691 
+  Bin 1691: 691 691.1 691.2 691.3 691.4 691.5 691.6 691.7 691.8 691.9 692 
+  Bin 1692: 692 692.1 692.2 692.3 692.4 692.5 692.6 692.7 692.8 692.9 693 
+  Bin 1693: 693 693.1 693.2 693.3 693.4 693.5 693.6 693.7 693.8 693.9 694 
+  Bin 1694: 694 694.1 694.2 694.3 694.4 694.5 694.6 694.7 694.8 694.9 695 
+  Bin 1695: 695 695.1 695.2 695.3 695.4 695.5 695.6 695.7 695.8 695.9 696 
+  Bin 1696: 696 696.1 696.2 696.3 696.4 696.5 696.6 696.7 696.8 696.9 697 
+  Bin 1697: 697 697.1 697.2 697.3 697.4 697.5 697.6 697.7 697.8 697.9 698 
+  Bin 1698: 698 698.1 698.2 698.3 698.4 698.5 698.6 698.7 698.8 698.9 699 
+  Bin 1699: 699 699.1 699.2 699.3 699.4 699.5 699.6 699.7 699.8 699.9 700 
+  Bin 1700: 700 700.1 700.2 700.3 700.4 700.5 700.6 700.7 700.8 700.9 701 
+  Bin 1701: 701 701.1 701.2 701.3 701.4 701.5 701.6 701.7 701.8 701.9 702 
+  Bin 1702: 702 702.1 702.2 702.3 702.4 702.5 702.6 702.7 702.8 702.9 703 
+  Bin 1703: 703 703.1 703.2 703.3 703.4 703.5 703.6 703.7 703.8 703.9 704 
+  Bin 1704: 704 704.1 704.2 704.3 704.4 704.5 704.6 704.7 704.8 704.9 705 
+  Bin 1705: 705 705.1 705.2 705.3 705.4 705.5 705.6 705.7 705.8 705.9 706 
+  Bin 1706: 706 706.1 706.2 706.3 706.4 706.5 706.6 706.7 706.8 706.9 707 
+  Bin 1707: 707 707.1 707.2 707.3 707.4 707.5 707.6 707.7 707.8 707.9 708 
+  Bin 1708: 708 708.1 708.2 708.3 708.4 708.5 708.6 708.7 708.8 708.9 709 
+  Bin 1709: 709 709.1 709.2 709.3 709.4 709.5 709.6 709.7 709.8 709.9 710 
+  Bin 1710: 710 710.1 710.2 710.3 710.4 710.5 710.6 710.7 710.8 710.9 711 
+  Bin 1711: 711 711.1 711.2 711.3 711.4 711.5 711.6 711.7 711.8 711.9 712 
+  Bin 1712: 712 712.1 712.2 712.3 712.4 712.5 712.6 712.7 712.8 712.9 713 
+  Bin 1713: 713 713.1 713.2 713.3 713.4 713.5 713.6 713.7 713.8 713.9 714 
+  Bin 1714: 714 714.1 714.2 714.3 714.4 714.5 714.6 714.7 714.8 714.9 715 
+  Bin 1715: 715 715.1 715.2 715.3 715.4 715.5 715.6 715.7 715.8 715.9 716 
+  Bin 1716: 716 716.1 716.2 716.3 716.4 716.5 716.6 716.7 716.8 716.9 717 
+  Bin 1717: 717 717.1 717.2 717.3 717.4 717.5 717.6 717.7 717.8 717.9 718 
+  Bin 1718: 718 718.1 718.2 718.3 718.4 718.5 718.6 718.7 718.8 718.9 719 
+  Bin 1719: 719 719.1 719.2 719.3 719.4 719.5 719.6 719.7 719.8 719.9 720 
+  Bin 1720: 720 720.1 720.2 720.3 720.4 720.5 720.6 720.7 720.8 720.9 721 
+  Bin 1721: 721 721.1 721.2 721.3 721.4 721.5 721.6 721.7 721.8 721.9 722 
+  Bin 1722: 722 722.1 722.2 722.3 722.4 722.5 722.6 722.7 722.8 722.9 723 
+  Bin 1723: 723 723.1 723.2 723.3 723.4 723.5 723.6 723.7 723.8 723.9 724 
+  Bin 1724: 724 724.1 724.2 724.3 724.4 724.5 724.6 724.7 724.8 724.9 725 
+  Bin 1725: 725 725.1 725.2 725.3 725.4 725.5 725.6 725.7 725.8 725.9 726 
+  Bin 1726: 726 726.1 726.2 726.3 726.4 726.5 726.6 726.7 726.8 726.9 727 
+  Bin 1727: 727 727.1 727.2 727.3 727.4 727.5 727.6 727.7 727.8 727.9 728 
+  Bin 1728: 728 728.1 728.2 728.3 728.4 728.5 728.6 728.7 728.8 728.9 729 
+  Bin 1729: 729 729.1 729.2 729.3 729.4 729.5 729.6 729.7 729.8 729.9 730 
+  Bin 1730: 730 730.1 730.2 730.3 730.4 730.5 730.6 730.7 730.8 730.9 731 
+  Bin 1731: 731 731.1 731.2 731.3 731.4 731.5 731.6 731.7 731.8 731.9 732 
+  Bin 1732: 732 732.1 732.2 732.3 732.4 732.5 732.6 732.7 732.8 732.9 733 
+  Bin 1733: 733 733.1 733.2 733.3 733.4 733.5 733.6 733.7 733.8 733.9 734 
+  Bin 1734: 734 734.1 734.2 734.3 734.4 734.5 734.6 734.7 734.8 734.9 735 
+  Bin 1735: 735 735.1 735.2 735.3 735.4 735.5 735.6 735.7 735.8 735.9 736 
+  Bin 1736: 736 736.1 736.2 736.3 736.4 736.5 736.6 736.7 736.8 736.9 737 
+  Bin 1737: 737 737.1 737.2 737.3 737.4 737.5 737.6 737.7 737.8 737.9 738 
+  Bin 1738: 738 738.1 738.2 738.3 738.4 738.5 738.6 738.7 738.8 738.9 739 
+  Bin 1739: 739 739.1 739.2 739.3 739.4 739.5 739.6 739.7 739.8 739.9 740 
+  Bin 1740: 740 740.1 740.2 740.3 740.4 740.5 740.6 740.7 740.8 740.9 741 
+  Bin 1741: 741 741.1 741.2 741.3 741.4 741.5 741.6 741.7 741.8 741.9 742 
+  Bin 1742: 742 742.1 742.2 742.3 742.4 742.5 742.6 742.7 742.8 742.9 743 
+  Bin 1743: 743 743.1 743.2 743.3 743.4 743.5 743.6 743.7 743.8 743.9 744 
+  Bin 1744: 744 744.1 744.2 744.3 744.4 744.5 744.6 744.7 744.8 744.9 745 
+  Bin 1745: 745 745.1 745.2 745.3 745.4 745.5 745.6 745.7 745.8 745.9 746 
+  Bin 1746: 746 746.1 746.2 746.3 746.4 746.5 746.6 746.7 746.8 746.9 747 
+  Bin 1747: 747 747.1 747.2 747.3 747.4 747.5 747.6 747.7 747.8 747.9 748 
+  Bin 1748: 748 748.1 748.2 748.3 748.4 748.5 748.6 748.7 748.8 748.9 749 
+  Bin 1749: 749 749.1 749.2 749.3 749.4 749.5 749.6 749.7 749.8 749.9 750 
+  Bin 1750: 750 750.1 750.2 750.3 750.4 750.5 750.6 750.7 750.8 750.9 751 
+  Bin 1751: 751 751.1 751.2 751.3 751.4 751.5 751.6 751.7 751.8 751.9 752 
+  Bin 1752: 752 752.1 752.2 752.3 752.4 752.5 752.6 752.7 752.8 752.9 753 
+  Bin 1753: 753 753.1 753.2 753.3 753.4 753.5 753.6 753.7 753.8 753.9 754 
+  Bin 1754: 754 754.1 754.2 754.3 754.4 754.5 754.6 754.7 754.8 754.9 755 
+  Bin 1755: 755 755.1 755.2 755.3 755.4 755.5 755.6 755.7 755.8 755.9 756 
+  Bin 1756: 756 756.1 756.2 756.3 756.4 756.5 756.6 756.7 756.8 756.9 757 
+  Bin 1757: 757 757.1 757.2 757.3 757.4 757.5 757.6 757.7 757.8 757.9 758 
+  Bin 1758: 758 758.1 758.2 758.3 758.4 758.5 758.6 758.7 758.8 758.9 759 
+  Bin 1759: 759 759.1 759.2 759.3 759.4 759.5 759.6 759.7 759.8 759.9 760 
+  Bin 1760: 760 760.1 760.2 760.3 760.4 760.5 760.6 760.7 760.8 760.9 761 
+  Bin 1761: 761 761.1 761.2 761.3 761.4 761.5 761.6 761.7 761.8 761.9 762 
+  Bin 1762: 762 762.1 762.2 762.3 762.4 762.5 762.6 762.7 762.8 762.9 763 
+  Bin 1763: 763 763.1 763.2 763.3 763.4 763.5 763.6 763.7 763.8 763.9 764 
+  Bin 1764: 764 764.1 764.2 764.3 764.4 764.5 764.6 764.7 764.8 764.9 765 
+  Bin 1765: 765 765.1 765.2 765.3 765.4 765.5 765.6 765.7 765.8 765.9 766 
+  Bin 1766: 766 766.1 766.2 766.3 766.4 766.5 766.6 766.7 766.8 766.9 767 
+  Bin 1767: 767 767.1 767.2 767.3 767.4 767.5 767.6 767.7 767.8 767.9 768 
+  Bin 1768: 768 768.1 768.2 768.3 768.4 768.5 768.6 768.7 768.8 768.9 769 
+  Bin 1769: 769 769.1 769.2 769.3 769.4 769.5 769.6 769.7 769.8 769.9 770 
+  Bin 1770: 770 770.1 770.2 770.3 770.4 770.5 770.6 770.7 770.8 770.9 771 
+  Bin 1771: 771 771.1 771.2 771.3 771.4 771.5 771.6 771.7 771.8 771.9 772 
+  Bin 1772: 772 772.1 772.2 772.3 772.4 772.5 772.6 772.7 772.8 772.9 773 
+  Bin 1773: 773 773.1 773.2 773.3 773.4 773.5 773.6 773.7 773.8 773.9 774 
+  Bin 1774: 774 774.1 774.2 774.3 774.4 774.5 774.6 774.7 774.8 774.9 775 
+  Bin 1775: 775 775.1 775.2 775.3 775.4 775.5 775.6 775.7 775.8 775.9 776 
+  Bin 1776: 776 776.1 776.2 776.3 776.4 776.5 776.6 776.7 776.8 776.9 777 
+  Bin 1777: 777 777.1 777.2 777.3 777.4 777.5 777.6 777.7 777.8 777.9 778 
+  Bin 1778: 778 778.1 778.2 778.3 778.4 778.5 778.6 778.7 778.8 778.9 779 
+  Bin 1779: 779 779.1 779.2 779.3 779.4 779.5 779.6 779.7 779.8 779.9 780 
+  Bin 1780: 780 780.1 780.2 780.3 780.4 780.5 780.6 780.7 780.8 780.9 781 
+  Bin 1781: 781 781.1 781.2 781.3 781.4 781.5 781.6 781.7 781.8 781.9 782 
+  Bin 1782: 782 782.1 782.2 782.3 782.4 782.5 782.6 782.7 782.8 782.9 783 
+  Bin 1783: 783 783.1 783.2 783.3 783.4 783.5 783.6 783.7 783.8 783.9 784 
+  Bin 1784: 784 784.1 784.2 784.3 784.4 784.5 784.6 784.7 784.8 784.9 785 
+  Bin 1785: 785 785.1 785.2 785.3 785.4 785.5 785.6 785.7 785.8 785.9 786 
+  Bin 1786: 786 786.1 786.2 786.3 786.4 786.5 786.6 786.7 786.8 786.9 787 
+  Bin 1787: 787 787.1 787.2 787.3 787.4 787.5 787.6 787.7 787.8 787.9 788 
+  Bin 1788: 788 788.1 788.2 788.3 788.4 788.5 788.6 788.7 788.8 788.9 789 
+  Bin 1789: 789 789.1 789.2 789.3 789.4 789.5 789.6 789.7 789.8 789.9 790 
+  Bin 1790: 790 790.1 790.2 790.3 790.4 790.5 790.6 790.7 790.8 790.9 791 
+  Bin 1791: 791 791.1 791.2 791.3 791.4 791.5 791.6 791.7 791.8 791.9 792 
+  Bin 1792: 792 792.1 792.2 792.3 792.4 792.5 792.6 792.7 792.8 792.9 793 
+  Bin 1793: 793 793.1 793.2 793.3 793.4 793.5 793.6 793.7 793.8 793.9 794 
+  Bin 1794: 794 794.1 794.2 794.3 794.4 794.5 794.6 794.7 794.8 794.9 795 
+  Bin 1795: 795 795.1 795.2 795.3 795.4 795.5 795.6 795.7 795.8 795.9 796 
+  Bin 1796: 796 796.1 796.2 796.3 796.4 796.5 796.6 796.7 796.8 796.9 797 
+  Bin 1797: 797 797.1 797.2 797.3 797.4 797.5 797.6 797.7 797.8 797.9 798 
+  Bin 1798: 798 798.1 798.2 798.3 798.4 798.5 798.6 798.7 798.8 798.9 799 
+  Bin 1799: 799 799.1 799.2 799.3 799.4 799.5 799.6 799.7 799.8 799.9 800 
+  Bin 1800: 800 800.1 800.2 800.3 800.4 800.5 800.6 800.7 800.8 800.9 801 
+  Bin 1801: 801 801.1 801.2 801.3 801.4 801.5 801.6 801.7 801.8 801.9 802 
+  Bin 1802: 802 802.1 802.2 802.3 802.4 802.5 802.6 802.7 802.8 802.9 803 
+  Bin 1803: 803 803.1 803.2 803.3 803.4 803.5 803.6 803.7 803.8 803.9 804 
+  Bin 1804: 804 804.1 804.2 804.3 804.4 804.5 804.6 804.7 804.8 804.9 805 
+  Bin 1805: 805 805.1 805.2 805.3 805.4 805.5 805.6 805.7 805.8 805.9 806 
+  Bin 1806: 806 806.1 806.2 806.3 806.4 806.5 806.6 806.7 806.8 806.9 807 
+  Bin 1807: 807 807.1 807.2 807.3 807.4 807.5 807.6 807.7 807.8 807.9 808 
+  Bin 1808: 808 808.1 808.2 808.3 808.4 808.5 808.6 808.7 808.8 808.9 809 
+  Bin 1809: 809 809.1 809.2 809.3 809.4 809.5 809.6 809.7 809.8 809.9 810 
+  Bin 1810: 810 810.1 810.2 810.3 810.4 810.5 810.6 810.7 810.8 810.9 811 
+  Bin 1811: 811 811.1 811.2 811.3 811.4 811.5 811.6 811.7 811.8 811.9 812 
+  Bin 1812: 812 812.1 812.2 812.3 812.4 812.5 812.6 812.7 812.8 812.9 813 
+  Bin 1813: 813 813.1 813.2 813.3 813.4 813.5 813.6 813.7 813.8 813.9 814 
+  Bin 1814: 814 814.1 814.2 814.3 814.4 814.5 814.6 814.7 814.8 814.9 815 
+  Bin 1815: 815 815.1 815.2 815.3 815.4 815.5 815.6 815.7 815.8 815.9 816 
+  Bin 1816: 816 816.1 816.2 816.3 816.4 816.5 816.6 816.7 816.8 816.9 817 
+  Bin 1817: 817 817.1 817.2 817.3 817.4 817.5 817.6 817.7 817.8 817.9 818 
+  Bin 1818: 818 818.1 818.2 818.3 818.4 818.5 818.6 818.7 818.8 818.9 819 
+  Bin 1819: 819 819.1 819.2 819.3 819.4 819.5 819.6 819.7 819.8 819.9 820 
+  Bin 1820: 820 820.1 820.2 820.3 820.4 820.5 820.6 820.7 820.8 820.9 821 
+  Bin 1821: 821 821.1 821.2 821.3 821.4 821.5 821.6 821.7 821.8 821.9 822 
+  Bin 1822: 822 822.1 822.2 822.3 822.4 822.5 822.6 822.7 822.8 822.9 823 
+  Bin 1823: 823 823.1 823.2 823.3 823.4 823.5 823.6 823.7 823.8 823.9 824 
+  Bin 1824: 824 824.1 824.2 824.3 824.4 824.5 824.6 824.7 824.8 824.9 825 
+  Bin 1825: 825 825.1 825.2 825.3 825.4 825.5 825.6 825.7 825.8 825.9 826 
+  Bin 1826: 826 826.1 826.2 826.3 826.4 826.5 826.6 826.7 826.8 826.9 827 
+  Bin 1827: 827 827.1 827.2 827.3 827.4 827.5 827.6 827.7 827.8 827.9 828 
+  Bin 1828: 828 828.1 828.2 828.3 828.4 828.5 828.6 828.7 828.8 828.9 829 
+  Bin 1829: 829 829.1 829.2 829.3 829.4 829.5 829.6 829.7 829.8 829.9 830 
+  Bin 1830: 830 830.1 830.2 830.3 830.4 830.5 830.6 830.7 830.8 830.9 831 
+  Bin 1831: 831 831.1 831.2 831.3 831.4 831.5 831.6 831.7 831.8 831.9 832 
+  Bin 1832: 832 832.1 832.2 832.3 832.4 832.5 832.6 832.7 832.8 832.9 833 
+  Bin 1833: 833 833.1 833.2 833.3 833.4 833.5 833.6 833.7 833.8 833.9 834 
+  Bin 1834: 834 834.1 834.2 834.3 834.4 834.5 834.6 834.7 834.8 834.9 835 
+  Bin 1835: 835 835.1 835.2 835.3 835.4 835.5 835.6 835.7 835.8 835.9 836 
+  Bin 1836: 836 836.1 836.2 836.3 836.4 836.5 836.6 836.7 836.8 836.9 837 
+  Bin 1837: 837 837.1 837.2 837.3 837.4 837.5 837.6 837.7 837.8 837.9 838 
+  Bin 1838: 838 838.1 838.2 838.3 838.4 838.5 838.6 838.7 838.8 838.9 839 
+  Bin 1839: 839 839.1 839.2 839.3 839.4 839.5 839.6 839.7 839.8 839.9 840 
+  Bin 1840: 840 840.1 840.2 840.3 840.4 840.5 840.6 840.7 840.8 840.9 841 
+  Bin 1841: 841 841.1 841.2 841.3 841.4 841.5 841.6 841.7 841.8 841.9 842 
+  Bin 1842: 842 842.1 842.2 842.3 842.4 842.5 842.6 842.7 842.8 842.9 843 
+  Bin 1843: 843 843.1 843.2 843.3 843.4 843.5 843.6 843.7 843.8 843.9 844 
+  Bin 1844: 844 844.1 844.2 844.3 844.4 844.5 844.6 844.7 844.8 844.9 845 
+  Bin 1845: 845 845.1 845.2 845.3 845.4 845.5 845.6 845.7 845.8 845.9 846 
+  Bin 1846: 846 846.1 846.2 846.3 846.4 846.5 846.6 846.7 846.8 846.9 847 
+  Bin 1847: 847 847.1 847.2 847.3 847.4 847.5 847.6 847.7 847.8 847.9 848 
+  Bin 1848: 848 848.1 848.2 848.3 848.4 848.5 848.6 848.7 848.8 848.9 849 
+  Bin 1849: 849 849.1 849.2 849.3 849.4 849.5 849.6 849.7 849.8 849.9 850 
+  Bin 1850: 850 850.1 850.2 850.3 850.4 850.5 850.6 850.7 850.8 850.9 851 
+  Bin 1851: 851 851.1 851.2 851.3 851.4 851.5 851.6 851.7 851.8 851.9 852 
+  Bin 1852: 852 852.1 852.2 852.3 852.4 852.5 852.6 852.7 852.8 852.9 853 
+  Bin 1853: 853 853.1 853.2 853.3 853.4 853.5 853.6 853.7 853.8 853.9 854 
+  Bin 1854: 854 854.1 854.2 854.3 854.4 854.5 854.6 854.7 854.8 854.9 855 
+  Bin 1855: 855 855.1 855.2 855.3 855.4 855.5 855.6 855.7 855.8 855.9 856 
+  Bin 1856: 856 856.1 856.2 856.3 856.4 856.5 856.6 856.7 856.8 856.9 857 
+  Bin 1857: 857 857.1 857.2 857.3 857.4 857.5 857.6 857.7 857.8 857.9 858 
+  Bin 1858: 858 858.1 858.2 858.3 858.4 858.5 858.6 858.7 858.8 858.9 859 
+  Bin 1859: 859 859.1 859.2 859.3 859.4 859.5 859.6 859.7 859.8 859.9 860 
+  Bin 1860: 860 860.1 860.2 860.3 860.4 860.5 860.6 860.7 860.8 860.9 861 
+  Bin 1861: 861 861.1 861.2 861.3 861.4 861.5 861.6 861.7 861.8 861.9 862 
+  Bin 1862: 862 862.1 862.2 862.3 862.4 862.5 862.6 862.7 862.8 862.9 863 
+  Bin 1863: 863 863.1 863.2 863.3 863.4 863.5 863.6 863.7 863.8 863.9 864 
+  Bin 1864: 864 864.1 864.2 864.3 864.4 864.5 864.6 864.7 864.8 864.9 865 
+  Bin 1865: 865 865.1 865.2 865.3 865.4 865.5 865.6 865.7 865.8 865.9 866 
+  Bin 1866: 866 866.1 866.2 866.3 866.4 866.5 866.6 866.7 866.8 866.9 867 
+  Bin 1867: 867 867.1 867.2 867.3 867.4 867.5 867.6 867.7 867.8 867.9 868 
+  Bin 1868: 868 868.1 868.2 868.3 868.4 868.5 868.6 868.7 868.8 868.9 869 
+  Bin 1869: 869 869.1 869.2 869.3 869.4 869.5 869.6 869.7 869.8 869.9 870 
+  Bin 1870: 870 870.1 870.2 870.3 870.4 870.5 870.6 870.7 870.8 870.9 871 
+  Bin 1871: 871 871.1 871.2 871.3 871.4 871.5 871.6 871.7 871.8 871.9 872 
+  Bin 1872: 872 872.1 872.2 872.3 872.4 872.5 872.6 872.7 872.8 872.9 873 
+  Bin 1873: 873 873.1 873.2 873.3 873.4 873.5 873.6 873.7 873.8 873.9 874 
+  Bin 1874: 874 874.1 874.2 874.3 874.4 874.5 874.6 874.7 874.8 874.9 875 
+  Bin 1875: 875 875.1 875.2 875.3 875.4 875.5 875.6 875.7 875.8 875.9 876 
+  Bin 1876: 876 876.1 876.2 876.3 876.4 876.5 876.6 876.7 876.8 876.9 877 
+  Bin 1877: 877 877.1 877.2 877.3 877.4 877.5 877.6 877.7 877.8 877.9 878 
+  Bin 1878: 878 878.1 878.2 878.3 878.4 878.5 878.6 878.7 878.8 878.9 879 
+  Bin 1879: 879 879.1 879.2 879.3 879.4 879.5 879.6 879.7 879.8 879.9 880 
+  Bin 1880: 880 880.1 880.2 880.3 880.4 880.5 880.6 880.7 880.8 880.9 881 
+  Bin 1881: 881 881.1 881.2 881.3 881.4 881.5 881.6 881.7 881.8 881.9 882 
+  Bin 1882: 882 882.1 882.2 882.3 882.4 882.5 882.6 882.7 882.8 882.9 883 
+  Bin 1883: 883 883.1 883.2 883.3 883.4 883.5 883.6 883.7 883.8 883.9 884 
+  Bin 1884: 884 884.1 884.2 884.3 884.4 884.5 884.6 884.7 884.8 884.9 885 
+  Bin 1885: 885 885.1 885.2 885.3 885.4 885.5 885.6 885.7 885.8 885.9 886 
+  Bin 1886: 886 886.1 886.2 886.3 886.4 886.5 886.6 886.7 886.8 886.9 887 
+  Bin 1887: 887 887.1 887.2 887.3 887.4 887.5 887.6 887.7 887.8 887.9 888 
+  Bin 1888: 888 888.1 888.2 888.3 888.4 888.5 888.6 888.7 888.8 888.9 889 
+  Bin 1889: 889 889.1 889.2 889.3 889.4 889.5 889.6 889.7 889.8 889.9 890 
+  Bin 1890: 890 890.1 890.2 890.3 890.4 890.5 890.6 890.7 890.8 890.9 891 
+  Bin 1891: 891 891.1 891.2 891.3 891.4 891.5 891.6 891.7 891.8 891.9 892 
+  Bin 1892: 892 892.1 892.2 892.3 892.4 892.5 892.6 892.7 892.8 892.9 893 
+  Bin 1893: 893 893.1 893.2 893.3 893.4 893.5 893.6 893.7 893.8 893.9 894 
+  Bin 1894: 894 894.1 894.2 894.3 894.4 894.5 894.6 894.7 894.8 894.9 895 
+  Bin 1895: 895 895.1 895.2 895.3 895.4 895.5 895.6 895.7 895.8 895.9 896 
+  Bin 1896: 896 896.1 896.2 896.3 896.4 896.5 896.6 896.7 896.8 896.9 897 
+  Bin 1897: 897 897.1 897.2 897.3 897.4 897.5 897.6 897.7 897.8 897.9 898 
+  Bin 1898: 898 898.1 898.2 898.3 898.4 898.5 898.6 898.7 898.8 898.9 899 
+  Bin 1899: 899 899.1 899.2 899.3 899.4 899.5 899.6 899.7 899.8 899.9 900 
+  Bin 1900: 900 900.1 900.2 900.3 900.4 900.5 900.6 900.7 900.8 900.9 901 
+  Bin 1901: 901 901.1 901.2 901.3 901.4 901.5 901.6 901.7 901.8 901.9 902 
+  Bin 1902: 902 902.1 902.2 902.3 902.4 902.5 902.6 902.7 902.8 902.9 903 
+  Bin 1903: 903 903.1 903.2 903.3 903.4 903.5 903.6 903.7 903.8 903.9 904 
+  Bin 1904: 904 904.1 904.2 904.3 904.4 904.5 904.6 904.7 904.8 904.9 905 
+  Bin 1905: 905 905.1 905.2 905.3 905.4 905.5 905.6 905.7 905.8 905.9 906 
+  Bin 1906: 906 906.1 906.2 906.3 906.4 906.5 906.6 906.7 906.8 906.9 907 
+  Bin 1907: 907 907.1 907.2 907.3 907.4 907.5 907.6 907.7 907.8 907.9 908 
+  Bin 1908: 908 908.1 908.2 908.3 908.4 908.5 908.6 908.7 908.8 908.9 909 
+  Bin 1909: 909 909.1 909.2 909.3 909.4 909.5 909.6 909.7 909.8 909.9 910 
+  Bin 1910: 910 910.1 910.2 910.3 910.4 910.5 910.6 910.7 910.8 910.9 911 
+  Bin 1911: 911 911.1 911.2 911.3 911.4 911.5 911.6 911.7 911.8 911.9 912 
+  Bin 1912: 912 912.1 912.2 912.3 912.4 912.5 912.6 912.7 912.8 912.9 913 
+  Bin 1913: 913 913.1 913.2 913.3 913.4 913.5 913.6 913.7 913.8 913.9 914 
+  Bin 1914: 914 914.1 914.2 914.3 914.4 914.5 914.6 914.7 914.8 914.9 915 
+  Bin 1915: 915 915.1 915.2 915.3 915.4 915.5 915.6 915.7 915.8 915.9 916 
+  Bin 1916: 916 916.1 916.2 916.3 916.4 916.5 916.6 916.7 916.8 916.9 917 
+  Bin 1917: 917 917.1 917.2 917.3 917.4 917.5 917.6 917.7 917.8 917.9 918 
+  Bin 1918: 918 918.1 918.2 918.3 918.4 918.5 918.6 918.7 918.8 918.9 919 
+  Bin 1919: 919 919.1 919.2 919.3 919.4 919.5 919.6 919.7 919.8 919.9 920 
+  Bin 1920: 920 920.1 920.2 920.3 920.4 920.5 920.6 920.7 920.8 920.9 921 
+  Bin 1921: 921 921.1 921.2 921.3 921.4 921.5 921.6 921.7 921.8 921.9 922 
+  Bin 1922: 922 922.1 922.2 922.3 922.4 922.5 922.6 922.7 922.8 922.9 923 
+  Bin 1923: 923 923.1 923.2 923.3 923.4 923.5 923.6 923.7 923.8 923.9 924 
+  Bin 1924: 924 924.1 924.2 924.3 924.4 924.5 924.6 924.7 924.8 924.9 925 
+  Bin 1925: 925 925.1 925.2 925.3 925.4 925.5 925.6 925.7 925.8 925.9 926 
+  Bin 1926: 926 926.1 926.2 926.3 926.4 926.5 926.6 926.7 926.8 926.9 927 
+  Bin 1927: 927 927.1 927.2 927.3 927.4 927.5 927.6 927.7 927.8 927.9 928 
+  Bin 1928: 928 928.1 928.2 928.3 928.4 928.5 928.6 928.7 928.8 928.9 929 
+  Bin 1929: 929 929.1 929.2 929.3 929.4 929.5 929.6 929.7 929.8 929.9 930 
+  Bin 1930: 930 930.1 930.2 930.3 930.4 930.5 930.6 930.7 930.8 930.9 931 
+  Bin 1931: 931 931.1 931.2 931.3 931.4 931.5 931.6 931.7 931.8 931.9 932 
+  Bin 1932: 932 932.1 932.2 932.3 932.4 932.5 932.6 932.7 932.8 932.9 933 
+  Bin 1933: 933 933.1 933.2 933.3 933.4 933.5 933.6 933.7 933.8 933.9 934 
+  Bin 1934: 934 934.1 934.2 934.3 934.4 934.5 934.6 934.7 934.8 934.9 935 
+  Bin 1935: 935 935.1 935.2 935.3 935.4 935.5 935.6 935.7 935.8 935.9 936 
+  Bin 1936: 936 936.1 936.2 936.3 936.4 936.5 936.6 936.7 936.8 936.9 937 
+  Bin 1937: 937 937.1 937.2 937.3 937.4 937.5 937.6 937.7 937.8 937.9 938 
+  Bin 1938: 938 938.1 938.2 938.3 938.4 938.5 938.6 938.7 938.8 938.9 939 
+  Bin 1939: 939 939.1 939.2 939.3 939.4 939.5 939.6 939.7 939.8 939.9 940 
+  Bin 1940: 940 940.1 940.2 940.3 940.4 940.5 940.6 940.7 940.8 940.9 941 
+  Bin 1941: 941 941.1 941.2 941.3 941.4 941.5 941.6 941.7 941.8 941.9 942 
+  Bin 1942: 942 942.1 942.2 942.3 942.4 942.5 942.6 942.7 942.8 942.9 943 
+  Bin 1943: 943 943.1 943.2 943.3 943.4 943.5 943.6 943.7 943.8 943.9 944 
+  Bin 1944: 944 944.1 944.2 944.3 944.4 944.5 944.6 944.7 944.8 944.9 945 
+  Bin 1945: 945 945.1 945.2 945.3 945.4 945.5 945.6 945.7 945.8 945.9 946 
+  Bin 1946: 946 946.1 946.2 946.3 946.4 946.5 946.6 946.7 946.8 946.9 947 
+  Bin 1947: 947 947.1 947.2 947.3 947.4 947.5 947.6 947.7 947.8 947.9 948 
+  Bin 1948: 948 948.1 948.2 948.3 948.4 948.5 948.6 948.7 948.8 948.9 949 
+  Bin 1949: 949 949.1 949.2 949.3 949.4 949.5 949.6 949.7 949.8 949.9 950 
+  Bin 1950: 950 950.1 950.2 950.3 950.4 950.5 950.6 950.7 950.8 950.9 951 
+  Bin 1951: 951 951.1 951.2 951.3 951.4 951.5 951.6 951.7 951.8 951.9 952 
+  Bin 1952: 952 952.1 952.2 952.3 952.4 952.5 952.6 952.7 952.8 952.9 953 
+  Bin 1953: 953 953.1 953.2 953.3 953.4 953.5 953.6 953.7 953.8 953.9 954 
+  Bin 1954: 954 954.1 954.2 954.3 954.4 954.5 954.6 954.7 954.8 954.9 955 
+  Bin 1955: 955 955.1 955.2 955.3 955.4 955.5 955.6 955.7 955.8 955.9 956 
+  Bin 1956: 956 956.1 956.2 956.3 956.4 956.5 956.6 956.7 956.8 956.9 957 
+  Bin 1957: 957 957.1 957.2 957.3 957.4 957.5 957.6 957.7 957.8 957.9 958 
+  Bin 1958: 958 958.1 958.2 958.3 958.4 958.5 958.6 958.7 958.8 958.9 959 
+  Bin 1959: 959 959.1 959.2 959.3 959.4 959.5 959.6 959.7 959.8 959.9 960 
+  Bin 1960: 960 960.1 960.2 960.3 960.4 960.5 960.6 960.7 960.8 960.9 961 
+  Bin 1961: 961 961.1 961.2 961.3 961.4 961.5 961.6 961.7 961.8 961.9 962 
+  Bin 1962: 962 962.1 962.2 962.3 962.4 962.5 962.6 962.7 962.8 962.9 963 
+  Bin 1963: 963 963.1 963.2 963.3 963.4 963.5 963.6 963.7 963.8 963.9 964 
+  Bin 1964: 964 964.1 964.2 964.3 964.4 964.5 964.6 964.7 964.8 964.9 965 
+  Bin 1965: 965 965.1 965.2 965.3 965.4 965.5 965.6 965.7 965.8 965.9 966 
+  Bin 1966: 966 966.1 966.2 966.3 966.4 966.5 966.6 966.7 966.8 966.9 967 
+  Bin 1967: 967 967.1 967.2 967.3 967.4 967.5 967.6 967.7 967.8 967.9 968 
+  Bin 1968: 968 968.1 968.2 968.3 968.4 968.5 968.6 968.7 968.8 968.9 969 
+  Bin 1969: 969 969.1 969.2 969.3 969.4 969.5 969.6 969.7 969.8 969.9 970 
+  Bin 1970: 970 970.1 970.2 970.3 970.4 970.5 970.6 970.7 970.8 970.9 971 
+  Bin 1971: 971 971.1 971.2 971.3 971.4 971.5 971.6 971.7 971.8 971.9 972 
+  Bin 1972: 972 972.1 972.2 972.3 972.4 972.5 972.6 972.7 972.8 972.9 973 
+  Bin 1973: 973 973.1 973.2 973.3 973.4 973.5 973.6 973.7 973.8 973.9 974 
+  Bin 1974: 974 974.1 974.2 974.3 974.4 974.5 974.6 974.7 974.8 974.9 975 
+  Bin 1975: 975 975.1 975.2 975.3 975.4 975.5 975.6 975.7 975.8 975.9 976 
+  Bin 1976: 976 976.1 976.2 976.3 976.4 976.5 976.6 976.7 976.8 976.9 977 
+  Bin 1977: 977 977.1 977.2 977.3 977.4 977.5 977.6 977.7 977.8 977.9 978 
+  Bin 1978: 978 978.1 978.2 978.3 978.4 978.5 978.6 978.7 978.8 978.9 979 
+  Bin 1979: 979 979.1 979.2 979.3 979.4 979.5 979.6 979.7 979.8 979.9 980 
+  Bin 1980: 980 980.1 980.2 980.3 980.4 980.5 980.6 980.7 980.8 980.9 981 
+  Bin 1981: 981 981.1 981.2 981.3 981.4 981.5 981.6 981.7 981.8 981.9 982 
+  Bin 1982: 982 982.1 982.2 982.3 982.4 982.5 982.6 982.7 982.8 982.9 983 
+  Bin 1983: 983 983.1 983.2 983.3 983.4 983.5 983.6 983.7 983.8 983.9 984 
+  Bin 1984: 984 984.1 984.2 984.3 984.4 984.5 984.6 984.7 984.8 984.9 985 
+  Bin 1985: 985 985.1 985.2 985.3 985.4 985.5 985.6 985.7 985.8 985.9 986 
+  Bin 1986: 986 986.1 986.2 986.3 986.4 986.5 986.6 986.7 986.8 986.9 987 
+  Bin 1987: 987 987.1 987.2 987.3 987.4 987.5 987.6 987.7 987.8 987.9 988 
+  Bin 1988: 988 988.1 988.2 988.3 988.4 988.5 988.6 988.7 988.8 988.9 989 
+  Bin 1989: 989 989.1 989.2 989.3 989.4 989.5 989.6 989.7 989.8 989.9 990 
+  Bin 1990: 990 990.1 990.2 990.3 990.4 990.5 990.6 990.7 990.8 990.9 991 
+  Bin 1991: 991 991.1 991.2 991.3 991.4 991.5 991.6 991.7 991.8 991.9 992 
+  Bin 1992: 992 992.1 992.2 992.3 992.4 992.5 992.6 992.7 992.8 992.9 993 
+  Bin 1993: 993 993.1 993.2 993.3 993.4 993.5 993.6 993.7 993.8 993.9 994 
+  Bin 1994: 994 994.1 994.2 994.3 994.4 994.5 994.6 994.7 994.8 994.9 995 
+  Bin 1995: 995 995.1 995.2 995.3 995.4 995.5 995.6 995.7 995.8 995.9 996 
+  Bin 1996: 996 996.1 996.2 996.3 996.4 996.5 996.6 996.7 996.8 996.9 997 
+  Bin 1997: 997 997.1 997.2 997.3 997.4 997.5 997.6 997.7 997.8 997.9 998 
+  Bin 1998: 998 998.1 998.2 998.3 998.4 998.5 998.6 998.7 998.8 998.9 999 
+  Bin 1999: 999 999.1 999.2 999.3 999.4 999.5 999.6 999.7 999.8 999.9 1000 
+
+Det 6:
+  Bin 0: -90 -89.9 -89.8 -89.7 -89.6 -89.5 -89.4 -89.3 -89.2 -89.1 -89 
+  Bin 1: -89 -88.9 -88.8 -88.7 -88.6 -88.5 -88.4 -88.3 -88.2 -88.1 -88 
+  Bin 2: -88 -87.9 -87.8 -87.7 -87.6 -87.5 -87.4 -87.3 -87.2 -87.1 -87 
+  Bin 3: -87 -86.9 -86.8 -86.7 -86.6 -86.5 -86.4 -86.3 -86.2 -86.1 -86 
+  Bin 4: -86 -85.9 -85.8 -85.7 -85.6 -85.5 -85.4 -85.3 -85.2 -85.1 -85 
+  Bin 5: -85 -84.9 -84.8 -84.7 -84.6 -84.5 -84.4 -84.3 -84.2 -84.1 -84 
+  Bin 6: -84 -83.9 -83.8 -83.7 -83.6 -83.5 -83.4 -83.3 -83.2 -83.1 -83 
+  Bin 7: -83 -82.9 -82.8 -82.7 -82.6 -82.5 -82.4 -82.3 -82.2 -82.1 -82 
+  Bin 8: -82 -81.9 -81.8 -81.7 -81.6 -81.5 -81.4 -81.3 -81.2 -81.1 -81 
+  Bin 9: -81 -80.9 -80.8 -80.7 -80.6 -80.5 -80.4 -80.3 -80.2 -80.1 -80 
+  Bin 10: -80 -79.9 -79.8 -79.7 -79.6 -79.5 -79.4 -79.3 -79.2 -79.1 -79 
+  Bin 11: -79 -78.9 -78.8 -78.7 -78.6 -78.5 -78.4 -78.3 -78.2 -78.1 -78 
+  Bin 12: -78 -77.9 -77.8 -77.7 -77.6 -77.5 -77.4 -77.3 -77.2 -77.1 -77 
+  Bin 13: -77 -76.9 -76.8 -76.7 -76.6 -76.5 -76.4 -76.3 -76.2 -76.1 -76 
+  Bin 14: -76 -75.9 -75.8 -75.7 -75.6 -75.5 -75.4 -75.3 -75.2 -75.1 -75 
+  Bin 15: -75 -74.9 -74.8 -74.7 -74.6 -74.5 -74.4 -74.3 -74.2 -74.1 -74 
+  Bin 16: -74 -73.9 -73.8 -73.7 -73.6 -73.5 -73.4 -73.3 -73.2 -73.1 -73 
+  Bin 17: -73 -72.9 -72.8 -72.7 -72.6 -72.5 -72.4 -72.3 -72.2 -72.1 -72 
+  Bin 18: -72 -71.9 -71.8 -71.7 -71.6 -71.5 -71.4 -71.3 -71.2 -71.1 -71 
+  Bin 19: -71 -70.9 -70.8 -70.7 -70.6 -70.5 -70.4 -70.3 -70.2 -70.1 -70 
+  Bin 20: -70 -69.9 -69.8 -69.7 -69.6 -69.5 -69.4 -69.3 -69.2 -69.1 -69 
+  Bin 21: -69 -68.9 -68.8 -68.7 -68.6 -68.5 -68.4 -68.3 -68.2 -68.1 -68 
+  Bin 22: -68 -67.9 -67.8 -67.7 -67.6 -67.5 -67.4 -67.3 -67.2 -67.1 -67 
+  Bin 23: -67 -66.9 -66.8 -66.7 -66.6 -66.5 -66.4 -66.3 -66.2 -66.1 -66 
+  Bin 24: -66 -65.9 -65.8 -65.7 -65.6 -65.5 -65.4 -65.3 -65.2 -65.1 -65 
+  Bin 25: -65 -64.9 -64.8 -64.7 -64.6 -64.5 -64.4 -64.3 -64.2 -64.1 -64 
+  Bin 26: -64 -63.9 -63.8 -63.7 -63.6 -63.5 -63.4 -63.3 -63.2 -63.1 -63 
+  Bin 27: -63 -62.9 -62.8 -62.7 -62.6 -62.5 -62.4 -62.3 -62.2 -62.1 -62 
+  Bin 28: -62 -61.9 -61.8 -61.7 -61.6 -61.5 -61.4 -61.3 -61.2 -61.1 -61 
+  Bin 29: -61 -60.9 -60.8 -60.7 -60.6 -60.5 -60.4 -60.3 -60.2 -60.1 -60 
+  Bin 30: -60 -59.9 -59.8 -59.7 -59.6 -59.5 -59.4 -59.3 -59.2 -59.1 -59 
+  Bin 31: -59 -58.9 -58.8 -58.7 -58.6 -58.5 -58.4 -58.3 -58.2 -58.1 -58 
+  Bin 32: -58 -57.9 -57.8 -57.7 -57.6 -57.5 -57.4 -57.3 -57.2 -57.1 -57 
+  Bin 33: -57 -56.9 -56.8 -56.7 -56.6 -56.5 -56.4 -56.3 -56.2 -56.1 -56 
+  Bin 34: -56 -55.9 -55.8 -55.7 -55.6 -55.5 -55.4 -55.3 -55.2 -55.1 -55 
+  Bin 35: -55 -54.9 -54.8 -54.7 -54.6 -54.5 -54.4 -54.3 -54.2 -54.1 -54 
+  Bin 36: -54 -53.9 -53.8 -53.7 -53.6 -53.5 -53.4 -53.3 -53.2 -53.1 -53 
+  Bin 37: -53 -52.9 -52.8 -52.7 -52.6 -52.5 -52.4 -52.3 -52.2 -52.1 -52 
+  Bin 38: -52 -51.9 -51.8 -51.7 -51.6 -51.5 -51.4 -51.3 -51.2 -51.1 -51 
+  Bin 39: -51 -50.9 -50.8 -50.7 -50.6 -50.5 -50.4 -50.3 -50.2 -50.1 -50 
+  Bin 40: -50 -49.9 -49.8 -49.7 -49.6 -49.5 -49.4 -49.3 -49.2 -49.1 -49 
+  Bin 41: -49 -48.9 -48.8 -48.7 -48.6 -48.5 -48.4 -48.3 -48.2 -48.1 -48 
+  Bin 42: -48 -47.9 -47.8 -47.7 -47.6 -47.5 -47.4 -47.3 -47.2 -47.1 -47 
+  Bin 43: -47 -46.9 -46.8 -46.7 -46.6 -46.5 -46.4 -46.3 -46.2 -46.1 -46 
+  Bin 44: -46 -45.9 -45.8 -45.7 -45.6 -45.5 -45.4 -45.3 -45.2 -45.1 -45 
+  Bin 45: -45 -44.9 -44.8 -44.7 -44.6 -44.5 -44.4 -44.3 -44.2 -44.1 -44 
+  Bin 46: -44 -43.9 -43.8 -43.7 -43.6 -43.5 -43.4 -43.3 -43.2 -43.1 -43 
+  Bin 47: -43 -42.9 -42.8 -42.7 -42.6 -42.5 -42.4 -42.3 -42.2 -42.1 -42 
+  Bin 48: -42 -41.9 -41.8 -41.7 -41.6 -41.5 -41.4 -41.3 -41.2 -41.1 -41 
+  Bin 49: -41 -40.9 -40.8 -40.7 -40.6 -40.5 -40.4 -40.3 -40.2 -40.1 -40 
+  Bin 50: -40 -39.9 -39.8 -39.7 -39.6 -39.5 -39.4 -39.3 -39.2 -39.1 -39 
+  Bin 51: -39 -38.9 -38.8 -38.7 -38.6 -38.5 -38.4 -38.3 -38.2 -38.1 -38 
+  Bin 52: -38 -37.9 -37.8 -37.7 -37.6 -37.5 -37.4 -37.3 -37.2 -37.1 -37 
+  Bin 53: -37 -36.9 -36.8 -36.7 -36.6 -36.5 -36.4 -36.3 -36.2 -36.1 -36 
+  Bin 54: -36 -35.9 -35.8 -35.7 -35.6 -35.5 -35.4 -35.3 -35.2 -35.1 -35 
+  Bin 55: -35 -34.9 -34.8 -34.7 -34.6 -34.5 -34.4 -34.3 -34.2 -34.1 -34 
+  Bin 56: -34 -33.9 -33.8 -33.7 -33.6 -33.5 -33.4 -33.3 -33.2 -33.1 -33 
+  Bin 57: -33 -32.9 -32.8 -32.7 -32.6 -32.5 -32.4 -32.3 -32.2 -32.1 -32 
+  Bin 58: -32 -31.9 -31.8 -31.7 -31.6 -31.5 -31.4 -31.3 -31.2 -31.1 -31 
+  Bin 59: -31 -30.9 -30.8 -30.7 -30.6 -30.5 -30.4 -30.3 -30.2 -30.1 -30 
+  Bin 60: -30 -29.9 -29.8 -29.7 -29.6 -29.5 -29.4 -29.3 -29.2 -29.1 -29 
+  Bin 61: -29 -28.9 -28.8 -28.7 -28.6 -28.5 -28.4 -28.3 -28.2 -28.1 -28 
+  Bin 62: -28 -27.9 -27.8 -27.7 -27.6 -27.5 -27.4 -27.3 -27.2 -27.1 -27 
+  Bin 63: -27 -26.9 -26.8 -26.7 -26.6 -26.5 -26.4 -26.3 -26.2 -26.1 -26 
+  Bin 64: -26 -25.9 -25.8 -25.7 -25.6 -25.5 -25.4 -25.3 -25.2 -25.1 -25 
+  Bin 65: -25 -24.9 -24.8 -24.7 -24.6 -24.5 -24.4 -24.3 -24.2 -24.1 -24 
+  Bin 66: -24 -23.9 -23.8 -23.7 -23.6 -23.5 -23.4 -23.3 -23.2 -23.1 -23 
+  Bin 67: -23 -22.9 -22.8 -22.7 -22.6 -22.5 -22.4 -22.3 -22.2 -22.1 -22 
+  Bin 68: -22 -21.9 -21.8 -21.7 -21.6 -21.5 -21.4 -21.3 -21.2 -21.1 -21 
+  Bin 69: -21 -20.9 -20.8 -20.7 -20.6 -20.5 -20.4 -20.3 -20.2 -20.1 -20 
+  Bin 70: -20 -19.9 -19.8 -19.7 -19.6 -19.5 -19.4 -19.3 -19.2 -19.1 -19 
+  Bin 71: -19 -18.9 -18.8 -18.7 -18.6 -18.5 -18.4 -18.3 -18.2 -18.1 -18 
+  Bin 72: -18 -17.9 -17.8 -17.7 -17.6 -17.5 -17.4 -17.3 -17.2 -17.1 -17 
+  Bin 73: -17 -16.9 -16.8 -16.7 -16.6 -16.5 -16.4 -16.3 -16.2 -16.1 -16 
+  Bin 74: -16 -15.9 -15.8 -15.7 -15.6 -15.5 -15.4 -15.3 -15.2 -15.1 -15 
+  Bin 75: -15 -14.9 -14.8 -14.7 -14.6 -14.5 -14.4 -14.3 -14.2 -14.1 -14 
+  Bin 76: -14 -13.9 -13.8 -13.7 -13.6 -13.5 -13.4 -13.3 -13.2 -13.1 -13 
+  Bin 77: -13 -12.9 -12.8 -12.7 -12.6 -12.5 -12.4 -12.3 -12.2 -12.1 -12 
+  Bin 78: -12 -11.9 -11.8 -11.7 -11.6 -11.5 -11.4 -11.3 -11.2 -11.1 -11 
+  Bin 79: -11 -10.9 -10.8 -10.7 -10.6 -10.5 -10.4 -10.3 -10.2 -10.1 -10 
+  Bin 80: -10 -9.9 -9.8 -9.7 -9.6 -9.5 -9.4 -9.3 -9.2 -9.1 -9 
+  Bin 81: -9 -8.9 -8.8 -8.7 -8.6 -8.5 -8.4 -8.3 -8.2 -8.1 -8 
+  Bin 82: -8 -7.9 -7.8 -7.7 -7.6 -7.5 -7.4 -7.3 -7.2 -7.1 -7 
+  Bin 83: -7 -6.9 -6.8 -6.7 -6.6 -6.5 -6.4 -6.3 -6.2 -6.1 -6 
+  Bin 84: -6 -5.9 -5.8 -5.7 -5.6 -5.5 -5.4 -5.3 -5.2 -5.1 -5 
+  Bin 85: -5 -4.9 -4.8 -4.7 -4.6 -4.5 -4.4 -4.3 -4.2 -4.1 -4 
+  Bin 86: -4 -3.9 -3.8 -3.7 -3.6 -3.5 -3.4 -3.3 -3.2 -3.1 -3 
+  Bin 87: -3 -2.9 -2.8 -2.7 -2.6 -2.5 -2.4 -2.3 -2.2 -2.1 -2 
+  Bin 88: -2 -1.9 -1.8 -1.7 -1.6 -1.5 -1.4 -1.3 -1.2 -1.1 -1 
+  Bin 89: -1 -0.9 -0.8 -0.7 -0.6 -0.5 -0.4 -0.3 -0.2 -0.1 0 
+  Bin 90: 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 
+  Bin 91: 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2 
+  Bin 92: 2 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3 
+  Bin 93: 3 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 4 
+  Bin 94: 4 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 5 
+  Bin 95: 5 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 6 
+  Bin 96: 6 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 7 
+  Bin 97: 7 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 8 
+  Bin 98: 8 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 9 
+  Bin 99: 9 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 10 
+  Bin 100: 10 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 11 
+  Bin 101: 11 11.1 11.2 11.3 11.4 11.5 11.6 11.7 11.8 11.9 12 
+  Bin 102: 12 12.1 12.2 12.3 12.4 12.5 12.6 12.7 12.8 12.9 13 
+  Bin 103: 13 13.1 13.2 13.3 13.4 13.5 13.6 13.7 13.8 13.9 14 
+  Bin 104: 14 14.1 14.2 14.3 14.4 14.5 14.6 14.7 14.8 14.9 15 
+  Bin 105: 15 15.1 15.2 15.3 15.4 15.5 15.6 15.7 15.8 15.9 16 
+  Bin 106: 16 16.1 16.2 16.3 16.4 16.5 16.6 16.7 16.8 16.9 17 
+  Bin 107: 17 17.1 17.2 17.3 17.4 17.5 17.6 17.7 17.8 17.9 18 
+  Bin 108: 18 18.1 18.2 18.3 18.4 18.5 18.6 18.7 18.8 18.9 19 
+  Bin 109: 19 19.1 19.2 19.3 19.4 19.5 19.6 19.7 19.8 19.9 20 
+  Bin 110: 20 20.1 20.2 20.3 20.4 20.5 20.6 20.7 20.8 20.9 21 
+  Bin 111: 21 21.1 21.2 21.3 21.4 21.5 21.6 21.7 21.8 21.9 22 
+  Bin 112: 22 22.1 22.2 22.3 22.4 22.5 22.6 22.7 22.8 22.9 23 
+  Bin 113: 23 23.1 23.2 23.3 23.4 23.5 23.6 23.7 23.8 23.9 24 
+  Bin 114: 24 24.1 24.2 24.3 24.4 24.5 24.6 24.7 24.8 24.9 25 
+  Bin 115: 25 25.1 25.2 25.3 25.4 25.5 25.6 25.7 25.8 25.9 26 
+  Bin 116: 26 26.1 26.2 26.3 26.4 26.5 26.6 26.7 26.8 26.9 27 
+  Bin 117: 27 27.1 27.2 27.3 27.4 27.5 27.6 27.7 27.8 27.9 28 
+  Bin 118: 28 28.1 28.2 28.3 28.4 28.5 28.6 28.7 28.8 28.9 29 
+  Bin 119: 29 29.1 29.2 29.3 29.4 29.5 29.6 29.7 29.8 29.9 30 
+  Bin 120: 30 30.1 30.2 30.3 30.4 30.5 30.6 30.7 30.8 30.9 31 
+  Bin 121: 31 31.1 31.2 31.3 31.4 31.5 31.6 31.7 31.8 31.9 32 
+  Bin 122: 32 32.1 32.2 32.3 32.4 32.5 32.6 32.7 32.8 32.9 33 
+  Bin 123: 33 33.1 33.2 33.3 33.4 33.5 33.6 33.7 33.8 33.9 34 
+  Bin 124: 34 34.1 34.2 34.3 34.4 34.5 34.6 34.7 34.8 34.9 35 
+  Bin 125: 35 35.1 35.2 35.3 35.4 35.5 35.6 35.7 35.8 35.9 36 
+  Bin 126: 36 36.1 36.2 36.3 36.4 36.5 36.6 36.7 36.8 36.9 37 
+  Bin 127: 37 37.1 37.2 37.3 37.4 37.5 37.6 37.7 37.8 37.9 38 
+  Bin 128: 38 38.1 38.2 38.3 38.4 38.5 38.6 38.7 38.8 38.9 39 
+  Bin 129: 39 39.1 39.2 39.3 39.4 39.5 39.6 39.7 39.8 39.9 40 
+  Bin 130: 40 40.1 40.2 40.3 40.4 40.5 40.6 40.7 40.8 40.9 41 
+  Bin 131: 41 41.1 41.2 41.3 41.4 41.5 41.6 41.7 41.8 41.9 42 
+  Bin 132: 42 42.1 42.2 42.3 42.4 42.5 42.6 42.7 42.8 42.9 43 
+  Bin 133: 43 43.1 43.2 43.3 43.4 43.5 43.6 43.7 43.8 43.9 44 
+  Bin 134: 44 44.1 44.2 44.3 44.4 44.5 44.6 44.7 44.8 44.9 45 
+  Bin 135: 45 45.1 45.2 45.3 45.4 45.5 45.6 45.7 45.8 45.9 46 
+  Bin 136: 46 46.1 46.2 46.3 46.4 46.5 46.6 46.7 46.8 46.9 47 
+  Bin 137: 47 47.1 47.2 47.3 47.4 47.5 47.6 47.7 47.8 47.9 48 
+  Bin 138: 48 48.1 48.2 48.3 48.4 48.5 48.6 48.7 48.8 48.9 49 
+  Bin 139: 49 49.1 49.2 49.3 49.4 49.5 49.6 49.7 49.8 49.9 50 
+  Bin 140: 50 50.1 50.2 50.3 50.4 50.5 50.6 50.7 50.8 50.9 51 
+  Bin 141: 51 51.1 51.2 51.3 51.4 51.5 51.6 51.7 51.8 51.9 52 
+  Bin 142: 52 52.1 52.2 52.3 52.4 52.5 52.6 52.7 52.8 52.9 53 
+  Bin 143: 53 53.1 53.2 53.3 53.4 53.5 53.6 53.7 53.8 53.9 54 
+  Bin 144: 54 54.1 54.2 54.3 54.4 54.5 54.6 54.7 54.8 54.9 55 
+  Bin 145: 55 55.1 55.2 55.3 55.4 55.5 55.6 55.7 55.8 55.9 56 
+  Bin 146: 56 56.1 56.2 56.3 56.4 56.5 56.6 56.7 56.8 56.9 57 
+  Bin 147: 57 57.1 57.2 57.3 57.4 57.5 57.6 57.7 57.8 57.9 58 
+  Bin 148: 58 58.1 58.2 58.3 58.4 58.5 58.6 58.7 58.8 58.9 59 
+  Bin 149: 59 59.1 59.2 59.3 59.4 59.5 59.6 59.7 59.8 59.9 60 
+  Bin 150: 60 60.1 60.2 60.3 60.4 60.5 60.6 60.7 60.8 60.9 61 
+  Bin 151: 61 61.1 61.2 61.3 61.4 61.5 61.6 61.7 61.8 61.9 62 
+  Bin 152: 62 62.1 62.2 62.3 62.4 62.5 62.6 62.7 62.8 62.9 63 
+  Bin 153: 63 63.1 63.2 63.3 63.4 63.5 63.6 63.7 63.8 63.9 64 
+  Bin 154: 64 64.1 64.2 64.3 64.4 64.5 64.6 64.7 64.8 64.9 65 
+  Bin 155: 65 65.1 65.2 65.3 65.4 65.5 65.6 65.7 65.8 65.9 66 
+  Bin 156: 66 66.1 66.2 66.3 66.4 66.5 66.6 66.7 66.8 66.9 67 
+  Bin 157: 67 67.1 67.2 67.3 67.4 67.5 67.6 67.7 67.8 67.9 68 
+  Bin 158: 68 68.1 68.2 68.3 68.4 68.5 68.6 68.7 68.8 68.9 69 
+  Bin 159: 69 69.1 69.2 69.3 69.4 69.5 69.6 69.7 69.8 69.9 70 
+  Bin 160: 70 70.1 70.2 70.3 70.4 70.5 70.6 70.7 70.8 70.9 71 
+  Bin 161: 71 71.1 71.2 71.3 71.4 71.5 71.6 71.7 71.8 71.9 72 
+  Bin 162: 72 72.1 72.2 72.3 72.4 72.5 72.6 72.7 72.8 72.9 73 
+  Bin 163: 73 73.1 73.2 73.3 73.4 73.5 73.6 73.7 73.8 73.9 74 
+  Bin 164: 74 74.1 74.2 74.3 74.4 74.5 74.6 74.7 74.8 74.9 75 
+  Bin 165: 75 75.1 75.2 75.3 75.4 75.5 75.6 75.7 75.8 75.9 76 
+  Bin 166: 76 76.1 76.2 76.3 76.4 76.5 76.6 76.7 76.8 76.9 77 
+  Bin 167: 77 77.1 77.2 77.3 77.4 77.5 77.6 77.7 77.8 77.9 78 
+  Bin 168: 78 78.1 78.2 78.3 78.4 78.5 78.6 78.7 78.8 78.9 79 
+  Bin 169: 79 79.1 79.2 79.3 79.4 79.5 79.6 79.7 79.8 79.9 80 
+  Bin 170: 80 80.1 80.2 80.3 80.4 80.5 80.6 80.7 80.8 80.9 81 
+  Bin 171: 81 81.1 81.2 81.3 81.4 81.5 81.6 81.7 81.8 81.9 82 
+  Bin 172: 82 82.1 82.2 82.3 82.4 82.5 82.6 82.7 82.8 82.9 83 
+  Bin 173: 83 83.1 83.2 83.3 83.4 83.5 83.6 83.7 83.8 83.9 84 
+  Bin 174: 84 84.1 84.2 84.3 84.4 84.5 84.6 84.7 84.8 84.9 85 
+  Bin 175: 85 85.1 85.2 85.3 85.4 85.5 85.6 85.7 85.8 85.9 86 
+  Bin 176: 86 86.1 86.2 86.3 86.4 86.5 86.6 86.7 86.8 86.9 87 
+  Bin 177: 87 87.1 87.2 87.3 87.4 87.5 87.6 87.7 87.8 87.9 88 
+  Bin 178: 88 88.1 88.2 88.3 88.4 88.5 88.6 88.7 88.8 88.9 89 
+  Bin 179: 89 89.1 89.2 89.3 89.4 89.5 89.6 89.7 89.8 89.9 90 
+
+Det 7:
+  Bin 0: -1000 -999.9 -999.8 -999.7 -999.6 -999.5 -999.4 -999.3 -999.2 -999.1 -999 
+  Bin 1: -999 -998.9 -998.8 -998.7 -998.6 -998.5 -998.4 -998.3 -998.2 -998.1 -998 
+  Bin 2: -998 -997.9 -997.8 -997.7 -997.6 -997.5 -997.4 -997.3 -997.2 -997.1 -997 
+  Bin 3: -997 -996.9 -996.8 -996.7 -996.6 -996.5 -996.4 -996.3 -996.2 -996.1 -996 
+  Bin 4: -996 -995.9 -995.8 -995.7 -995.6 -995.5 -995.4 -995.3 -995.2 -995.1 -995 
+  Bin 5: -995 -994.9 -994.8 -994.7 -994.6 -994.5 -994.4 -994.3 -994.2 -994.1 -994 
+  Bin 6: -994 -993.9 -993.8 -993.7 -993.6 -993.5 -993.4 -993.3 -993.2 -993.1 -993 
+  Bin 7: -993 -992.9 -992.8 -992.7 -992.6 -992.5 -992.4 -992.3 -992.2 -992.1 -992 
+  Bin 8: -992 -991.9 -991.8 -991.7 -991.6 -991.5 -991.4 -991.3 -991.2 -991.1 -991 
+  Bin 9: -991 -990.9 -990.8 -990.7 -990.6 -990.5 -990.4 -990.3 -990.2 -990.1 -990 
+  Bin 10: -990 -989.9 -989.8 -989.7 -989.6 -989.5 -989.4 -989.3 -989.2 -989.1 -989 
+  Bin 11: -989 -988.9 -988.8 -988.7 -988.6 -988.5 -988.4 -988.3 -988.2 -988.1 -988 
+  Bin 12: -988 -987.9 -987.8 -987.7 -987.6 -987.5 -987.4 -987.3 -987.2 -987.1 -987 
+  Bin 13: -987 -986.9 -986.8 -986.7 -986.6 -986.5 -986.4 -986.3 -986.2 -986.1 -986 
+  Bin 14: -986 -985.9 -985.8 -985.7 -985.6 -985.5 -985.4 -985.3 -985.2 -985.1 -985 
+  Bin 15: -985 -984.9 -984.8 -984.7 -984.6 -984.5 -984.4 -984.3 -984.2 -984.1 -984 
+  Bin 16: -984 -983.9 -983.8 -983.7 -983.6 -983.5 -983.4 -983.3 -983.2 -983.1 -983 
+  Bin 17: -983 -982.9 -982.8 -982.7 -982.6 -982.5 -982.4 -982.3 -982.2 -982.1 -982 
+  Bin 18: -982 -981.9 -981.8 -981.7 -981.6 -981.5 -981.4 -981.3 -981.2 -981.1 -981 
+  Bin 19: -981 -980.9 -980.8 -980.7 -980.6 -980.5 -980.4 -980.3 -980.2 -980.1 -980 
+  Bin 20: -980 -979.9 -979.8 -979.7 -979.6 -979.5 -979.4 -979.3 -979.2 -979.1 -979 
+  Bin 21: -979 -978.9 -978.8 -978.7 -978.6 -978.5 -978.4 -978.3 -978.2 -978.1 -978 
+  Bin 22: -978 -977.9 -977.8 -977.7 -977.6 -977.5 -977.4 -977.3 -977.2 -977.1 -977 
+  Bin 23: -977 -976.9 -976.8 -976.7 -976.6 -976.5 -976.4 -976.3 -976.2 -976.1 -976 
+  Bin 24: -976 -975.9 -975.8 -975.7 -975.6 -975.5 -975.4 -975.3 -975.2 -975.1 -975 
+  Bin 25: -975 -974.9 -974.8 -974.7 -974.6 -974.5 -974.4 -974.3 -974.2 -974.1 -974 
+  Bin 26: -974 -973.9 -973.8 -973.7 -973.6 -973.5 -973.4 -973.3 -973.2 -973.1 -973 
+  Bin 27: -973 -972.9 -972.8 -972.7 -972.6 -972.5 -972.4 -972.3 -972.2 -972.1 -972 
+  Bin 28: -972 -971.9 -971.8 -971.7 -971.6 -971.5 -971.4 -971.3 -971.2 -971.1 -971 
+  Bin 29: -971 -970.9 -970.8 -970.7 -970.6 -970.5 -970.4 -970.3 -970.2 -970.1 -970 
+  Bin 30: -970 -969.9 -969.8 -969.7 -969.6 -969.5 -969.4 -969.3 -969.2 -969.1 -969 
+  Bin 31: -969 -968.9 -968.8 -968.7 -968.6 -968.5 -968.4 -968.3 -968.2 -968.1 -968 
+  Bin 32: -968 -967.9 -967.8 -967.7 -967.6 -967.5 -967.4 -967.3 -967.2 -967.1 -967 
+  Bin 33: -967 -966.9 -966.8 -966.7 -966.6 -966.5 -966.4 -966.3 -966.2 -966.1 -966 
+  Bin 34: -966 -965.9 -965.8 -965.7 -965.6 -965.5 -965.4 -965.3 -965.2 -965.1 -965 
+  Bin 35: -965 -964.9 -964.8 -964.7 -964.6 -964.5 -964.4 -964.3 -964.2 -964.1 -964 
+  Bin 36: -964 -963.9 -963.8 -963.7 -963.6 -963.5 -963.4 -963.3 -963.2 -963.1 -963 
+  Bin 37: -963 -962.9 -962.8 -962.7 -962.6 -962.5 -962.4 -962.3 -962.2 -962.1 -962 
+  Bin 38: -962 -961.9 -961.8 -961.7 -961.6 -961.5 -961.4 -961.3 -961.2 -961.1 -961 
+  Bin 39: -961 -960.9 -960.8 -960.7 -960.6 -960.5 -960.4 -960.3 -960.2 -960.1 -960 
+  Bin 40: -960 -959.9 -959.8 -959.7 -959.6 -959.5 -959.4 -959.3 -959.2 -959.1 -959 
+  Bin 41: -959 -958.9 -958.8 -958.7 -958.6 -958.5 -958.4 -958.3 -958.2 -958.1 -958 
+  Bin 42: -958 -957.9 -957.8 -957.7 -957.6 -957.5 -957.4 -957.3 -957.2 -957.1 -957 
+  Bin 43: -957 -956.9 -956.8 -956.7 -956.6 -956.5 -956.4 -956.3 -956.2 -956.1 -956 
+  Bin 44: -956 -955.9 -955.8 -955.7 -955.6 -955.5 -955.4 -955.3 -955.2 -955.1 -955 
+  Bin 45: -955 -954.9 -954.8 -954.7 -954.6 -954.5 -954.4 -954.3 -954.2 -954.1 -954 
+  Bin 46: -954 -953.9 -953.8 -953.7 -953.6 -953.5 -953.4 -953.3 -953.2 -953.1 -953 
+  Bin 47: -953 -952.9 -952.8 -952.7 -952.6 -952.5 -952.4 -952.3 -952.2 -952.1 -952 
+  Bin 48: -952 -951.9 -951.8 -951.7 -951.6 -951.5 -951.4 -951.3 -951.2 -951.1 -951 
+  Bin 49: -951 -950.9 -950.8 -950.7 -950.6 -950.5 -950.4 -950.3 -950.2 -950.1 -950 
+  Bin 50: -950 -949.9 -949.8 -949.7 -949.6 -949.5 -949.4 -949.3 -949.2 -949.1 -949 
+  Bin 51: -949 -948.9 -948.8 -948.7 -948.6 -948.5 -948.4 -948.3 -948.2 -948.1 -948 
+  Bin 52: -948 -947.9 -947.8 -947.7 -947.6 -947.5 -947.4 -947.3 -947.2 -947.1 -947 
+  Bin 53: -947 -946.9 -946.8 -946.7 -946.6 -946.5 -946.4 -946.3 -946.2 -946.1 -946 
+  Bin 54: -946 -945.9 -945.8 -945.7 -945.6 -945.5 -945.4 -945.3 -945.2 -945.1 -945 
+  Bin 55: -945 -944.9 -944.8 -944.7 -944.6 -944.5 -944.4 -944.3 -944.2 -944.1 -944 
+  Bin 56: -944 -943.9 -943.8 -943.7 -943.6 -943.5 -943.4 -943.3 -943.2 -943.1 -943 
+  Bin 57: -943 -942.9 -942.8 -942.7 -942.6 -942.5 -942.4 -942.3 -942.2 -942.1 -942 
+  Bin 58: -942 -941.9 -941.8 -941.7 -941.6 -941.5 -941.4 -941.3 -941.2 -941.1 -941 
+  Bin 59: -941 -940.9 -940.8 -940.7 -940.6 -940.5 -940.4 -940.3 -940.2 -940.1 -940 
+  Bin 60: -940 -939.9 -939.8 -939.7 -939.6 -939.5 -939.4 -939.3 -939.2 -939.1 -939 
+  Bin 61: -939 -938.9 -938.8 -938.7 -938.6 -938.5 -938.4 -938.3 -938.2 -938.1 -938 
+  Bin 62: -938 -937.9 -937.8 -937.7 -937.6 -937.5 -937.4 -937.3 -937.2 -937.1 -937 
+  Bin 63: -937 -936.9 -936.8 -936.7 -936.6 -936.5 -936.4 -936.3 -936.2 -936.1 -936 
+  Bin 64: -936 -935.9 -935.8 -935.7 -935.6 -935.5 -935.4 -935.3 -935.2 -935.1 -935 
+  Bin 65: -935 -934.9 -934.8 -934.7 -934.6 -934.5 -934.4 -934.3 -934.2 -934.1 -934 
+  Bin 66: -934 -933.9 -933.8 -933.7 -933.6 -933.5 -933.4 -933.3 -933.2 -933.1 -933 
+  Bin 67: -933 -932.9 -932.8 -932.7 -932.6 -932.5 -932.4 -932.3 -932.2 -932.1 -932 
+  Bin 68: -932 -931.9 -931.8 -931.7 -931.6 -931.5 -931.4 -931.3 -931.2 -931.1 -931 
+  Bin 69: -931 -930.9 -930.8 -930.7 -930.6 -930.5 -930.4 -930.3 -930.2 -930.1 -930 
+  Bin 70: -930 -929.9 -929.8 -929.7 -929.6 -929.5 -929.4 -929.3 -929.2 -929.1 -929 
+  Bin 71: -929 -928.9 -928.8 -928.7 -928.6 -928.5 -928.4 -928.3 -928.2 -928.1 -928 
+  Bin 72: -928 -927.9 -927.8 -927.7 -927.6 -927.5 -927.4 -927.3 -927.2 -927.1 -927 
+  Bin 73: -927 -926.9 -926.8 -926.7 -926.6 -926.5 -926.4 -926.3 -926.2 -926.1 -926 
+  Bin 74: -926 -925.9 -925.8 -925.7 -925.6 -925.5 -925.4 -925.3 -925.2 -925.1 -925 
+  Bin 75: -925 -924.9 -924.8 -924.7 -924.6 -924.5 -924.4 -924.3 -924.2 -924.1 -924 
+  Bin 76: -924 -923.9 -923.8 -923.7 -923.6 -923.5 -923.4 -923.3 -923.2 -923.1 -923 
+  Bin 77: -923 -922.9 -922.8 -922.7 -922.6 -922.5 -922.4 -922.3 -922.2 -922.1 -922 
+  Bin 78: -922 -921.9 -921.8 -921.7 -921.6 -921.5 -921.4 -921.3 -921.2 -921.1 -921 
+  Bin 79: -921 -920.9 -920.8 -920.7 -920.6 -920.5 -920.4 -920.3 -920.2 -920.1 -920 
+  Bin 80: -920 -919.9 -919.8 -919.7 -919.6 -919.5 -919.4 -919.3 -919.2 -919.1 -919 
+  Bin 81: -919 -918.9 -918.8 -918.7 -918.6 -918.5 -918.4 -918.3 -918.2 -918.1 -918 
+  Bin 82: -918 -917.9 -917.8 -917.7 -917.6 -917.5 -917.4 -917.3 -917.2 -917.1 -917 
+  Bin 83: -917 -916.9 -916.8 -916.7 -916.6 -916.5 -916.4 -916.3 -916.2 -916.1 -916 
+  Bin 84: -916 -915.9 -915.8 -915.7 -915.6 -915.5 -915.4 -915.3 -915.2 -915.1 -915 
+  Bin 85: -915 -914.9 -914.8 -914.7 -914.6 -914.5 -914.4 -914.3 -914.2 -914.1 -914 
+  Bin 86: -914 -913.9 -913.8 -913.7 -913.6 -913.5 -913.4 -913.3 -913.2 -913.1 -913 
+  Bin 87: -913 -912.9 -912.8 -912.7 -912.6 -912.5 -912.4 -912.3 -912.2 -912.1 -912 
+  Bin 88: -912 -911.9 -911.8 -911.7 -911.6 -911.5 -911.4 -911.3 -911.2 -911.1 -911 
+  Bin 89: -911 -910.9 -910.8 -910.7 -910.6 -910.5 -910.4 -910.3 -910.2 -910.1 -910 
+  Bin 90: -910 -909.9 -909.8 -909.7 -909.6 -909.5 -909.4 -909.3 -909.2 -909.1 -909 
+  Bin 91: -909 -908.9 -908.8 -908.7 -908.6 -908.5 -908.4 -908.3 -908.2 -908.1 -908 
+  Bin 92: -908 -907.9 -907.8 -907.7 -907.6 -907.5 -907.4 -907.3 -907.2 -907.1 -907 
+  Bin 93: -907 -906.9 -906.8 -906.7 -906.6 -906.5 -906.4 -906.3 -906.2 -906.1 -906 
+  Bin 94: -906 -905.9 -905.8 -905.7 -905.6 -905.5 -905.4 -905.3 -905.2 -905.1 -905 
+  Bin 95: -905 -904.9 -904.8 -904.7 -904.6 -904.5 -904.4 -904.3 -904.2 -904.1 -904 
+  Bin 96: -904 -903.9 -903.8 -903.7 -903.6 -903.5 -903.4 -903.3 -903.2 -903.1 -903 
+  Bin 97: -903 -902.9 -902.8 -902.7 -902.6 -902.5 -902.4 -902.3 -902.2 -902.1 -902 
+  Bin 98: -902 -901.9 -901.8 -901.7 -901.6 -901.5 -901.4 -901.3 -901.2 -901.1 -901 
+  Bin 99: -901 -900.9 -900.8 -900.7 -900.6 -900.5 -900.4 -900.3 -900.2 -900.1 -900 
+  Bin 100: -900 -899.9 -899.8 -899.7 -899.6 -899.5 -899.4 -899.3 -899.2 -899.1 -899 
+  Bin 101: -899 -898.9 -898.8 -898.7 -898.6 -898.5 -898.4 -898.3 -898.2 -898.1 -898 
+  Bin 102: -898 -897.9 -897.8 -897.7 -897.6 -897.5 -897.4 -897.3 -897.2 -897.1 -897 
+  Bin 103: -897 -896.9 -896.8 -896.7 -896.6 -896.5 -896.4 -896.3 -896.2 -896.1 -896 
+  Bin 104: -896 -895.9 -895.8 -895.7 -895.6 -895.5 -895.4 -895.3 -895.2 -895.1 -895 
+  Bin 105: -895 -894.9 -894.8 -894.7 -894.6 -894.5 -894.4 -894.3 -894.2 -894.1 -894 
+  Bin 106: -894 -893.9 -893.8 -893.7 -893.6 -893.5 -893.4 -893.3 -893.2 -893.1 -893 
+  Bin 107: -893 -892.9 -892.8 -892.7 -892.6 -892.5 -892.4 -892.3 -892.2 -892.1 -892 
+  Bin 108: -892 -891.9 -891.8 -891.7 -891.6 -891.5 -891.4 -891.3 -891.2 -891.1 -891 
+  Bin 109: -891 -890.9 -890.8 -890.7 -890.6 -890.5 -890.4 -890.3 -890.2 -890.1 -890 
+  Bin 110: -890 -889.9 -889.8 -889.7 -889.6 -889.5 -889.4 -889.3 -889.2 -889.1 -889 
+  Bin 111: -889 -888.9 -888.8 -888.7 -888.6 -888.5 -888.4 -888.3 -888.2 -888.1 -888 
+  Bin 112: -888 -887.9 -887.8 -887.7 -887.6 -887.5 -887.4 -887.3 -887.2 -887.1 -887 
+  Bin 113: -887 -886.9 -886.8 -886.7 -886.6 -886.5 -886.4 -886.3 -886.2 -886.1 -886 
+  Bin 114: -886 -885.9 -885.8 -885.7 -885.6 -885.5 -885.4 -885.3 -885.2 -885.1 -885 
+  Bin 115: -885 -884.9 -884.8 -884.7 -884.6 -884.5 -884.4 -884.3 -884.2 -884.1 -884 
+  Bin 116: -884 -883.9 -883.8 -883.7 -883.6 -883.5 -883.4 -883.3 -883.2 -883.1 -883 
+  Bin 117: -883 -882.9 -882.8 -882.7 -882.6 -882.5 -882.4 -882.3 -882.2 -882.1 -882 
+  Bin 118: -882 -881.9 -881.8 -881.7 -881.6 -881.5 -881.4 -881.3 -881.2 -881.1 -881 
+  Bin 119: -881 -880.9 -880.8 -880.7 -880.6 -880.5 -880.4 -880.3 -880.2 -880.1 -880 
+  Bin 120: -880 -879.9 -879.8 -879.7 -879.6 -879.5 -879.4 -879.3 -879.2 -879.1 -879 
+  Bin 121: -879 -878.9 -878.8 -878.7 -878.6 -878.5 -878.4 -878.3 -878.2 -878.1 -878 
+  Bin 122: -878 -877.9 -877.8 -877.7 -877.6 -877.5 -877.4 -877.3 -877.2 -877.1 -877 
+  Bin 123: -877 -876.9 -876.8 -876.7 -876.6 -876.5 -876.4 -876.3 -876.2 -876.1 -876 
+  Bin 124: -876 -875.9 -875.8 -875.7 -875.6 -875.5 -875.4 -875.3 -875.2 -875.1 -875 
+  Bin 125: -875 -874.9 -874.8 -874.7 -874.6 -874.5 -874.4 -874.3 -874.2 -874.1 -874 
+  Bin 126: -874 -873.9 -873.8 -873.7 -873.6 -873.5 -873.4 -873.3 -873.2 -873.1 -873 
+  Bin 127: -873 -872.9 -872.8 -872.7 -872.6 -872.5 -872.4 -872.3 -872.2 -872.1 -872 
+  Bin 128: -872 -871.9 -871.8 -871.7 -871.6 -871.5 -871.4 -871.3 -871.2 -871.1 -871 
+  Bin 129: -871 -870.9 -870.8 -870.7 -870.6 -870.5 -870.4 -870.3 -870.2 -870.1 -870 
+  Bin 130: -870 -869.9 -869.8 -869.7 -869.6 -869.5 -869.4 -869.3 -869.2 -869.1 -869 
+  Bin 131: -869 -868.9 -868.8 -868.7 -868.6 -868.5 -868.4 -868.3 -868.2 -868.1 -868 
+  Bin 132: -868 -867.9 -867.8 -867.7 -867.6 -867.5 -867.4 -867.3 -867.2 -867.1 -867 
+  Bin 133: -867 -866.9 -866.8 -866.7 -866.6 -866.5 -866.4 -866.3 -866.2 -866.1 -866 
+  Bin 134: -866 -865.9 -865.8 -865.7 -865.6 -865.5 -865.4 -865.3 -865.2 -865.1 -865 
+  Bin 135: -865 -864.9 -864.8 -864.7 -864.6 -864.5 -864.4 -864.3 -864.2 -864.1 -864 
+  Bin 136: -864 -863.9 -863.8 -863.7 -863.6 -863.5 -863.4 -863.3 -863.2 -863.1 -863 
+  Bin 137: -863 -862.9 -862.8 -862.7 -862.6 -862.5 -862.4 -862.3 -862.2 -862.1 -862 
+  Bin 138: -862 -861.9 -861.8 -861.7 -861.6 -861.5 -861.4 -861.3 -861.2 -861.1 -861 
+  Bin 139: -861 -860.9 -860.8 -860.7 -860.6 -860.5 -860.4 -860.3 -860.2 -860.1 -860 
+  Bin 140: -860 -859.9 -859.8 -859.7 -859.6 -859.5 -859.4 -859.3 -859.2 -859.1 -859 
+  Bin 141: -859 -858.9 -858.8 -858.7 -858.6 -858.5 -858.4 -858.3 -858.2 -858.1 -858 
+  Bin 142: -858 -857.9 -857.8 -857.7 -857.6 -857.5 -857.4 -857.3 -857.2 -857.1 -857 
+  Bin 143: -857 -856.9 -856.8 -856.7 -856.6 -856.5 -856.4 -856.3 -856.2 -856.1 -856 
+  Bin 144: -856 -855.9 -855.8 -855.7 -855.6 -855.5 -855.4 -855.3 -855.2 -855.1 -855 
+  Bin 145: -855 -854.9 -854.8 -854.7 -854.6 -854.5 -854.4 -854.3 -854.2 -854.1 -854 
+  Bin 146: -854 -853.9 -853.8 -853.7 -853.6 -853.5 -853.4 -853.3 -853.2 -853.1 -853 
+  Bin 147: -853 -852.9 -852.8 -852.7 -852.6 -852.5 -852.4 -852.3 -852.2 -852.1 -852 
+  Bin 148: -852 -851.9 -851.8 -851.7 -851.6 -851.5 -851.4 -851.3 -851.2 -851.1 -851 
+  Bin 149: -851 -850.9 -850.8 -850.7 -850.6 -850.5 -850.4 -850.3 -850.2 -850.1 -850 
+  Bin 150: -850 -849.9 -849.8 -849.7 -849.6 -849.5 -849.4 -849.3 -849.2 -849.1 -849 
+  Bin 151: -849 -848.9 -848.8 -848.7 -848.6 -848.5 -848.4 -848.3 -848.2 -848.1 -848 
+  Bin 152: -848 -847.9 -847.8 -847.7 -847.6 -847.5 -847.4 -847.3 -847.2 -847.1 -847 
+  Bin 153: -847 -846.9 -846.8 -846.7 -846.6 -846.5 -846.4 -846.3 -846.2 -846.1 -846 
+  Bin 154: -846 -845.9 -845.8 -845.7 -845.6 -845.5 -845.4 -845.3 -845.2 -845.1 -845 
+  Bin 155: -845 -844.9 -844.8 -844.7 -844.6 -844.5 -844.4 -844.3 -844.2 -844.1 -844 
+  Bin 156: -844 -843.9 -843.8 -843.7 -843.6 -843.5 -843.4 -843.3 -843.2 -843.1 -843 
+  Bin 157: -843 -842.9 -842.8 -842.7 -842.6 -842.5 -842.4 -842.3 -842.2 -842.1 -842 
+  Bin 158: -842 -841.9 -841.8 -841.7 -841.6 -841.5 -841.4 -841.3 -841.2 -841.1 -841 
+  Bin 159: -841 -840.9 -840.8 -840.7 -840.6 -840.5 -840.4 -840.3 -840.2 -840.1 -840 
+  Bin 160: -840 -839.9 -839.8 -839.7 -839.6 -839.5 -839.4 -839.3 -839.2 -839.1 -839 
+  Bin 161: -839 -838.9 -838.8 -838.7 -838.6 -838.5 -838.4 -838.3 -838.2 -838.1 -838 
+  Bin 162: -838 -837.9 -837.8 -837.7 -837.6 -837.5 -837.4 -837.3 -837.2 -837.1 -837 
+  Bin 163: -837 -836.9 -836.8 -836.7 -836.6 -836.5 -836.4 -836.3 -836.2 -836.1 -836 
+  Bin 164: -836 -835.9 -835.8 -835.7 -835.6 -835.5 -835.4 -835.3 -835.2 -835.1 -835 
+  Bin 165: -835 -834.9 -834.8 -834.7 -834.6 -834.5 -834.4 -834.3 -834.2 -834.1 -834 
+  Bin 166: -834 -833.9 -833.8 -833.7 -833.6 -833.5 -833.4 -833.3 -833.2 -833.1 -833 
+  Bin 167: -833 -832.9 -832.8 -832.7 -832.6 -832.5 -832.4 -832.3 -832.2 -832.1 -832 
+  Bin 168: -832 -831.9 -831.8 -831.7 -831.6 -831.5 -831.4 -831.3 -831.2 -831.1 -831 
+  Bin 169: -831 -830.9 -830.8 -830.7 -830.6 -830.5 -830.4 -830.3 -830.2 -830.1 -830 
+  Bin 170: -830 -829.9 -829.8 -829.7 -829.6 -829.5 -829.4 -829.3 -829.2 -829.1 -829 
+  Bin 171: -829 -828.9 -828.8 -828.7 -828.6 -828.5 -828.4 -828.3 -828.2 -828.1 -828 
+  Bin 172: -828 -827.9 -827.8 -827.7 -827.6 -827.5 -827.4 -827.3 -827.2 -827.1 -827 
+  Bin 173: -827 -826.9 -826.8 -826.7 -826.6 -826.5 -826.4 -826.3 -826.2 -826.1 -826 
+  Bin 174: -826 -825.9 -825.8 -825.7 -825.6 -825.5 -825.4 -825.3 -825.2 -825.1 -825 
+  Bin 175: -825 -824.9 -824.8 -824.7 -824.6 -824.5 -824.4 -824.3 -824.2 -824.1 -824 
+  Bin 176: -824 -823.9 -823.8 -823.7 -823.6 -823.5 -823.4 -823.3 -823.2 -823.1 -823 
+  Bin 177: -823 -822.9 -822.8 -822.7 -822.6 -822.5 -822.4 -822.3 -822.2 -822.1 -822 
+  Bin 178: -822 -821.9 -821.8 -821.7 -821.6 -821.5 -821.4 -821.3 -821.2 -821.1 -821 
+  Bin 179: -821 -820.9 -820.8 -820.7 -820.6 -820.5 -820.4 -820.3 -820.2 -820.1 -820 
+  Bin 180: -820 -819.9 -819.8 -819.7 -819.6 -819.5 -819.4 -819.3 -819.2 -819.1 -819 
+  Bin 181: -819 -818.9 -818.8 -818.7 -818.6 -818.5 -818.4 -818.3 -818.2 -818.1 -818 
+  Bin 182: -818 -817.9 -817.8 -817.7 -817.6 -817.5 -817.4 -817.3 -817.2 -817.1 -817 
+  Bin 183: -817 -816.9 -816.8 -816.7 -816.6 -816.5 -816.4 -816.3 -816.2 -816.1 -816 
+  Bin 184: -816 -815.9 -815.8 -815.7 -815.6 -815.5 -815.4 -815.3 -815.2 -815.1 -815 
+  Bin 185: -815 -814.9 -814.8 -814.7 -814.6 -814.5 -814.4 -814.3 -814.2 -814.1 -814 
+  Bin 186: -814 -813.9 -813.8 -813.7 -813.6 -813.5 -813.4 -813.3 -813.2 -813.1 -813 
+  Bin 187: -813 -812.9 -812.8 -812.7 -812.6 -812.5 -812.4 -812.3 -812.2 -812.1 -812 
+  Bin 188: -812 -811.9 -811.8 -811.7 -811.6 -811.5 -811.4 -811.3 -811.2 -811.1 -811 
+  Bin 189: -811 -810.9 -810.8 -810.7 -810.6 -810.5 -810.4 -810.3 -810.2 -810.1 -810 
+  Bin 190: -810 -809.9 -809.8 -809.7 -809.6 -809.5 -809.4 -809.3 -809.2 -809.1 -809 
+  Bin 191: -809 -808.9 -808.8 -808.7 -808.6 -808.5 -808.4 -808.3 -808.2 -808.1 -808 
+  Bin 192: -808 -807.9 -807.8 -807.7 -807.6 -807.5 -807.4 -807.3 -807.2 -807.1 -807 
+  Bin 193: -807 -806.9 -806.8 -806.7 -806.6 -806.5 -806.4 -806.3 -806.2 -806.1 -806 
+  Bin 194: -806 -805.9 -805.8 -805.7 -805.6 -805.5 -805.4 -805.3 -805.2 -805.1 -805 
+  Bin 195: -805 -804.9 -804.8 -804.7 -804.6 -804.5 -804.4 -804.3 -804.2 -804.1 -804 
+  Bin 196: -804 -803.9 -803.8 -803.7 -803.6 -803.5 -803.4 -803.3 -803.2 -803.1 -803 
+  Bin 197: -803 -802.9 -802.8 -802.7 -802.6 -802.5 -802.4 -802.3 -802.2 -802.1 -802 
+  Bin 198: -802 -801.9 -801.8 -801.7 -801.6 -801.5 -801.4 -801.3 -801.2 -801.1 -801 
+  Bin 199: -801 -800.9 -800.8 -800.7 -800.6 -800.5 -800.4 -800.3 -800.2 -800.1 -800 
+  Bin 200: -800 -799.9 -799.8 -799.7 -799.6 -799.5 -799.4 -799.3 -799.2 -799.1 -799 
+  Bin 201: -799 -798.9 -798.8 -798.7 -798.6 -798.5 -798.4 -798.3 -798.2 -798.1 -798 
+  Bin 202: -798 -797.9 -797.8 -797.7 -797.6 -797.5 -797.4 -797.3 -797.2 -797.1 -797 
+  Bin 203: -797 -796.9 -796.8 -796.7 -796.6 -796.5 -796.4 -796.3 -796.2 -796.1 -796 
+  Bin 204: -796 -795.9 -795.8 -795.7 -795.6 -795.5 -795.4 -795.3 -795.2 -795.1 -795 
+  Bin 205: -795 -794.9 -794.8 -794.7 -794.6 -794.5 -794.4 -794.3 -794.2 -794.1 -794 
+  Bin 206: -794 -793.9 -793.8 -793.7 -793.6 -793.5 -793.4 -793.3 -793.2 -793.1 -793 
+  Bin 207: -793 -792.9 -792.8 -792.7 -792.6 -792.5 -792.4 -792.3 -792.2 -792.1 -792 
+  Bin 208: -792 -791.9 -791.8 -791.7 -791.6 -791.5 -791.4 -791.3 -791.2 -791.1 -791 
+  Bin 209: -791 -790.9 -790.8 -790.7 -790.6 -790.5 -790.4 -790.3 -790.2 -790.1 -790 
+  Bin 210: -790 -789.9 -789.8 -789.7 -789.6 -789.5 -789.4 -789.3 -789.2 -789.1 -789 
+  Bin 211: -789 -788.9 -788.8 -788.7 -788.6 -788.5 -788.4 -788.3 -788.2 -788.1 -788 
+  Bin 212: -788 -787.9 -787.8 -787.7 -787.6 -787.5 -787.4 -787.3 -787.2 -787.1 -787 
+  Bin 213: -787 -786.9 -786.8 -786.7 -786.6 -786.5 -786.4 -786.3 -786.2 -786.1 -786 
+  Bin 214: -786 -785.9 -785.8 -785.7 -785.6 -785.5 -785.4 -785.3 -785.2 -785.1 -785 
+  Bin 215: -785 -784.9 -784.8 -784.7 -784.6 -784.5 -784.4 -784.3 -784.2 -784.1 -784 
+  Bin 216: -784 -783.9 -783.8 -783.7 -783.6 -783.5 -783.4 -783.3 -783.2 -783.1 -783 
+  Bin 217: -783 -782.9 -782.8 -782.7 -782.6 -782.5 -782.4 -782.3 -782.2 -782.1 -782 
+  Bin 218: -782 -781.9 -781.8 -781.7 -781.6 -781.5 -781.4 -781.3 -781.2 -781.1 -781 
+  Bin 219: -781 -780.9 -780.8 -780.7 -780.6 -780.5 -780.4 -780.3 -780.2 -780.1 -780 
+  Bin 220: -780 -779.9 -779.8 -779.7 -779.6 -779.5 -779.4 -779.3 -779.2 -779.1 -779 
+  Bin 221: -779 -778.9 -778.8 -778.7 -778.6 -778.5 -778.4 -778.3 -778.2 -778.1 -778 
+  Bin 222: -778 -777.9 -777.8 -777.7 -777.6 -777.5 -777.4 -777.3 -777.2 -777.1 -777 
+  Bin 223: -777 -776.9 -776.8 -776.7 -776.6 -776.5 -776.4 -776.3 -776.2 -776.1 -776 
+  Bin 224: -776 -775.9 -775.8 -775.7 -775.6 -775.5 -775.4 -775.3 -775.2 -775.1 -775 
+  Bin 225: -775 -774.9 -774.8 -774.7 -774.6 -774.5 -774.4 -774.3 -774.2 -774.1 -774 
+  Bin 226: -774 -773.9 -773.8 -773.7 -773.6 -773.5 -773.4 -773.3 -773.2 -773.1 -773 
+  Bin 227: -773 -772.9 -772.8 -772.7 -772.6 -772.5 -772.4 -772.3 -772.2 -772.1 -772 
+  Bin 228: -772 -771.9 -771.8 -771.7 -771.6 -771.5 -771.4 -771.3 -771.2 -771.1 -771 
+  Bin 229: -771 -770.9 -770.8 -770.7 -770.6 -770.5 -770.4 -770.3 -770.2 -770.1 -770 
+  Bin 230: -770 -769.9 -769.8 -769.7 -769.6 -769.5 -769.4 -769.3 -769.2 -769.1 -769 
+  Bin 231: -769 -768.9 -768.8 -768.7 -768.6 -768.5 -768.4 -768.3 -768.2 -768.1 -768 
+  Bin 232: -768 -767.9 -767.8 -767.7 -767.6 -767.5 -767.4 -767.3 -767.2 -767.1 -767 
+  Bin 233: -767 -766.9 -766.8 -766.7 -766.6 -766.5 -766.4 -766.3 -766.2 -766.1 -766 
+  Bin 234: -766 -765.9 -765.8 -765.7 -765.6 -765.5 -765.4 -765.3 -765.2 -765.1 -765 
+  Bin 235: -765 -764.9 -764.8 -764.7 -764.6 -764.5 -764.4 -764.3 -764.2 -764.1 -764 
+  Bin 236: -764 -763.9 -763.8 -763.7 -763.6 -763.5 -763.4 -763.3 -763.2 -763.1 -763 
+  Bin 237: -763 -762.9 -762.8 -762.7 -762.6 -762.5 -762.4 -762.3 -762.2 -762.1 -762 
+  Bin 238: -762 -761.9 -761.8 -761.7 -761.6 -761.5 -761.4 -761.3 -761.2 -761.1 -761 
+  Bin 239: -761 -760.9 -760.8 -760.7 -760.6 -760.5 -760.4 -760.3 -760.2 -760.1 -760 
+  Bin 240: -760 -759.9 -759.8 -759.7 -759.6 -759.5 -759.4 -759.3 -759.2 -759.1 -759 
+  Bin 241: -759 -758.9 -758.8 -758.7 -758.6 -758.5 -758.4 -758.3 -758.2 -758.1 -758 
+  Bin 242: -758 -757.9 -757.8 -757.7 -757.6 -757.5 -757.4 -757.3 -757.2 -757.1 -757 
+  Bin 243: -757 -756.9 -756.8 -756.7 -756.6 -756.5 -756.4 -756.3 -756.2 -756.1 -756 
+  Bin 244: -756 -755.9 -755.8 -755.7 -755.6 -755.5 -755.4 -755.3 -755.2 -755.1 -755 
+  Bin 245: -755 -754.9 -754.8 -754.7 -754.6 -754.5 -754.4 -754.3 -754.2 -754.1 -754 
+  Bin 246: -754 -753.9 -753.8 -753.7 -753.6 -753.5 -753.4 -753.3 -753.2 -753.1 -753 
+  Bin 247: -753 -752.9 -752.8 -752.7 -752.6 -752.5 -752.4 -752.3 -752.2 -752.1 -752 
+  Bin 248: -752 -751.9 -751.8 -751.7 -751.6 -751.5 -751.4 -751.3 -751.2 -751.1 -751 
+  Bin 249: -751 -750.9 -750.8 -750.7 -750.6 -750.5 -750.4 -750.3 -750.2 -750.1 -750 
+  Bin 250: -750 -749.9 -749.8 -749.7 -749.6 -749.5 -749.4 -749.3 -749.2 -749.1 -749 
+  Bin 251: -749 -748.9 -748.8 -748.7 -748.6 -748.5 -748.4 -748.3 -748.2 -748.1 -748 
+  Bin 252: -748 -747.9 -747.8 -747.7 -747.6 -747.5 -747.4 -747.3 -747.2 -747.1 -747 
+  Bin 253: -747 -746.9 -746.8 -746.7 -746.6 -746.5 -746.4 -746.3 -746.2 -746.1 -746 
+  Bin 254: -746 -745.9 -745.8 -745.7 -745.6 -745.5 -745.4 -745.3 -745.2 -745.1 -745 
+  Bin 255: -745 -744.9 -744.8 -744.7 -744.6 -744.5 -744.4 -744.3 -744.2 -744.1 -744 
+  Bin 256: -744 -743.9 -743.8 -743.7 -743.6 -743.5 -743.4 -743.3 -743.2 -743.1 -743 
+  Bin 257: -743 -742.9 -742.8 -742.7 -742.6 -742.5 -742.4 -742.3 -742.2 -742.1 -742 
+  Bin 258: -742 -741.9 -741.8 -741.7 -741.6 -741.5 -741.4 -741.3 -741.2 -741.1 -741 
+  Bin 259: -741 -740.9 -740.8 -740.7 -740.6 -740.5 -740.4 -740.3 -740.2 -740.1 -740 
+  Bin 260: -740 -739.9 -739.8 -739.7 -739.6 -739.5 -739.4 -739.3 -739.2 -739.1 -739 
+  Bin 261: -739 -738.9 -738.8 -738.7 -738.6 -738.5 -738.4 -738.3 -738.2 -738.1 -738 
+  Bin 262: -738 -737.9 -737.8 -737.7 -737.6 -737.5 -737.4 -737.3 -737.2 -737.1 -737 
+  Bin 263: -737 -736.9 -736.8 -736.7 -736.6 -736.5 -736.4 -736.3 -736.2 -736.1 -736 
+  Bin 264: -736 -735.9 -735.8 -735.7 -735.6 -735.5 -735.4 -735.3 -735.2 -735.1 -735 
+  Bin 265: -735 -734.9 -734.8 -734.7 -734.6 -734.5 -734.4 -734.3 -734.2 -734.1 -734 
+  Bin 266: -734 -733.9 -733.8 -733.7 -733.6 -733.5 -733.4 -733.3 -733.2 -733.1 -733 
+  Bin 267: -733 -732.9 -732.8 -732.7 -732.6 -732.5 -732.4 -732.3 -732.2 -732.1 -732 
+  Bin 268: -732 -731.9 -731.8 -731.7 -731.6 -731.5 -731.4 -731.3 -731.2 -731.1 -731 
+  Bin 269: -731 -730.9 -730.8 -730.7 -730.6 -730.5 -730.4 -730.3 -730.2 -730.1 -730 
+  Bin 270: -730 -729.9 -729.8 -729.7 -729.6 -729.5 -729.4 -729.3 -729.2 -729.1 -729 
+  Bin 271: -729 -728.9 -728.8 -728.7 -728.6 -728.5 -728.4 -728.3 -728.2 -728.1 -728 
+  Bin 272: -728 -727.9 -727.8 -727.7 -727.6 -727.5 -727.4 -727.3 -727.2 -727.1 -727 
+  Bin 273: -727 -726.9 -726.8 -726.7 -726.6 -726.5 -726.4 -726.3 -726.2 -726.1 -726 
+  Bin 274: -726 -725.9 -725.8 -725.7 -725.6 -725.5 -725.4 -725.3 -725.2 -725.1 -725 
+  Bin 275: -725 -724.9 -724.8 -724.7 -724.6 -724.5 -724.4 -724.3 -724.2 -724.1 -724 
+  Bin 276: -724 -723.9 -723.8 -723.7 -723.6 -723.5 -723.4 -723.3 -723.2 -723.1 -723 
+  Bin 277: -723 -722.9 -722.8 -722.7 -722.6 -722.5 -722.4 -722.3 -722.2 -722.1 -722 
+  Bin 278: -722 -721.9 -721.8 -721.7 -721.6 -721.5 -721.4 -721.3 -721.2 -721.1 -721 
+  Bin 279: -721 -720.9 -720.8 -720.7 -720.6 -720.5 -720.4 -720.3 -720.2 -720.1 -720 
+  Bin 280: -720 -719.9 -719.8 -719.7 -719.6 -719.5 -719.4 -719.3 -719.2 -719.1 -719 
+  Bin 281: -719 -718.9 -718.8 -718.7 -718.6 -718.5 -718.4 -718.3 -718.2 -718.1 -718 
+  Bin 282: -718 -717.9 -717.8 -717.7 -717.6 -717.5 -717.4 -717.3 -717.2 -717.1 -717 
+  Bin 283: -717 -716.9 -716.8 -716.7 -716.6 -716.5 -716.4 -716.3 -716.2 -716.1 -716 
+  Bin 284: -716 -715.9 -715.8 -715.7 -715.6 -715.5 -715.4 -715.3 -715.2 -715.1 -715 
+  Bin 285: -715 -714.9 -714.8 -714.7 -714.6 -714.5 -714.4 -714.3 -714.2 -714.1 -714 
+  Bin 286: -714 -713.9 -713.8 -713.7 -713.6 -713.5 -713.4 -713.3 -713.2 -713.1 -713 
+  Bin 287: -713 -712.9 -712.8 -712.7 -712.6 -712.5 -712.4 -712.3 -712.2 -712.1 -712 
+  Bin 288: -712 -711.9 -711.8 -711.7 -711.6 -711.5 -711.4 -711.3 -711.2 -711.1 -711 
+  Bin 289: -711 -710.9 -710.8 -710.7 -710.6 -710.5 -710.4 -710.3 -710.2 -710.1 -710 
+  Bin 290: -710 -709.9 -709.8 -709.7 -709.6 -709.5 -709.4 -709.3 -709.2 -709.1 -709 
+  Bin 291: -709 -708.9 -708.8 -708.7 -708.6 -708.5 -708.4 -708.3 -708.2 -708.1 -708 
+  Bin 292: -708 -707.9 -707.8 -707.7 -707.6 -707.5 -707.4 -707.3 -707.2 -707.1 -707 
+  Bin 293: -707 -706.9 -706.8 -706.7 -706.6 -706.5 -706.4 -706.3 -706.2 -706.1 -706 
+  Bin 294: -706 -705.9 -705.8 -705.7 -705.6 -705.5 -705.4 -705.3 -705.2 -705.1 -705 
+  Bin 295: -705 -704.9 -704.8 -704.7 -704.6 -704.5 -704.4 -704.3 -704.2 -704.1 -704 
+  Bin 296: -704 -703.9 -703.8 -703.7 -703.6 -703.5 -703.4 -703.3 -703.2 -703.1 -703 
+  Bin 297: -703 -702.9 -702.8 -702.7 -702.6 -702.5 -702.4 -702.3 -702.2 -702.1 -702 
+  Bin 298: -702 -701.9 -701.8 -701.7 -701.6 -701.5 -701.4 -701.3 -701.2 -701.1 -701 
+  Bin 299: -701 -700.9 -700.8 -700.7 -700.6 -700.5 -700.4 -700.3 -700.2 -700.1 -700 
+  Bin 300: -700 -699.9 -699.8 -699.7 -699.6 -699.5 -699.4 -699.3 -699.2 -699.1 -699 
+  Bin 301: -699 -698.9 -698.8 -698.7 -698.6 -698.5 -698.4 -698.3 -698.2 -698.1 -698 
+  Bin 302: -698 -697.9 -697.8 -697.7 -697.6 -697.5 -697.4 -697.3 -697.2 -697.1 -697 
+  Bin 303: -697 -696.9 -696.8 -696.7 -696.6 -696.5 -696.4 -696.3 -696.2 -696.1 -696 
+  Bin 304: -696 -695.9 -695.8 -695.7 -695.6 -695.5 -695.4 -695.3 -695.2 -695.1 -695 
+  Bin 305: -695 -694.9 -694.8 -694.7 -694.6 -694.5 -694.4 -694.3 -694.2 -694.1 -694 
+  Bin 306: -694 -693.9 -693.8 -693.7 -693.6 -693.5 -693.4 -693.3 -693.2 -693.1 -693 
+  Bin 307: -693 -692.9 -692.8 -692.7 -692.6 -692.5 -692.4 -692.3 -692.2 -692.1 -692 
+  Bin 308: -692 -691.9 -691.8 -691.7 -691.6 -691.5 -691.4 -691.3 -691.2 -691.1 -691 
+  Bin 309: -691 -690.9 -690.8 -690.7 -690.6 -690.5 -690.4 -690.3 -690.2 -690.1 -690 
+  Bin 310: -690 -689.9 -689.8 -689.7 -689.6 -689.5 -689.4 -689.3 -689.2 -689.1 -689 
+  Bin 311: -689 -688.9 -688.8 -688.7 -688.6 -688.5 -688.4 -688.3 -688.2 -688.1 -688 
+  Bin 312: -688 -687.9 -687.8 -687.7 -687.6 -687.5 -687.4 -687.3 -687.2 -687.1 -687 
+  Bin 313: -687 -686.9 -686.8 -686.7 -686.6 -686.5 -686.4 -686.3 -686.2 -686.1 -686 
+  Bin 314: -686 -685.9 -685.8 -685.7 -685.6 -685.5 -685.4 -685.3 -685.2 -685.1 -685 
+  Bin 315: -685 -684.9 -684.8 -684.7 -684.6 -684.5 -684.4 -684.3 -684.2 -684.1 -684 
+  Bin 316: -684 -683.9 -683.8 -683.7 -683.6 -683.5 -683.4 -683.3 -683.2 -683.1 -683 
+  Bin 317: -683 -682.9 -682.8 -682.7 -682.6 -682.5 -682.4 -682.3 -682.2 -682.1 -682 
+  Bin 318: -682 -681.9 -681.8 -681.7 -681.6 -681.5 -681.4 -681.3 -681.2 -681.1 -681 
+  Bin 319: -681 -680.9 -680.8 -680.7 -680.6 -680.5 -680.4 -680.3 -680.2 -680.1 -680 
+  Bin 320: -680 -679.9 -679.8 -679.7 -679.6 -679.5 -679.4 -679.3 -679.2 -679.1 -679 
+  Bin 321: -679 -678.9 -678.8 -678.7 -678.6 -678.5 -678.4 -678.3 -678.2 -678.1 -678 
+  Bin 322: -678 -677.9 -677.8 -677.7 -677.6 -677.5 -677.4 -677.3 -677.2 -677.1 -677 
+  Bin 323: -677 -676.9 -676.8 -676.7 -676.6 -676.5 -676.4 -676.3 -676.2 -676.1 -676 
+  Bin 324: -676 -675.9 -675.8 -675.7 -675.6 -675.5 -675.4 -675.3 -675.2 -675.1 -675 
+  Bin 325: -675 -674.9 -674.8 -674.7 -674.6 -674.5 -674.4 -674.3 -674.2 -674.1 -674 
+  Bin 326: -674 -673.9 -673.8 -673.7 -673.6 -673.5 -673.4 -673.3 -673.2 -673.1 -673 
+  Bin 327: -673 -672.9 -672.8 -672.7 -672.6 -672.5 -672.4 -672.3 -672.2 -672.1 -672 
+  Bin 328: -672 -671.9 -671.8 -671.7 -671.6 -671.5 -671.4 -671.3 -671.2 -671.1 -671 
+  Bin 329: -671 -670.9 -670.8 -670.7 -670.6 -670.5 -670.4 -670.3 -670.2 -670.1 -670 
+  Bin 330: -670 -669.9 -669.8 -669.7 -669.6 -669.5 -669.4 -669.3 -669.2 -669.1 -669 
+  Bin 331: -669 -668.9 -668.8 -668.7 -668.6 -668.5 -668.4 -668.3 -668.2 -668.1 -668 
+  Bin 332: -668 -667.9 -667.8 -667.7 -667.6 -667.5 -667.4 -667.3 -667.2 -667.1 -667 
+  Bin 333: -667 -666.9 -666.8 -666.7 -666.6 -666.5 -666.4 -666.3 -666.2 -666.1 -666 
+  Bin 334: -666 -665.9 -665.8 -665.7 -665.6 -665.5 -665.4 -665.3 -665.2 -665.1 -665 
+  Bin 335: -665 -664.9 -664.8 -664.7 -664.6 -664.5 -664.4 -664.3 -664.2 -664.1 -664 
+  Bin 336: -664 -663.9 -663.8 -663.7 -663.6 -663.5 -663.4 -663.3 -663.2 -663.1 -663 
+  Bin 337: -663 -662.9 -662.8 -662.7 -662.6 -662.5 -662.4 -662.3 -662.2 -662.1 -662 
+  Bin 338: -662 -661.9 -661.8 -661.7 -661.6 -661.5 -661.4 -661.3 -661.2 -661.1 -661 
+  Bin 339: -661 -660.9 -660.8 -660.7 -660.6 -660.5 -660.4 -660.3 -660.2 -660.1 -660 
+  Bin 340: -660 -659.9 -659.8 -659.7 -659.6 -659.5 -659.4 -659.3 -659.2 -659.1 -659 
+  Bin 341: -659 -658.9 -658.8 -658.7 -658.6 -658.5 -658.4 -658.3 -658.2 -658.1 -658 
+  Bin 342: -658 -657.9 -657.8 -657.7 -657.6 -657.5 -657.4 -657.3 -657.2 -657.1 -657 
+  Bin 343: -657 -656.9 -656.8 -656.7 -656.6 -656.5 -656.4 -656.3 -656.2 -656.1 -656 
+  Bin 344: -656 -655.9 -655.8 -655.7 -655.6 -655.5 -655.4 -655.3 -655.2 -655.1 -655 
+  Bin 345: -655 -654.9 -654.8 -654.7 -654.6 -654.5 -654.4 -654.3 -654.2 -654.1 -654 
+  Bin 346: -654 -653.9 -653.8 -653.7 -653.6 -653.5 -653.4 -653.3 -653.2 -653.1 -653 
+  Bin 347: -653 -652.9 -652.8 -652.7 -652.6 -652.5 -652.4 -652.3 -652.2 -652.1 -652 
+  Bin 348: -652 -651.9 -651.8 -651.7 -651.6 -651.5 -651.4 -651.3 -651.2 -651.1 -651 
+  Bin 349: -651 -650.9 -650.8 -650.7 -650.6 -650.5 -650.4 -650.3 -650.2 -650.1 -650 
+  Bin 350: -650 -649.9 -649.8 -649.7 -649.6 -649.5 -649.4 -649.3 -649.2 -649.1 -649 
+  Bin 351: -649 -648.9 -648.8 -648.7 -648.6 -648.5 -648.4 -648.3 -648.2 -648.1 -648 
+  Bin 352: -648 -647.9 -647.8 -647.7 -647.6 -647.5 -647.4 -647.3 -647.2 -647.1 -647 
+  Bin 353: -647 -646.9 -646.8 -646.7 -646.6 -646.5 -646.4 -646.3 -646.2 -646.1 -646 
+  Bin 354: -646 -645.9 -645.8 -645.7 -645.6 -645.5 -645.4 -645.3 -645.2 -645.1 -645 
+  Bin 355: -645 -644.9 -644.8 -644.7 -644.6 -644.5 -644.4 -644.3 -644.2 -644.1 -644 
+  Bin 356: -644 -643.9 -643.8 -643.7 -643.6 -643.5 -643.4 -643.3 -643.2 -643.1 -643 
+  Bin 357: -643 -642.9 -642.8 -642.7 -642.6 -642.5 -642.4 -642.3 -642.2 -642.1 -642 
+  Bin 358: -642 -641.9 -641.8 -641.7 -641.6 -641.5 -641.4 -641.3 -641.2 -641.1 -641 
+  Bin 359: -641 -640.9 -640.8 -640.7 -640.6 -640.5 -640.4 -640.3 -640.2 -640.1 -640 
+  Bin 360: -640 -639.9 -639.8 -639.7 -639.6 -639.5 -639.4 -639.3 -639.2 -639.1 -639 
+  Bin 361: -639 -638.9 -638.8 -638.7 -638.6 -638.5 -638.4 -638.3 -638.2 -638.1 -638 
+  Bin 362: -638 -637.9 -637.8 -637.7 -637.6 -637.5 -637.4 -637.3 -637.2 -637.1 -637 
+  Bin 363: -637 -636.9 -636.8 -636.7 -636.6 -636.5 -636.4 -636.3 -636.2 -636.1 -636 
+  Bin 364: -636 -635.9 -635.8 -635.7 -635.6 -635.5 -635.4 -635.3 -635.2 -635.1 -635 
+  Bin 365: -635 -634.9 -634.8 -634.7 -634.6 -634.5 -634.4 -634.3 -634.2 -634.1 -634 
+  Bin 366: -634 -633.9 -633.8 -633.7 -633.6 -633.5 -633.4 -633.3 -633.2 -633.1 -633 
+  Bin 367: -633 -632.9 -632.8 -632.7 -632.6 -632.5 -632.4 -632.3 -632.2 -632.1 -632 
+  Bin 368: -632 -631.9 -631.8 -631.7 -631.6 -631.5 -631.4 -631.3 -631.2 -631.1 -631 
+  Bin 369: -631 -630.9 -630.8 -630.7 -630.6 -630.5 -630.4 -630.3 -630.2 -630.1 -630 
+  Bin 370: -630 -629.9 -629.8 -629.7 -629.6 -629.5 -629.4 -629.3 -629.2 -629.1 -629 
+  Bin 371: -629 -628.9 -628.8 -628.7 -628.6 -628.5 -628.4 -628.3 -628.2 -628.1 -628 
+  Bin 372: -628 -627.9 -627.8 -627.7 -627.6 -627.5 -627.4 -627.3 -627.2 -627.1 -627 
+  Bin 373: -627 -626.9 -626.8 -626.7 -626.6 -626.5 -626.4 -626.3 -626.2 -626.1 -626 
+  Bin 374: -626 -625.9 -625.8 -625.7 -625.6 -625.5 -625.4 -625.3 -625.2 -625.1 -625 
+  Bin 375: -625 -624.9 -624.8 -624.7 -624.6 -624.5 -624.4 -624.3 -624.2 -624.1 -624 
+  Bin 376: -624 -623.9 -623.8 -623.7 -623.6 -623.5 -623.4 -623.3 -623.2 -623.1 -623 
+  Bin 377: -623 -622.9 -622.8 -622.7 -622.6 -622.5 -622.4 -622.3 -622.2 -622.1 -622 
+  Bin 378: -622 -621.9 -621.8 -621.7 -621.6 -621.5 -621.4 -621.3 -621.2 -621.1 -621 
+  Bin 379: -621 -620.9 -620.8 -620.7 -620.6 -620.5 -620.4 -620.3 -620.2 -620.1 -620 
+  Bin 380: -620 -619.9 -619.8 -619.7 -619.6 -619.5 -619.4 -619.3 -619.2 -619.1 -619 
+  Bin 381: -619 -618.9 -618.8 -618.7 -618.6 -618.5 -618.4 -618.3 -618.2 -618.1 -618 
+  Bin 382: -618 -617.9 -617.8 -617.7 -617.6 -617.5 -617.4 -617.3 -617.2 -617.1 -617 
+  Bin 383: -617 -616.9 -616.8 -616.7 -616.6 -616.5 -616.4 -616.3 -616.2 -616.1 -616 
+  Bin 384: -616 -615.9 -615.8 -615.7 -615.6 -615.5 -615.4 -615.3 -615.2 -615.1 -615 
+  Bin 385: -615 -614.9 -614.8 -614.7 -614.6 -614.5 -614.4 -614.3 -614.2 -614.1 -614 
+  Bin 386: -614 -613.9 -613.8 -613.7 -613.6 -613.5 -613.4 -613.3 -613.2 -613.1 -613 
+  Bin 387: -613 -612.9 -612.8 -612.7 -612.6 -612.5 -612.4 -612.3 -612.2 -612.1 -612 
+  Bin 388: -612 -611.9 -611.8 -611.7 -611.6 -611.5 -611.4 -611.3 -611.2 -611.1 -611 
+  Bin 389: -611 -610.9 -610.8 -610.7 -610.6 -610.5 -610.4 -610.3 -610.2 -610.1 -610 
+  Bin 390: -610 -609.9 -609.8 -609.7 -609.6 -609.5 -609.4 -609.3 -609.2 -609.1 -609 
+  Bin 391: -609 -608.9 -608.8 -608.7 -608.6 -608.5 -608.4 -608.3 -608.2 -608.1 -608 
+  Bin 392: -608 -607.9 -607.8 -607.7 -607.6 -607.5 -607.4 -607.3 -607.2 -607.1 -607 
+  Bin 393: -607 -606.9 -606.8 -606.7 -606.6 -606.5 -606.4 -606.3 -606.2 -606.1 -606 
+  Bin 394: -606 -605.9 -605.8 -605.7 -605.6 -605.5 -605.4 -605.3 -605.2 -605.1 -605 
+  Bin 395: -605 -604.9 -604.8 -604.7 -604.6 -604.5 -604.4 -604.3 -604.2 -604.1 -604 
+  Bin 396: -604 -603.9 -603.8 -603.7 -603.6 -603.5 -603.4 -603.3 -603.2 -603.1 -603 
+  Bin 397: -603 -602.9 -602.8 -602.7 -602.6 -602.5 -602.4 -602.3 -602.2 -602.1 -602 
+  Bin 398: -602 -601.9 -601.8 -601.7 -601.6 -601.5 -601.4 -601.3 -601.2 -601.1 -601 
+  Bin 399: -601 -600.9 -600.8 -600.7 -600.6 -600.5 -600.4 -600.3 -600.2 -600.1 -600 
+  Bin 400: -600 -599.9 -599.8 -599.7 -599.6 -599.5 -599.4 -599.3 -599.2 -599.1 -599 
+  Bin 401: -599 -598.9 -598.8 -598.7 -598.6 -598.5 -598.4 -598.3 -598.2 -598.1 -598 
+  Bin 402: -598 -597.9 -597.8 -597.7 -597.6 -597.5 -597.4 -597.3 -597.2 -597.1 -597 
+  Bin 403: -597 -596.9 -596.8 -596.7 -596.6 -596.5 -596.4 -596.3 -596.2 -596.1 -596 
+  Bin 404: -596 -595.9 -595.8 -595.7 -595.6 -595.5 -595.4 -595.3 -595.2 -595.1 -595 
+  Bin 405: -595 -594.9 -594.8 -594.7 -594.6 -594.5 -594.4 -594.3 -594.2 -594.1 -594 
+  Bin 406: -594 -593.9 -593.8 -593.7 -593.6 -593.5 -593.4 -593.3 -593.2 -593.1 -593 
+  Bin 407: -593 -592.9 -592.8 -592.7 -592.6 -592.5 -592.4 -592.3 -592.2 -592.1 -592 
+  Bin 408: -592 -591.9 -591.8 -591.7 -591.6 -591.5 -591.4 -591.3 -591.2 -591.1 -591 
+  Bin 409: -591 -590.9 -590.8 -590.7 -590.6 -590.5 -590.4 -590.3 -590.2 -590.1 -590 
+  Bin 410: -590 -589.9 -589.8 -589.7 -589.6 -589.5 -589.4 -589.3 -589.2 -589.1 -589 
+  Bin 411: -589 -588.9 -588.8 -588.7 -588.6 -588.5 -588.4 -588.3 -588.2 -588.1 -588 
+  Bin 412: -588 -587.9 -587.8 -587.7 -587.6 -587.5 -587.4 -587.3 -587.2 -587.1 -587 
+  Bin 413: -587 -586.9 -586.8 -586.7 -586.6 -586.5 -586.4 -586.3 -586.2 -586.1 -586 
+  Bin 414: -586 -585.9 -585.8 -585.7 -585.6 -585.5 -585.4 -585.3 -585.2 -585.1 -585 
+  Bin 415: -585 -584.9 -584.8 -584.7 -584.6 -584.5 -584.4 -584.3 -584.2 -584.1 -584 
+  Bin 416: -584 -583.9 -583.8 -583.7 -583.6 -583.5 -583.4 -583.3 -583.2 -583.1 -583 
+  Bin 417: -583 -582.9 -582.8 -582.7 -582.6 -582.5 -582.4 -582.3 -582.2 -582.1 -582 
+  Bin 418: -582 -581.9 -581.8 -581.7 -581.6 -581.5 -581.4 -581.3 -581.2 -581.1 -581 
+  Bin 419: -581 -580.9 -580.8 -580.7 -580.6 -580.5 -580.4 -580.3 -580.2 -580.1 -580 
+  Bin 420: -580 -579.9 -579.8 -579.7 -579.6 -579.5 -579.4 -579.3 -579.2 -579.1 -579 
+  Bin 421: -579 -578.9 -578.8 -578.7 -578.6 -578.5 -578.4 -578.3 -578.2 -578.1 -578 
+  Bin 422: -578 -577.9 -577.8 -577.7 -577.6 -577.5 -577.4 -577.3 -577.2 -577.1 -577 
+  Bin 423: -577 -576.9 -576.8 -576.7 -576.6 -576.5 -576.4 -576.3 -576.2 -576.1 -576 
+  Bin 424: -576 -575.9 -575.8 -575.7 -575.6 -575.5 -575.4 -575.3 -575.2 -575.1 -575 
+  Bin 425: -575 -574.9 -574.8 -574.7 -574.6 -574.5 -574.4 -574.3 -574.2 -574.1 -574 
+  Bin 426: -574 -573.9 -573.8 -573.7 -573.6 -573.5 -573.4 -573.3 -573.2 -573.1 -573 
+  Bin 427: -573 -572.9 -572.8 -572.7 -572.6 -572.5 -572.4 -572.3 -572.2 -572.1 -572 
+  Bin 428: -572 -571.9 -571.8 -571.7 -571.6 -571.5 -571.4 -571.3 -571.2 -571.1 -571 
+  Bin 429: -571 -570.9 -570.8 -570.7 -570.6 -570.5 -570.4 -570.3 -570.2 -570.1 -570 
+  Bin 430: -570 -569.9 -569.8 -569.7 -569.6 -569.5 -569.4 -569.3 -569.2 -569.1 -569 
+  Bin 431: -569 -568.9 -568.8 -568.7 -568.6 -568.5 -568.4 -568.3 -568.2 -568.1 -568 
+  Bin 432: -568 -567.9 -567.8 -567.7 -567.6 -567.5 -567.4 -567.3 -567.2 -567.1 -567 
+  Bin 433: -567 -566.9 -566.8 -566.7 -566.6 -566.5 -566.4 -566.3 -566.2 -566.1 -566 
+  Bin 434: -566 -565.9 -565.8 -565.7 -565.6 -565.5 -565.4 -565.3 -565.2 -565.1 -565 
+  Bin 435: -565 -564.9 -564.8 -564.7 -564.6 -564.5 -564.4 -564.3 -564.2 -564.1 -564 
+  Bin 436: -564 -563.9 -563.8 -563.7 -563.6 -563.5 -563.4 -563.3 -563.2 -563.1 -563 
+  Bin 437: -563 -562.9 -562.8 -562.7 -562.6 -562.5 -562.4 -562.3 -562.2 -562.1 -562 
+  Bin 438: -562 -561.9 -561.8 -561.7 -561.6 -561.5 -561.4 -561.3 -561.2 -561.1 -561 
+  Bin 439: -561 -560.9 -560.8 -560.7 -560.6 -560.5 -560.4 -560.3 -560.2 -560.1 -560 
+  Bin 440: -560 -559.9 -559.8 -559.7 -559.6 -559.5 -559.4 -559.3 -559.2 -559.1 -559 
+  Bin 441: -559 -558.9 -558.8 -558.7 -558.6 -558.5 -558.4 -558.3 -558.2 -558.1 -558 
+  Bin 442: -558 -557.9 -557.8 -557.7 -557.6 -557.5 -557.4 -557.3 -557.2 -557.1 -557 
+  Bin 443: -557 -556.9 -556.8 -556.7 -556.6 -556.5 -556.4 -556.3 -556.2 -556.1 -556 
+  Bin 444: -556 -555.9 -555.8 -555.7 -555.6 -555.5 -555.4 -555.3 -555.2 -555.1 -555 
+  Bin 445: -555 -554.9 -554.8 -554.7 -554.6 -554.5 -554.4 -554.3 -554.2 -554.1 -554 
+  Bin 446: -554 -553.9 -553.8 -553.7 -553.6 -553.5 -553.4 -553.3 -553.2 -553.1 -553 
+  Bin 447: -553 -552.9 -552.8 -552.7 -552.6 -552.5 -552.4 -552.3 -552.2 -552.1 -552 
+  Bin 448: -552 -551.9 -551.8 -551.7 -551.6 -551.5 -551.4 -551.3 -551.2 -551.1 -551 
+  Bin 449: -551 -550.9 -550.8 -550.7 -550.6 -550.5 -550.4 -550.3 -550.2 -550.1 -550 
+  Bin 450: -550 -549.9 -549.8 -549.7 -549.6 -549.5 -549.4 -549.3 -549.2 -549.1 -549 
+  Bin 451: -549 -548.9 -548.8 -548.7 -548.6 -548.5 -548.4 -548.3 -548.2 -548.1 -548 
+  Bin 452: -548 -547.9 -547.8 -547.7 -547.6 -547.5 -547.4 -547.3 -547.2 -547.1 -547 
+  Bin 453: -547 -546.9 -546.8 -546.7 -546.6 -546.5 -546.4 -546.3 -546.2 -546.1 -546 
+  Bin 454: -546 -545.9 -545.8 -545.7 -545.6 -545.5 -545.4 -545.3 -545.2 -545.1 -545 
+  Bin 455: -545 -544.9 -544.8 -544.7 -544.6 -544.5 -544.4 -544.3 -544.2 -544.1 -544 
+  Bin 456: -544 -543.9 -543.8 -543.7 -543.6 -543.5 -543.4 -543.3 -543.2 -543.1 -543 
+  Bin 457: -543 -542.9 -542.8 -542.7 -542.6 -542.5 -542.4 -542.3 -542.2 -542.1 -542 
+  Bin 458: -542 -541.9 -541.8 -541.7 -541.6 -541.5 -541.4 -541.3 -541.2 -541.1 -541 
+  Bin 459: -541 -540.9 -540.8 -540.7 -540.6 -540.5 -540.4 -540.3 -540.2 -540.1 -540 
+  Bin 460: -540 -539.9 -539.8 -539.7 -539.6 -539.5 -539.4 -539.3 -539.2 -539.1 -539 
+  Bin 461: -539 -538.9 -538.8 -538.7 -538.6 -538.5 -538.4 -538.3 -538.2 -538.1 -538 
+  Bin 462: -538 -537.9 -537.8 -537.7 -537.6 -537.5 -537.4 -537.3 -537.2 -537.1 -537 
+  Bin 463: -537 -536.9 -536.8 -536.7 -536.6 -536.5 -536.4 -536.3 -536.2 -536.1 -536 
+  Bin 464: -536 -535.9 -535.8 -535.7 -535.6 -535.5 -535.4 -535.3 -535.2 -535.1 -535 
+  Bin 465: -535 -534.9 -534.8 -534.7 -534.6 -534.5 -534.4 -534.3 -534.2 -534.1 -534 
+  Bin 466: -534 -533.9 -533.8 -533.7 -533.6 -533.5 -533.4 -533.3 -533.2 -533.1 -533 
+  Bin 467: -533 -532.9 -532.8 -532.7 -532.6 -532.5 -532.4 -532.3 -532.2 -532.1 -532 
+  Bin 468: -532 -531.9 -531.8 -531.7 -531.6 -531.5 -531.4 -531.3 -531.2 -531.1 -531 
+  Bin 469: -531 -530.9 -530.8 -530.7 -530.6 -530.5 -530.4 -530.3 -530.2 -530.1 -530 
+  Bin 470: -530 -529.9 -529.8 -529.7 -529.6 -529.5 -529.4 -529.3 -529.2 -529.1 -529 
+  Bin 471: -529 -528.9 -528.8 -528.7 -528.6 -528.5 -528.4 -528.3 -528.2 -528.1 -528 
+  Bin 472: -528 -527.9 -527.8 -527.7 -527.6 -527.5 -527.4 -527.3 -527.2 -527.1 -527 
+  Bin 473: -527 -526.9 -526.8 -526.7 -526.6 -526.5 -526.4 -526.3 -526.2 -526.1 -526 
+  Bin 474: -526 -525.9 -525.8 -525.7 -525.6 -525.5 -525.4 -525.3 -525.2 -525.1 -525 
+  Bin 475: -525 -524.9 -524.8 -524.7 -524.6 -524.5 -524.4 -524.3 -524.2 -524.1 -524 
+  Bin 476: -524 -523.9 -523.8 -523.7 -523.6 -523.5 -523.4 -523.3 -523.2 -523.1 -523 
+  Bin 477: -523 -522.9 -522.8 -522.7 -522.6 -522.5 -522.4 -522.3 -522.2 -522.1 -522 
+  Bin 478: -522 -521.9 -521.8 -521.7 -521.6 -521.5 -521.4 -521.3 -521.2 -521.1 -521 
+  Bin 479: -521 -520.9 -520.8 -520.7 -520.6 -520.5 -520.4 -520.3 -520.2 -520.1 -520 
+  Bin 480: -520 -519.9 -519.8 -519.7 -519.6 -519.5 -519.4 -519.3 -519.2 -519.1 -519 
+  Bin 481: -519 -518.9 -518.8 -518.7 -518.6 -518.5 -518.4 -518.3 -518.2 -518.1 -518 
+  Bin 482: -518 -517.9 -517.8 -517.7 -517.6 -517.5 -517.4 -517.3 -517.2 -517.1 -517 
+  Bin 483: -517 -516.9 -516.8 -516.7 -516.6 -516.5 -516.4 -516.3 -516.2 -516.1 -516 
+  Bin 484: -516 -515.9 -515.8 -515.7 -515.6 -515.5 -515.4 -515.3 -515.2 -515.1 -515 
+  Bin 485: -515 -514.9 -514.8 -514.7 -514.6 -514.5 -514.4 -514.3 -514.2 -514.1 -514 
+  Bin 486: -514 -513.9 -513.8 -513.7 -513.6 -513.5 -513.4 -513.3 -513.2 -513.1 -513 
+  Bin 487: -513 -512.9 -512.8 -512.7 -512.6 -512.5 -512.4 -512.3 -512.2 -512.1 -512 
+  Bin 488: -512 -511.9 -511.8 -511.7 -511.6 -511.5 -511.4 -511.3 -511.2 -511.1 -511 
+  Bin 489: -511 -510.9 -510.8 -510.7 -510.6 -510.5 -510.4 -510.3 -510.2 -510.1 -510 
+  Bin 490: -510 -509.9 -509.8 -509.7 -509.6 -509.5 -509.4 -509.3 -509.2 -509.1 -509 
+  Bin 491: -509 -508.9 -508.8 -508.7 -508.6 -508.5 -508.4 -508.3 -508.2 -508.1 -508 
+  Bin 492: -508 -507.9 -507.8 -507.7 -507.6 -507.5 -507.4 -507.3 -507.2 -507.1 -507 
+  Bin 493: -507 -506.9 -506.8 -506.7 -506.6 -506.5 -506.4 -506.3 -506.2 -506.1 -506 
+  Bin 494: -506 -505.9 -505.8 -505.7 -505.6 -505.5 -505.4 -505.3 -505.2 -505.1 -505 
+  Bin 495: -505 -504.9 -504.8 -504.7 -504.6 -504.5 -504.4 -504.3 -504.2 -504.1 -504 
+  Bin 496: -504 -503.9 -503.8 -503.7 -503.6 -503.5 -503.4 -503.3 -503.2 -503.1 -503 
+  Bin 497: -503 -502.9 -502.8 -502.7 -502.6 -502.5 -502.4 -502.3 -502.2 -502.1 -502 
+  Bin 498: -502 -501.9 -501.8 -501.7 -501.6 -501.5 -501.4 -501.3 -501.2 -501.1 -501 
+  Bin 499: -501 -500.9 -500.8 -500.7 -500.6 -500.5 -500.4 -500.3 -500.2 -500.1 -500 
+  Bin 500: -500 -499.9 -499.8 -499.7 -499.6 -499.5 -499.4 -499.3 -499.2 -499.1 -499 
+  Bin 501: -499 -498.9 -498.8 -498.7 -498.6 -498.5 -498.4 -498.3 -498.2 -498.1 -498 
+  Bin 502: -498 -497.9 -497.8 -497.7 -497.6 -497.5 -497.4 -497.3 -497.2 -497.1 -497 
+  Bin 503: -497 -496.9 -496.8 -496.7 -496.6 -496.5 -496.4 -496.3 -496.2 -496.1 -496 
+  Bin 504: -496 -495.9 -495.8 -495.7 -495.6 -495.5 -495.4 -495.3 -495.2 -495.1 -495 
+  Bin 505: -495 -494.9 -494.8 -494.7 -494.6 -494.5 -494.4 -494.3 -494.2 -494.1 -494 
+  Bin 506: -494 -493.9 -493.8 -493.7 -493.6 -493.5 -493.4 -493.3 -493.2 -493.1 -493 
+  Bin 507: -493 -492.9 -492.8 -492.7 -492.6 -492.5 -492.4 -492.3 -492.2 -492.1 -492 
+  Bin 508: -492 -491.9 -491.8 -491.7 -491.6 -491.5 -491.4 -491.3 -491.2 -491.1 -491 
+  Bin 509: -491 -490.9 -490.8 -490.7 -490.6 -490.5 -490.4 -490.3 -490.2 -490.1 -490 
+  Bin 510: -490 -489.9 -489.8 -489.7 -489.6 -489.5 -489.4 -489.3 -489.2 -489.1 -489 
+  Bin 511: -489 -488.9 -488.8 -488.7 -488.6 -488.5 -488.4 -488.3 -488.2 -488.1 -488 
+  Bin 512: -488 -487.9 -487.8 -487.7 -487.6 -487.5 -487.4 -487.3 -487.2 -487.1 -487 
+  Bin 513: -487 -486.9 -486.8 -486.7 -486.6 -486.5 -486.4 -486.3 -486.2 -486.1 -486 
+  Bin 514: -486 -485.9 -485.8 -485.7 -485.6 -485.5 -485.4 -485.3 -485.2 -485.1 -485 
+  Bin 515: -485 -484.9 -484.8 -484.7 -484.6 -484.5 -484.4 -484.3 -484.2 -484.1 -484 
+  Bin 516: -484 -483.9 -483.8 -483.7 -483.6 -483.5 -483.4 -483.3 -483.2 -483.1 -483 
+  Bin 517: -483 -482.9 -482.8 -482.7 -482.6 -482.5 -482.4 -482.3 -482.2 -482.1 -482 
+  Bin 518: -482 -481.9 -481.8 -481.7 -481.6 -481.5 -481.4 -481.3 -481.2 -481.1 -481 
+  Bin 519: -481 -480.9 -480.8 -480.7 -480.6 -480.5 -480.4 -480.3 -480.2 -480.1 -480 
+  Bin 520: -480 -479.9 -479.8 -479.7 -479.6 -479.5 -479.4 -479.3 -479.2 -479.1 -479 
+  Bin 521: -479 -478.9 -478.8 -478.7 -478.6 -478.5 -478.4 -478.3 -478.2 -478.1 -478 
+  Bin 522: -478 -477.9 -477.8 -477.7 -477.6 -477.5 -477.4 -477.3 -477.2 -477.1 -477 
+  Bin 523: -477 -476.9 -476.8 -476.7 -476.6 -476.5 -476.4 -476.3 -476.2 -476.1 -476 
+  Bin 524: -476 -475.9 -475.8 -475.7 -475.6 -475.5 -475.4 -475.3 -475.2 -475.1 -475 
+  Bin 525: -475 -474.9 -474.8 -474.7 -474.6 -474.5 -474.4 -474.3 -474.2 -474.1 -474 
+  Bin 526: -474 -473.9 -473.8 -473.7 -473.6 -473.5 -473.4 -473.3 -473.2 -473.1 -473 
+  Bin 527: -473 -472.9 -472.8 -472.7 -472.6 -472.5 -472.4 -472.3 -472.2 -472.1 -472 
+  Bin 528: -472 -471.9 -471.8 -471.7 -471.6 -471.5 -471.4 -471.3 -471.2 -471.1 -471 
+  Bin 529: -471 -470.9 -470.8 -470.7 -470.6 -470.5 -470.4 -470.3 -470.2 -470.1 -470 
+  Bin 530: -470 -469.9 -469.8 -469.7 -469.6 -469.5 -469.4 -469.3 -469.2 -469.1 -469 
+  Bin 531: -469 -468.9 -468.8 -468.7 -468.6 -468.5 -468.4 -468.3 -468.2 -468.1 -468 
+  Bin 532: -468 -467.9 -467.8 -467.7 -467.6 -467.5 -467.4 -467.3 -467.2 -467.1 -467 
+  Bin 533: -467 -466.9 -466.8 -466.7 -466.6 -466.5 -466.4 -466.3 -466.2 -466.1 -466 
+  Bin 534: -466 -465.9 -465.8 -465.7 -465.6 -465.5 -465.4 -465.3 -465.2 -465.1 -465 
+  Bin 535: -465 -464.9 -464.8 -464.7 -464.6 -464.5 -464.4 -464.3 -464.2 -464.1 -464 
+  Bin 536: -464 -463.9 -463.8 -463.7 -463.6 -463.5 -463.4 -463.3 -463.2 -463.1 -463 
+  Bin 537: -463 -462.9 -462.8 -462.7 -462.6 -462.5 -462.4 -462.3 -462.2 -462.1 -462 
+  Bin 538: -462 -461.9 -461.8 -461.7 -461.6 -461.5 -461.4 -461.3 -461.2 -461.1 -461 
+  Bin 539: -461 -460.9 -460.8 -460.7 -460.6 -460.5 -460.4 -460.3 -460.2 -460.1 -460 
+  Bin 540: -460 -459.9 -459.8 -459.7 -459.6 -459.5 -459.4 -459.3 -459.2 -459.1 -459 
+  Bin 541: -459 -458.9 -458.8 -458.7 -458.6 -458.5 -458.4 -458.3 -458.2 -458.1 -458 
+  Bin 542: -458 -457.9 -457.8 -457.7 -457.6 -457.5 -457.4 -457.3 -457.2 -457.1 -457 
+  Bin 543: -457 -456.9 -456.8 -456.7 -456.6 -456.5 -456.4 -456.3 -456.2 -456.1 -456 
+  Bin 544: -456 -455.9 -455.8 -455.7 -455.6 -455.5 -455.4 -455.3 -455.2 -455.1 -455 
+  Bin 545: -455 -454.9 -454.8 -454.7 -454.6 -454.5 -454.4 -454.3 -454.2 -454.1 -454 
+  Bin 546: -454 -453.9 -453.8 -453.7 -453.6 -453.5 -453.4 -453.3 -453.2 -453.1 -453 
+  Bin 547: -453 -452.9 -452.8 -452.7 -452.6 -452.5 -452.4 -452.3 -452.2 -452.1 -452 
+  Bin 548: -452 -451.9 -451.8 -451.7 -451.6 -451.5 -451.4 -451.3 -451.2 -451.1 -451 
+  Bin 549: -451 -450.9 -450.8 -450.7 -450.6 -450.5 -450.4 -450.3 -450.2 -450.1 -450 
+  Bin 550: -450 -449.9 -449.8 -449.7 -449.6 -449.5 -449.4 -449.3 -449.2 -449.1 -449 
+  Bin 551: -449 -448.9 -448.8 -448.7 -448.6 -448.5 -448.4 -448.3 -448.2 -448.1 -448 
+  Bin 552: -448 -447.9 -447.8 -447.7 -447.6 -447.5 -447.4 -447.3 -447.2 -447.1 -447 
+  Bin 553: -447 -446.9 -446.8 -446.7 -446.6 -446.5 -446.4 -446.3 -446.2 -446.1 -446 
+  Bin 554: -446 -445.9 -445.8 -445.7 -445.6 -445.5 -445.4 -445.3 -445.2 -445.1 -445 
+  Bin 555: -445 -444.9 -444.8 -444.7 -444.6 -444.5 -444.4 -444.3 -444.2 -444.1 -444 
+  Bin 556: -444 -443.9 -443.8 -443.7 -443.6 -443.5 -443.4 -443.3 -443.2 -443.1 -443 
+  Bin 557: -443 -442.9 -442.8 -442.7 -442.6 -442.5 -442.4 -442.3 -442.2 -442.1 -442 
+  Bin 558: -442 -441.9 -441.8 -441.7 -441.6 -441.5 -441.4 -441.3 -441.2 -441.1 -441 
+  Bin 559: -441 -440.9 -440.8 -440.7 -440.6 -440.5 -440.4 -440.3 -440.2 -440.1 -440 
+  Bin 560: -440 -439.9 -439.8 -439.7 -439.6 -439.5 -439.4 -439.3 -439.2 -439.1 -439 
+  Bin 561: -439 -438.9 -438.8 -438.7 -438.6 -438.5 -438.4 -438.3 -438.2 -438.1 -438 
+  Bin 562: -438 -437.9 -437.8 -437.7 -437.6 -437.5 -437.4 -437.3 -437.2 -437.1 -437 
+  Bin 563: -437 -436.9 -436.8 -436.7 -436.6 -436.5 -436.4 -436.3 -436.2 -436.1 -436 
+  Bin 564: -436 -435.9 -435.8 -435.7 -435.6 -435.5 -435.4 -435.3 -435.2 -435.1 -435 
+  Bin 565: -435 -434.9 -434.8 -434.7 -434.6 -434.5 -434.4 -434.3 -434.2 -434.1 -434 
+  Bin 566: -434 -433.9 -433.8 -433.7 -433.6 -433.5 -433.4 -433.3 -433.2 -433.1 -433 
+  Bin 567: -433 -432.9 -432.8 -432.7 -432.6 -432.5 -432.4 -432.3 -432.2 -432.1 -432 
+  Bin 568: -432 -431.9 -431.8 -431.7 -431.6 -431.5 -431.4 -431.3 -431.2 -431.1 -431 
+  Bin 569: -431 -430.9 -430.8 -430.7 -430.6 -430.5 -430.4 -430.3 -430.2 -430.1 -430 
+  Bin 570: -430 -429.9 -429.8 -429.7 -429.6 -429.5 -429.4 -429.3 -429.2 -429.1 -429 
+  Bin 571: -429 -428.9 -428.8 -428.7 -428.6 -428.5 -428.4 -428.3 -428.2 -428.1 -428 
+  Bin 572: -428 -427.9 -427.8 -427.7 -427.6 -427.5 -427.4 -427.3 -427.2 -427.1 -427 
+  Bin 573: -427 -426.9 -426.8 -426.7 -426.6 -426.5 -426.4 -426.3 -426.2 -426.1 -426 
+  Bin 574: -426 -425.9 -425.8 -425.7 -425.6 -425.5 -425.4 -425.3 -425.2 -425.1 -425 
+  Bin 575: -425 -424.9 -424.8 -424.7 -424.6 -424.5 -424.4 -424.3 -424.2 -424.1 -424 
+  Bin 576: -424 -423.9 -423.8 -423.7 -423.6 -423.5 -423.4 -423.3 -423.2 -423.1 -423 
+  Bin 577: -423 -422.9 -422.8 -422.7 -422.6 -422.5 -422.4 -422.3 -422.2 -422.1 -422 
+  Bin 578: -422 -421.9 -421.8 -421.7 -421.6 -421.5 -421.4 -421.3 -421.2 -421.1 -421 
+  Bin 579: -421 -420.9 -420.8 -420.7 -420.6 -420.5 -420.4 -420.3 -420.2 -420.1 -420 
+  Bin 580: -420 -419.9 -419.8 -419.7 -419.6 -419.5 -419.4 -419.3 -419.2 -419.1 -419 
+  Bin 581: -419 -418.9 -418.8 -418.7 -418.6 -418.5 -418.4 -418.3 -418.2 -418.1 -418 
+  Bin 582: -418 -417.9 -417.8 -417.7 -417.6 -417.5 -417.4 -417.3 -417.2 -417.1 -417 
+  Bin 583: -417 -416.9 -416.8 -416.7 -416.6 -416.5 -416.4 -416.3 -416.2 -416.1 -416 
+  Bin 584: -416 -415.9 -415.8 -415.7 -415.6 -415.5 -415.4 -415.3 -415.2 -415.1 -415 
+  Bin 585: -415 -414.9 -414.8 -414.7 -414.6 -414.5 -414.4 -414.3 -414.2 -414.1 -414 
+  Bin 586: -414 -413.9 -413.8 -413.7 -413.6 -413.5 -413.4 -413.3 -413.2 -413.1 -413 
+  Bin 587: -413 -412.9 -412.8 -412.7 -412.6 -412.5 -412.4 -412.3 -412.2 -412.1 -412 
+  Bin 588: -412 -411.9 -411.8 -411.7 -411.6 -411.5 -411.4 -411.3 -411.2 -411.1 -411 
+  Bin 589: -411 -410.9 -410.8 -410.7 -410.6 -410.5 -410.4 -410.3 -410.2 -410.1 -410 
+  Bin 590: -410 -409.9 -409.8 -409.7 -409.6 -409.5 -409.4 -409.3 -409.2 -409.1 -409 
+  Bin 591: -409 -408.9 -408.8 -408.7 -408.6 -408.5 -408.4 -408.3 -408.2 -408.1 -408 
+  Bin 592: -408 -407.9 -407.8 -407.7 -407.6 -407.5 -407.4 -407.3 -407.2 -407.1 -407 
+  Bin 593: -407 -406.9 -406.8 -406.7 -406.6 -406.5 -406.4 -406.3 -406.2 -406.1 -406 
+  Bin 594: -406 -405.9 -405.8 -405.7 -405.6 -405.5 -405.4 -405.3 -405.2 -405.1 -405 
+  Bin 595: -405 -404.9 -404.8 -404.7 -404.6 -404.5 -404.4 -404.3 -404.2 -404.1 -404 
+  Bin 596: -404 -403.9 -403.8 -403.7 -403.6 -403.5 -403.4 -403.3 -403.2 -403.1 -403 
+  Bin 597: -403 -402.9 -402.8 -402.7 -402.6 -402.5 -402.4 -402.3 -402.2 -402.1 -402 
+  Bin 598: -402 -401.9 -401.8 -401.7 -401.6 -401.5 -401.4 -401.3 -401.2 -401.1 -401 
+  Bin 599: -401 -400.9 -400.8 -400.7 -400.6 -400.5 -400.4 -400.3 -400.2 -400.1 -400 
+  Bin 600: -400 -399.9 -399.8 -399.7 -399.6 -399.5 -399.4 -399.3 -399.2 -399.1 -399 
+  Bin 601: -399 -398.9 -398.8 -398.7 -398.6 -398.5 -398.4 -398.3 -398.2 -398.1 -398 
+  Bin 602: -398 -397.9 -397.8 -397.7 -397.6 -397.5 -397.4 -397.3 -397.2 -397.1 -397 
+  Bin 603: -397 -396.9 -396.8 -396.7 -396.6 -396.5 -396.4 -396.3 -396.2 -396.1 -396 
+  Bin 604: -396 -395.9 -395.8 -395.7 -395.6 -395.5 -395.4 -395.3 -395.2 -395.1 -395 
+  Bin 605: -395 -394.9 -394.8 -394.7 -394.6 -394.5 -394.4 -394.3 -394.2 -394.1 -394 
+  Bin 606: -394 -393.9 -393.8 -393.7 -393.6 -393.5 -393.4 -393.3 -393.2 -393.1 -393 
+  Bin 607: -393 -392.9 -392.8 -392.7 -392.6 -392.5 -392.4 -392.3 -392.2 -392.1 -392 
+  Bin 608: -392 -391.9 -391.8 -391.7 -391.6 -391.5 -391.4 -391.3 -391.2 -391.1 -391 
+  Bin 609: -391 -390.9 -390.8 -390.7 -390.6 -390.5 -390.4 -390.3 -390.2 -390.1 -390 
+  Bin 610: -390 -389.9 -389.8 -389.7 -389.6 -389.5 -389.4 -389.3 -389.2 -389.1 -389 
+  Bin 611: -389 -388.9 -388.8 -388.7 -388.6 -388.5 -388.4 -388.3 -388.2 -388.1 -388 
+  Bin 612: -388 -387.9 -387.8 -387.7 -387.6 -387.5 -387.4 -387.3 -387.2 -387.1 -387 
+  Bin 613: -387 -386.9 -386.8 -386.7 -386.6 -386.5 -386.4 -386.3 -386.2 -386.1 -386 
+  Bin 614: -386 -385.9 -385.8 -385.7 -385.6 -385.5 -385.4 -385.3 -385.2 -385.1 -385 
+  Bin 615: -385 -384.9 -384.8 -384.7 -384.6 -384.5 -384.4 -384.3 -384.2 -384.1 -384 
+  Bin 616: -384 -383.9 -383.8 -383.7 -383.6 -383.5 -383.4 -383.3 -383.2 -383.1 -383 
+  Bin 617: -383 -382.9 -382.8 -382.7 -382.6 -382.5 -382.4 -382.3 -382.2 -382.1 -382 
+  Bin 618: -382 -381.9 -381.8 -381.7 -381.6 -381.5 -381.4 -381.3 -381.2 -381.1 -381 
+  Bin 619: -381 -380.9 -380.8 -380.7 -380.6 -380.5 -380.4 -380.3 -380.2 -380.1 -380 
+  Bin 620: -380 -379.9 -379.8 -379.7 -379.6 -379.5 -379.4 -379.3 -379.2 -379.1 -379 
+  Bin 621: -379 -378.9 -378.8 -378.7 -378.6 -378.5 -378.4 -378.3 -378.2 -378.1 -378 
+  Bin 622: -378 -377.9 -377.8 -377.7 -377.6 -377.5 -377.4 -377.3 -377.2 -377.1 -377 
+  Bin 623: -377 -376.9 -376.8 -376.7 -376.6 -376.5 -376.4 -376.3 -376.2 -376.1 -376 
+  Bin 624: -376 -375.9 -375.8 -375.7 -375.6 -375.5 -375.4 -375.3 -375.2 -375.1 -375 
+  Bin 625: -375 -374.9 -374.8 -374.7 -374.6 -374.5 -374.4 -374.3 -374.2 -374.1 -374 
+  Bin 626: -374 -373.9 -373.8 -373.7 -373.6 -373.5 -373.4 -373.3 -373.2 -373.1 -373 
+  Bin 627: -373 -372.9 -372.8 -372.7 -372.6 -372.5 -372.4 -372.3 -372.2 -372.1 -372 
+  Bin 628: -372 -371.9 -371.8 -371.7 -371.6 -371.5 -371.4 -371.3 -371.2 -371.1 -371 
+  Bin 629: -371 -370.9 -370.8 -370.7 -370.6 -370.5 -370.4 -370.3 -370.2 -370.1 -370 
+  Bin 630: -370 -369.9 -369.8 -369.7 -369.6 -369.5 -369.4 -369.3 -369.2 -369.1 -369 
+  Bin 631: -369 -368.9 -368.8 -368.7 -368.6 -368.5 -368.4 -368.3 -368.2 -368.1 -368 
+  Bin 632: -368 -367.9 -367.8 -367.7 -367.6 -367.5 -367.4 -367.3 -367.2 -367.1 -367 
+  Bin 633: -367 -366.9 -366.8 -366.7 -366.6 -366.5 -366.4 -366.3 -366.2 -366.1 -366 
+  Bin 634: -366 -365.9 -365.8 -365.7 -365.6 -365.5 -365.4 -365.3 -365.2 -365.1 -365 
+  Bin 635: -365 -364.9 -364.8 -364.7 -364.6 -364.5 -364.4 -364.3 -364.2 -364.1 -364 
+  Bin 636: -364 -363.9 -363.8 -363.7 -363.6 -363.5 -363.4 -363.3 -363.2 -363.1 -363 
+  Bin 637: -363 -362.9 -362.8 -362.7 -362.6 -362.5 -362.4 -362.3 -362.2 -362.1 -362 
+  Bin 638: -362 -361.9 -361.8 -361.7 -361.6 -361.5 -361.4 -361.3 -361.2 -361.1 -361 
+  Bin 639: -361 -360.9 -360.8 -360.7 -360.6 -360.5 -360.4 -360.3 -360.2 -360.1 -360 
+  Bin 640: -360 -359.9 -359.8 -359.7 -359.6 -359.5 -359.4 -359.3 -359.2 -359.1 -359 
+  Bin 641: -359 -358.9 -358.8 -358.7 -358.6 -358.5 -358.4 -358.3 -358.2 -358.1 -358 
+  Bin 642: -358 -357.9 -357.8 -357.7 -357.6 -357.5 -357.4 -357.3 -357.2 -357.1 -357 
+  Bin 643: -357 -356.9 -356.8 -356.7 -356.6 -356.5 -356.4 -356.3 -356.2 -356.1 -356 
+  Bin 644: -356 -355.9 -355.8 -355.7 -355.6 -355.5 -355.4 -355.3 -355.2 -355.1 -355 
+  Bin 645: -355 -354.9 -354.8 -354.7 -354.6 -354.5 -354.4 -354.3 -354.2 -354.1 -354 
+  Bin 646: -354 -353.9 -353.8 -353.7 -353.6 -353.5 -353.4 -353.3 -353.2 -353.1 -353 
+  Bin 647: -353 -352.9 -352.8 -352.7 -352.6 -352.5 -352.4 -352.3 -352.2 -352.1 -352 
+  Bin 648: -352 -351.9 -351.8 -351.7 -351.6 -351.5 -351.4 -351.3 -351.2 -351.1 -351 
+  Bin 649: -351 -350.9 -350.8 -350.7 -350.6 -350.5 -350.4 -350.3 -350.2 -350.1 -350 
+  Bin 650: -350 -349.9 -349.8 -349.7 -349.6 -349.5 -349.4 -349.3 -349.2 -349.1 -349 
+  Bin 651: -349 -348.9 -348.8 -348.7 -348.6 -348.5 -348.4 -348.3 -348.2 -348.1 -348 
+  Bin 652: -348 -347.9 -347.8 -347.7 -347.6 -347.5 -347.4 -347.3 -347.2 -347.1 -347 
+  Bin 653: -347 -346.9 -346.8 -346.7 -346.6 -346.5 -346.4 -346.3 -346.2 -346.1 -346 
+  Bin 654: -346 -345.9 -345.8 -345.7 -345.6 -345.5 -345.4 -345.3 -345.2 -345.1 -345 
+  Bin 655: -345 -344.9 -344.8 -344.7 -344.6 -344.5 -344.4 -344.3 -344.2 -344.1 -344 
+  Bin 656: -344 -343.9 -343.8 -343.7 -343.6 -343.5 -343.4 -343.3 -343.2 -343.1 -343 
+  Bin 657: -343 -342.9 -342.8 -342.7 -342.6 -342.5 -342.4 -342.3 -342.2 -342.1 -342 
+  Bin 658: -342 -341.9 -341.8 -341.7 -341.6 -341.5 -341.4 -341.3 -341.2 -341.1 -341 
+  Bin 659: -341 -340.9 -340.8 -340.7 -340.6 -340.5 -340.4 -340.3 -340.2 -340.1 -340 
+  Bin 660: -340 -339.9 -339.8 -339.7 -339.6 -339.5 -339.4 -339.3 -339.2 -339.1 -339 
+  Bin 661: -339 -338.9 -338.8 -338.7 -338.6 -338.5 -338.4 -338.3 -338.2 -338.1 -338 
+  Bin 662: -338 -337.9 -337.8 -337.7 -337.6 -337.5 -337.4 -337.3 -337.2 -337.1 -337 
+  Bin 663: -337 -336.9 -336.8 -336.7 -336.6 -336.5 -336.4 -336.3 -336.2 -336.1 -336 
+  Bin 664: -336 -335.9 -335.8 -335.7 -335.6 -335.5 -335.4 -335.3 -335.2 -335.1 -335 
+  Bin 665: -335 -334.9 -334.8 -334.7 -334.6 -334.5 -334.4 -334.3 -334.2 -334.1 -334 
+  Bin 666: -334 -333.9 -333.8 -333.7 -333.6 -333.5 -333.4 -333.3 -333.2 -333.1 -333 
+  Bin 667: -333 -332.9 -332.8 -332.7 -332.6 -332.5 -332.4 -332.3 -332.2 -332.1 -332 
+  Bin 668: -332 -331.9 -331.8 -331.7 -331.6 -331.5 -331.4 -331.3 -331.2 -331.1 -331 
+  Bin 669: -331 -330.9 -330.8 -330.7 -330.6 -330.5 -330.4 -330.3 -330.2 -330.1 -330 
+  Bin 670: -330 -329.9 -329.8 -329.7 -329.6 -329.5 -329.4 -329.3 -329.2 -329.1 -329 
+  Bin 671: -329 -328.9 -328.8 -328.7 -328.6 -328.5 -328.4 -328.3 -328.2 -328.1 -328 
+  Bin 672: -328 -327.9 -327.8 -327.7 -327.6 -327.5 -327.4 -327.3 -327.2 -327.1 -327 
+  Bin 673: -327 -326.9 -326.8 -326.7 -326.6 -326.5 -326.4 -326.3 -326.2 -326.1 -326 
+  Bin 674: -326 -325.9 -325.8 -325.7 -325.6 -325.5 -325.4 -325.3 -325.2 -325.1 -325 
+  Bin 675: -325 -324.9 -324.8 -324.7 -324.6 -324.5 -324.4 -324.3 -324.2 -324.1 -324 
+  Bin 676: -324 -323.9 -323.8 -323.7 -323.6 -323.5 -323.4 -323.3 -323.2 -323.1 -323 
+  Bin 677: -323 -322.9 -322.8 -322.7 -322.6 -322.5 -322.4 -322.3 -322.2 -322.1 -322 
+  Bin 678: -322 -321.9 -321.8 -321.7 -321.6 -321.5 -321.4 -321.3 -321.2 -321.1 -321 
+  Bin 679: -321 -320.9 -320.8 -320.7 -320.6 -320.5 -320.4 -320.3 -320.2 -320.1 -320 
+  Bin 680: -320 -319.9 -319.8 -319.7 -319.6 -319.5 -319.4 -319.3 -319.2 -319.1 -319 
+  Bin 681: -319 -318.9 -318.8 -318.7 -318.6 -318.5 -318.4 -318.3 -318.2 -318.1 -318 
+  Bin 682: -318 -317.9 -317.8 -317.7 -317.6 -317.5 -317.4 -317.3 -317.2 -317.1 -317 
+  Bin 683: -317 -316.9 -316.8 -316.7 -316.6 -316.5 -316.4 -316.3 -316.2 -316.1 -316 
+  Bin 684: -316 -315.9 -315.8 -315.7 -315.6 -315.5 -315.4 -315.3 -315.2 -315.1 -315 
+  Bin 685: -315 -314.9 -314.8 -314.7 -314.6 -314.5 -314.4 -314.3 -314.2 -314.1 -314 
+  Bin 686: -314 -313.9 -313.8 -313.7 -313.6 -313.5 -313.4 -313.3 -313.2 -313.1 -313 
+  Bin 687: -313 -312.9 -312.8 -312.7 -312.6 -312.5 -312.4 -312.3 -312.2 -312.1 -312 
+  Bin 688: -312 -311.9 -311.8 -311.7 -311.6 -311.5 -311.4 -311.3 -311.2 -311.1 -311 
+  Bin 689: -311 -310.9 -310.8 -310.7 -310.6 -310.5 -310.4 -310.3 -310.2 -310.1 -310 
+  Bin 690: -310 -309.9 -309.8 -309.7 -309.6 -309.5 -309.4 -309.3 -309.2 -309.1 -309 
+  Bin 691: -309 -308.9 -308.8 -308.7 -308.6 -308.5 -308.4 -308.3 -308.2 -308.1 -308 
+  Bin 692: -308 -307.9 -307.8 -307.7 -307.6 -307.5 -307.4 -307.3 -307.2 -307.1 -307 
+  Bin 693: -307 -306.9 -306.8 -306.7 -306.6 -306.5 -306.4 -306.3 -306.2 -306.1 -306 
+  Bin 694: -306 -305.9 -305.8 -305.7 -305.6 -305.5 -305.4 -305.3 -305.2 -305.1 -305 
+  Bin 695: -305 -304.9 -304.8 -304.7 -304.6 -304.5 -304.4 -304.3 -304.2 -304.1 -304 
+  Bin 696: -304 -303.9 -303.8 -303.7 -303.6 -303.5 -303.4 -303.3 -303.2 -303.1 -303 
+  Bin 697: -303 -302.9 -302.8 -302.7 -302.6 -302.5 -302.4 -302.3 -302.2 -302.1 -302 
+  Bin 698: -302 -301.9 -301.8 -301.7 -301.6 -301.5 -301.4 -301.3 -301.2 -301.1 -301 
+  Bin 699: -301 -300.9 -300.8 -300.7 -300.6 -300.5 -300.4 -300.3 -300.2 -300.1 -300 
+  Bin 700: -300 -299.9 -299.8 -299.7 -299.6 -299.5 -299.4 -299.3 -299.2 -299.1 -299 
+  Bin 701: -299 -298.9 -298.8 -298.7 -298.6 -298.5 -298.4 -298.3 -298.2 -298.1 -298 
+  Bin 702: -298 -297.9 -297.8 -297.7 -297.6 -297.5 -297.4 -297.3 -297.2 -297.1 -297 
+  Bin 703: -297 -296.9 -296.8 -296.7 -296.6 -296.5 -296.4 -296.3 -296.2 -296.1 -296 
+  Bin 704: -296 -295.9 -295.8 -295.7 -295.6 -295.5 -295.4 -295.3 -295.2 -295.1 -295 
+  Bin 705: -295 -294.9 -294.8 -294.7 -294.6 -294.5 -294.4 -294.3 -294.2 -294.1 -294 
+  Bin 706: -294 -293.9 -293.8 -293.7 -293.6 -293.5 -293.4 -293.3 -293.2 -293.1 -293 
+  Bin 707: -293 -292.9 -292.8 -292.7 -292.6 -292.5 -292.4 -292.3 -292.2 -292.1 -292 
+  Bin 708: -292 -291.9 -291.8 -291.7 -291.6 -291.5 -291.4 -291.3 -291.2 -291.1 -291 
+  Bin 709: -291 -290.9 -290.8 -290.7 -290.6 -290.5 -290.4 -290.3 -290.2 -290.1 -290 
+  Bin 710: -290 -289.9 -289.8 -289.7 -289.6 -289.5 -289.4 -289.3 -289.2 -289.1 -289 
+  Bin 711: -289 -288.9 -288.8 -288.7 -288.6 -288.5 -288.4 -288.3 -288.2 -288.1 -288 
+  Bin 712: -288 -287.9 -287.8 -287.7 -287.6 -287.5 -287.4 -287.3 -287.2 -287.1 -287 
+  Bin 713: -287 -286.9 -286.8 -286.7 -286.6 -286.5 -286.4 -286.3 -286.2 -286.1 -286 
+  Bin 714: -286 -285.9 -285.8 -285.7 -285.6 -285.5 -285.4 -285.3 -285.2 -285.1 -285 
+  Bin 715: -285 -284.9 -284.8 -284.7 -284.6 -284.5 -284.4 -284.3 -284.2 -284.1 -284 
+  Bin 716: -284 -283.9 -283.8 -283.7 -283.6 -283.5 -283.4 -283.3 -283.2 -283.1 -283 
+  Bin 717: -283 -282.9 -282.8 -282.7 -282.6 -282.5 -282.4 -282.3 -282.2 -282.1 -282 
+  Bin 718: -282 -281.9 -281.8 -281.7 -281.6 -281.5 -281.4 -281.3 -281.2 -281.1 -281 
+  Bin 719: -281 -280.9 -280.8 -280.7 -280.6 -280.5 -280.4 -280.3 -280.2 -280.1 -280 
+  Bin 720: -280 -279.9 -279.8 -279.7 -279.6 -279.5 -279.4 -279.3 -279.2 -279.1 -279 
+  Bin 721: -279 -278.9 -278.8 -278.7 -278.6 -278.5 -278.4 -278.3 -278.2 -278.1 -278 
+  Bin 722: -278 -277.9 -277.8 -277.7 -277.6 -277.5 -277.4 -277.3 -277.2 -277.1 -277 
+  Bin 723: -277 -276.9 -276.8 -276.7 -276.6 -276.5 -276.4 -276.3 -276.2 -276.1 -276 
+  Bin 724: -276 -275.9 -275.8 -275.7 -275.6 -275.5 -275.4 -275.3 -275.2 -275.1 -275 
+  Bin 725: -275 -274.9 -274.8 -274.7 -274.6 -274.5 -274.4 -274.3 -274.2 -274.1 -274 
+  Bin 726: -274 -273.9 -273.8 -273.7 -273.6 -273.5 -273.4 -273.3 -273.2 -273.1 -273 
+  Bin 727: -273 -272.9 -272.8 -272.7 -272.6 -272.5 -272.4 -272.3 -272.2 -272.1 -272 
+  Bin 728: -272 -271.9 -271.8 -271.7 -271.6 -271.5 -271.4 -271.3 -271.2 -271.1 -271 
+  Bin 729: -271 -270.9 -270.8 -270.7 -270.6 -270.5 -270.4 -270.3 -270.2 -270.1 -270 
+  Bin 730: -270 -269.9 -269.8 -269.7 -269.6 -269.5 -269.4 -269.3 -269.2 -269.1 -269 
+  Bin 731: -269 -268.9 -268.8 -268.7 -268.6 -268.5 -268.4 -268.3 -268.2 -268.1 -268 
+  Bin 732: -268 -267.9 -267.8 -267.7 -267.6 -267.5 -267.4 -267.3 -267.2 -267.1 -267 
+  Bin 733: -267 -266.9 -266.8 -266.7 -266.6 -266.5 -266.4 -266.3 -266.2 -266.1 -266 
+  Bin 734: -266 -265.9 -265.8 -265.7 -265.6 -265.5 -265.4 -265.3 -265.2 -265.1 -265 
+  Bin 735: -265 -264.9 -264.8 -264.7 -264.6 -264.5 -264.4 -264.3 -264.2 -264.1 -264 
+  Bin 736: -264 -263.9 -263.8 -263.7 -263.6 -263.5 -263.4 -263.3 -263.2 -263.1 -263 
+  Bin 737: -263 -262.9 -262.8 -262.7 -262.6 -262.5 -262.4 -262.3 -262.2 -262.1 -262 
+  Bin 738: -262 -261.9 -261.8 -261.7 -261.6 -261.5 -261.4 -261.3 -261.2 -261.1 -261 
+  Bin 739: -261 -260.9 -260.8 -260.7 -260.6 -260.5 -260.4 -260.3 -260.2 -260.1 -260 
+  Bin 740: -260 -259.9 -259.8 -259.7 -259.6 -259.5 -259.4 -259.3 -259.2 -259.1 -259 
+  Bin 741: -259 -258.9 -258.8 -258.7 -258.6 -258.5 -258.4 -258.3 -258.2 -258.1 -258 
+  Bin 742: -258 -257.9 -257.8 -257.7 -257.6 -257.5 -257.4 -257.3 -257.2 -257.1 -257 
+  Bin 743: -257 -256.9 -256.8 -256.7 -256.6 -256.5 -256.4 -256.3 -256.2 -256.1 -256 
+  Bin 744: -256 -255.9 -255.8 -255.7 -255.6 -255.5 -255.4 -255.3 -255.2 -255.1 -255 
+  Bin 745: -255 -254.9 -254.8 -254.7 -254.6 -254.5 -254.4 -254.3 -254.2 -254.1 -254 
+  Bin 746: -254 -253.9 -253.8 -253.7 -253.6 -253.5 -253.4 -253.3 -253.2 -253.1 -253 
+  Bin 747: -253 -252.9 -252.8 -252.7 -252.6 -252.5 -252.4 -252.3 -252.2 -252.1 -252 
+  Bin 748: -252 -251.9 -251.8 -251.7 -251.6 -251.5 -251.4 -251.3 -251.2 -251.1 -251 
+  Bin 749: -251 -250.9 -250.8 -250.7 -250.6 -250.5 -250.4 -250.3 -250.2 -250.1 -250 
+  Bin 750: -250 -249.9 -249.8 -249.7 -249.6 -249.5 -249.4 -249.3 -249.2 -249.1 -249 
+  Bin 751: -249 -248.9 -248.8 -248.7 -248.6 -248.5 -248.4 -248.3 -248.2 -248.1 -248 
+  Bin 752: -248 -247.9 -247.8 -247.7 -247.6 -247.5 -247.4 -247.3 -247.2 -247.1 -247 
+  Bin 753: -247 -246.9 -246.8 -246.7 -246.6 -246.5 -246.4 -246.3 -246.2 -246.1 -246 
+  Bin 754: -246 -245.9 -245.8 -245.7 -245.6 -245.5 -245.4 -245.3 -245.2 -245.1 -245 
+  Bin 755: -245 -244.9 -244.8 -244.7 -244.6 -244.5 -244.4 -244.3 -244.2 -244.1 -244 
+  Bin 756: -244 -243.9 -243.8 -243.7 -243.6 -243.5 -243.4 -243.3 -243.2 -243.1 -243 
+  Bin 757: -243 -242.9 -242.8 -242.7 -242.6 -242.5 -242.4 -242.3 -242.2 -242.1 -242 
+  Bin 758: -242 -241.9 -241.8 -241.7 -241.6 -241.5 -241.4 -241.3 -241.2 -241.1 -241 
+  Bin 759: -241 -240.9 -240.8 -240.7 -240.6 -240.5 -240.4 -240.3 -240.2 -240.1 -240 
+  Bin 760: -240 -239.9 -239.8 -239.7 -239.6 -239.5 -239.4 -239.3 -239.2 -239.1 -239 
+  Bin 761: -239 -238.9 -238.8 -238.7 -238.6 -238.5 -238.4 -238.3 -238.2 -238.1 -238 
+  Bin 762: -238 -237.9 -237.8 -237.7 -237.6 -237.5 -237.4 -237.3 -237.2 -237.1 -237 
+  Bin 763: -237 -236.9 -236.8 -236.7 -236.6 -236.5 -236.4 -236.3 -236.2 -236.1 -236 
+  Bin 764: -236 -235.9 -235.8 -235.7 -235.6 -235.5 -235.4 -235.3 -235.2 -235.1 -235 
+  Bin 765: -235 -234.9 -234.8 -234.7 -234.6 -234.5 -234.4 -234.3 -234.2 -234.1 -234 
+  Bin 766: -234 -233.9 -233.8 -233.7 -233.6 -233.5 -233.4 -233.3 -233.2 -233.1 -233 
+  Bin 767: -233 -232.9 -232.8 -232.7 -232.6 -232.5 -232.4 -232.3 -232.2 -232.1 -232 
+  Bin 768: -232 -231.9 -231.8 -231.7 -231.6 -231.5 -231.4 -231.3 -231.2 -231.1 -231 
+  Bin 769: -231 -230.9 -230.8 -230.7 -230.6 -230.5 -230.4 -230.3 -230.2 -230.1 -230 
+  Bin 770: -230 -229.9 -229.8 -229.7 -229.6 -229.5 -229.4 -229.3 -229.2 -229.1 -229 
+  Bin 771: -229 -228.9 -228.8 -228.7 -228.6 -228.5 -228.4 -228.3 -228.2 -228.1 -228 
+  Bin 772: -228 -227.9 -227.8 -227.7 -227.6 -227.5 -227.4 -227.3 -227.2 -227.1 -227 
+  Bin 773: -227 -226.9 -226.8 -226.7 -226.6 -226.5 -226.4 -226.3 -226.2 -226.1 -226 
+  Bin 774: -226 -225.9 -225.8 -225.7 -225.6 -225.5 -225.4 -225.3 -225.2 -225.1 -225 
+  Bin 775: -225 -224.9 -224.8 -224.7 -224.6 -224.5 -224.4 -224.3 -224.2 -224.1 -224 
+  Bin 776: -224 -223.9 -223.8 -223.7 -223.6 -223.5 -223.4 -223.3 -223.2 -223.1 -223 
+  Bin 777: -223 -222.9 -222.8 -222.7 -222.6 -222.5 -222.4 -222.3 -222.2 -222.1 -222 
+  Bin 778: -222 -221.9 -221.8 -221.7 -221.6 -221.5 -221.4 -221.3 -221.2 -221.1 -221 
+  Bin 779: -221 -220.9 -220.8 -220.7 -220.6 -220.5 -220.4 -220.3 -220.2 -220.1 -220 
+  Bin 780: -220 -219.9 -219.8 -219.7 -219.6 -219.5 -219.4 -219.3 -219.2 -219.1 -219 
+  Bin 781: -219 -218.9 -218.8 -218.7 -218.6 -218.5 -218.4 -218.3 -218.2 -218.1 -218 
+  Bin 782: -218 -217.9 -217.8 -217.7 -217.6 -217.5 -217.4 -217.3 -217.2 -217.1 -217 
+  Bin 783: -217 -216.9 -216.8 -216.7 -216.6 -216.5 -216.4 -216.3 -216.2 -216.1 -216 
+  Bin 784: -216 -215.9 -215.8 -215.7 -215.6 -215.5 -215.4 -215.3 -215.2 -215.1 -215 
+  Bin 785: -215 -214.9 -214.8 -214.7 -214.6 -214.5 -214.4 -214.3 -214.2 -214.1 -214 
+  Bin 786: -214 -213.9 -213.8 -213.7 -213.6 -213.5 -213.4 -213.3 -213.2 -213.1 -213 
+  Bin 787: -213 -212.9 -212.8 -212.7 -212.6 -212.5 -212.4 -212.3 -212.2 -212.1 -212 
+  Bin 788: -212 -211.9 -211.8 -211.7 -211.6 -211.5 -211.4 -211.3 -211.2 -211.1 -211 
+  Bin 789: -211 -210.9 -210.8 -210.7 -210.6 -210.5 -210.4 -210.3 -210.2 -210.1 -210 
+  Bin 790: -210 -209.9 -209.8 -209.7 -209.6 -209.5 -209.4 -209.3 -209.2 -209.1 -209 
+  Bin 791: -209 -208.9 -208.8 -208.7 -208.6 -208.5 -208.4 -208.3 -208.2 -208.1 -208 
+  Bin 792: -208 -207.9 -207.8 -207.7 -207.6 -207.5 -207.4 -207.3 -207.2 -207.1 -207 
+  Bin 793: -207 -206.9 -206.8 -206.7 -206.6 -206.5 -206.4 -206.3 -206.2 -206.1 -206 
+  Bin 794: -206 -205.9 -205.8 -205.7 -205.6 -205.5 -205.4 -205.3 -205.2 -205.1 -205 
+  Bin 795: -205 -204.9 -204.8 -204.7 -204.6 -204.5 -204.4 -204.3 -204.2 -204.1 -204 
+  Bin 796: -204 -203.9 -203.8 -203.7 -203.6 -203.5 -203.4 -203.3 -203.2 -203.1 -203 
+  Bin 797: -203 -202.9 -202.8 -202.7 -202.6 -202.5 -202.4 -202.3 -202.2 -202.1 -202 
+  Bin 798: -202 -201.9 -201.8 -201.7 -201.6 -201.5 -201.4 -201.3 -201.2 -201.1 -201 
+  Bin 799: -201 -200.9 -200.8 -200.7 -200.6 -200.5 -200.4 -200.3 -200.2 -200.1 -200 
+  Bin 800: -200 -199.9 -199.8 -199.7 -199.6 -199.5 -199.4 -199.3 -199.2 -199.1 -199 
+  Bin 801: -199 -198.9 -198.8 -198.7 -198.6 -198.5 -198.4 -198.3 -198.2 -198.1 -198 
+  Bin 802: -198 -197.9 -197.8 -197.7 -197.6 -197.5 -197.4 -197.3 -197.2 -197.1 -197 
+  Bin 803: -197 -196.9 -196.8 -196.7 -196.6 -196.5 -196.4 -196.3 -196.2 -196.1 -196 
+  Bin 804: -196 -195.9 -195.8 -195.7 -195.6 -195.5 -195.4 -195.3 -195.2 -195.1 -195 
+  Bin 805: -195 -194.9 -194.8 -194.7 -194.6 -194.5 -194.4 -194.3 -194.2 -194.1 -194 
+  Bin 806: -194 -193.9 -193.8 -193.7 -193.6 -193.5 -193.4 -193.3 -193.2 -193.1 -193 
+  Bin 807: -193 -192.9 -192.8 -192.7 -192.6 -192.5 -192.4 -192.3 -192.2 -192.1 -192 
+  Bin 808: -192 -191.9 -191.8 -191.7 -191.6 -191.5 -191.4 -191.3 -191.2 -191.1 -191 
+  Bin 809: -191 -190.9 -190.8 -190.7 -190.6 -190.5 -190.4 -190.3 -190.2 -190.1 -190 
+  Bin 810: -190 -189.9 -189.8 -189.7 -189.6 -189.5 -189.4 -189.3 -189.2 -189.1 -189 
+  Bin 811: -189 -188.9 -188.8 -188.7 -188.6 -188.5 -188.4 -188.3 -188.2 -188.1 -188 
+  Bin 812: -188 -187.9 -187.8 -187.7 -187.6 -187.5 -187.4 -187.3 -187.2 -187.1 -187 
+  Bin 813: -187 -186.9 -186.8 -186.7 -186.6 -186.5 -186.4 -186.3 -186.2 -186.1 -186 
+  Bin 814: -186 -185.9 -185.8 -185.7 -185.6 -185.5 -185.4 -185.3 -185.2 -185.1 -185 
+  Bin 815: -185 -184.9 -184.8 -184.7 -184.6 -184.5 -184.4 -184.3 -184.2 -184.1 -184 
+  Bin 816: -184 -183.9 -183.8 -183.7 -183.6 -183.5 -183.4 -183.3 -183.2 -183.1 -183 
+  Bin 817: -183 -182.9 -182.8 -182.7 -182.6 -182.5 -182.4 -182.3 -182.2 -182.1 -182 
+  Bin 818: -182 -181.9 -181.8 -181.7 -181.6 -181.5 -181.4 -181.3 -181.2 -181.1 -181 
+  Bin 819: -181 -180.9 -180.8 -180.7 -180.6 -180.5 -180.4 -180.3 -180.2 -180.1 -180 
+  Bin 820: -180 -179.9 -179.8 -179.7 -179.6 -179.5 -179.4 -179.3 -179.2 -179.1 -179 
+  Bin 821: -179 -178.9 -178.8 -178.7 -178.6 -178.5 -178.4 -178.3 -178.2 -178.1 -178 
+  Bin 822: -178 -177.9 -177.8 -177.7 -177.6 -177.5 -177.4 -177.3 -177.2 -177.1 -177 
+  Bin 823: -177 -176.9 -176.8 -176.7 -176.6 -176.5 -176.4 -176.3 -176.2 -176.1 -176 
+  Bin 824: -176 -175.9 -175.8 -175.7 -175.6 -175.5 -175.4 -175.3 -175.2 -175.1 -175 
+  Bin 825: -175 -174.9 -174.8 -174.7 -174.6 -174.5 -174.4 -174.3 -174.2 -174.1 -174 
+  Bin 826: -174 -173.9 -173.8 -173.7 -173.6 -173.5 -173.4 -173.3 -173.2 -173.1 -173 
+  Bin 827: -173 -172.9 -172.8 -172.7 -172.6 -172.5 -172.4 -172.3 -172.2 -172.1 -172 
+  Bin 828: -172 -171.9 -171.8 -171.7 -171.6 -171.5 -171.4 -171.3 -171.2 -171.1 -171 
+  Bin 829: -171 -170.9 -170.8 -170.7 -170.6 -170.5 -170.4 -170.3 -170.2 -170.1 -170 
+  Bin 830: -170 -169.9 -169.8 -169.7 -169.6 -169.5 -169.4 -169.3 -169.2 -169.1 -169 
+  Bin 831: -169 -168.9 -168.8 -168.7 -168.6 -168.5 -168.4 -168.3 -168.2 -168.1 -168 
+  Bin 832: -168 -167.9 -167.8 -167.7 -167.6 -167.5 -167.4 -167.3 -167.2 -167.1 -167 
+  Bin 833: -167 -166.9 -166.8 -166.7 -166.6 -166.5 -166.4 -166.3 -166.2 -166.1 -166 
+  Bin 834: -166 -165.9 -165.8 -165.7 -165.6 -165.5 -165.4 -165.3 -165.2 -165.1 -165 
+  Bin 835: -165 -164.9 -164.8 -164.7 -164.6 -164.5 -164.4 -164.3 -164.2 -164.1 -164 
+  Bin 836: -164 -163.9 -163.8 -163.7 -163.6 -163.5 -163.4 -163.3 -163.2 -163.1 -163 
+  Bin 837: -163 -162.9 -162.8 -162.7 -162.6 -162.5 -162.4 -162.3 -162.2 -162.1 -162 
+  Bin 838: -162 -161.9 -161.8 -161.7 -161.6 -161.5 -161.4 -161.3 -161.2 -161.1 -161 
+  Bin 839: -161 -160.9 -160.8 -160.7 -160.6 -160.5 -160.4 -160.3 -160.2 -160.1 -160 
+  Bin 840: -160 -159.9 -159.8 -159.7 -159.6 -159.5 -159.4 -159.3 -159.2 -159.1 -159 
+  Bin 841: -159 -158.9 -158.8 -158.7 -158.6 -158.5 -158.4 -158.3 -158.2 -158.1 -158 
+  Bin 842: -158 -157.9 -157.8 -157.7 -157.6 -157.5 -157.4 -157.3 -157.2 -157.1 -157 
+  Bin 843: -157 -156.9 -156.8 -156.7 -156.6 -156.5 -156.4 -156.3 -156.2 -156.1 -156 
+  Bin 844: -156 -155.9 -155.8 -155.7 -155.6 -155.5 -155.4 -155.3 -155.2 -155.1 -155 
+  Bin 845: -155 -154.9 -154.8 -154.7 -154.6 -154.5 -154.4 -154.3 -154.2 -154.1 -154 
+  Bin 846: -154 -153.9 -153.8 -153.7 -153.6 -153.5 -153.4 -153.3 -153.2 -153.1 -153 
+  Bin 847: -153 -152.9 -152.8 -152.7 -152.6 -152.5 -152.4 -152.3 -152.2 -152.1 -152 
+  Bin 848: -152 -151.9 -151.8 -151.7 -151.6 -151.5 -151.4 -151.3 -151.2 -151.1 -151 
+  Bin 849: -151 -150.9 -150.8 -150.7 -150.6 -150.5 -150.4 -150.3 -150.2 -150.1 -150 
+  Bin 850: -150 -149.9 -149.8 -149.7 -149.6 -149.5 -149.4 -149.3 -149.2 -149.1 -149 
+  Bin 851: -149 -148.9 -148.8 -148.7 -148.6 -148.5 -148.4 -148.3 -148.2 -148.1 -148 
+  Bin 852: -148 -147.9 -147.8 -147.7 -147.6 -147.5 -147.4 -147.3 -147.2 -147.1 -147 
+  Bin 853: -147 -146.9 -146.8 -146.7 -146.6 -146.5 -146.4 -146.3 -146.2 -146.1 -146 
+  Bin 854: -146 -145.9 -145.8 -145.7 -145.6 -145.5 -145.4 -145.3 -145.2 -145.1 -145 
+  Bin 855: -145 -144.9 -144.8 -144.7 -144.6 -144.5 -144.4 -144.3 -144.2 -144.1 -144 
+  Bin 856: -144 -143.9 -143.8 -143.7 -143.6 -143.5 -143.4 -143.3 -143.2 -143.1 -143 
+  Bin 857: -143 -142.9 -142.8 -142.7 -142.6 -142.5 -142.4 -142.3 -142.2 -142.1 -142 
+  Bin 858: -142 -141.9 -141.8 -141.7 -141.6 -141.5 -141.4 -141.3 -141.2 -141.1 -141 
+  Bin 859: -141 -140.9 -140.8 -140.7 -140.6 -140.5 -140.4 -140.3 -140.2 -140.1 -140 
+  Bin 860: -140 -139.9 -139.8 -139.7 -139.6 -139.5 -139.4 -139.3 -139.2 -139.1 -139 
+  Bin 861: -139 -138.9 -138.8 -138.7 -138.6 -138.5 -138.4 -138.3 -138.2 -138.1 -138 
+  Bin 862: -138 -137.9 -137.8 -137.7 -137.6 -137.5 -137.4 -137.3 -137.2 -137.1 -137 
+  Bin 863: -137 -136.9 -136.8 -136.7 -136.6 -136.5 -136.4 -136.3 -136.2 -136.1 -136 
+  Bin 864: -136 -135.9 -135.8 -135.7 -135.6 -135.5 -135.4 -135.3 -135.2 -135.1 -135 
+  Bin 865: -135 -134.9 -134.8 -134.7 -134.6 -134.5 -134.4 -134.3 -134.2 -134.1 -134 
+  Bin 866: -134 -133.9 -133.8 -133.7 -133.6 -133.5 -133.4 -133.3 -133.2 -133.1 -133 
+  Bin 867: -133 -132.9 -132.8 -132.7 -132.6 -132.5 -132.4 -132.3 -132.2 -132.1 -132 
+  Bin 868: -132 -131.9 -131.8 -131.7 -131.6 -131.5 -131.4 -131.3 -131.2 -131.1 -131 
+  Bin 869: -131 -130.9 -130.8 -130.7 -130.6 -130.5 -130.4 -130.3 -130.2 -130.1 -130 
+  Bin 870: -130 -129.9 -129.8 -129.7 -129.6 -129.5 -129.4 -129.3 -129.2 -129.1 -129 
+  Bin 871: -129 -128.9 -128.8 -128.7 -128.6 -128.5 -128.4 -128.3 -128.2 -128.1 -128 
+  Bin 872: -128 -127.9 -127.8 -127.7 -127.6 -127.5 -127.4 -127.3 -127.2 -127.1 -127 
+  Bin 873: -127 -126.9 -126.8 -126.7 -126.6 -126.5 -126.4 -126.3 -126.2 -126.1 -126 
+  Bin 874: -126 -125.9 -125.8 -125.7 -125.6 -125.5 -125.4 -125.3 -125.2 -125.1 -125 
+  Bin 875: -125 -124.9 -124.8 -124.7 -124.6 -124.5 -124.4 -124.3 -124.2 -124.1 -124 
+  Bin 876: -124 -123.9 -123.8 -123.7 -123.6 -123.5 -123.4 -123.3 -123.2 -123.1 -123 
+  Bin 877: -123 -122.9 -122.8 -122.7 -122.6 -122.5 -122.4 -122.3 -122.2 -122.1 -122 
+  Bin 878: -122 -121.9 -121.8 -121.7 -121.6 -121.5 -121.4 -121.3 -121.2 -121.1 -121 
+  Bin 879: -121 -120.9 -120.8 -120.7 -120.6 -120.5 -120.4 -120.3 -120.2 -120.1 -120 
+  Bin 880: -120 -119.9 -119.8 -119.7 -119.6 -119.5 -119.4 -119.3 -119.2 -119.1 -119 
+  Bin 881: -119 -118.9 -118.8 -118.7 -118.6 -118.5 -118.4 -118.3 -118.2 -118.1 -118 
+  Bin 882: -118 -117.9 -117.8 -117.7 -117.6 -117.5 -117.4 -117.3 -117.2 -117.1 -117 
+  Bin 883: -117 -116.9 -116.8 -116.7 -116.6 -116.5 -116.4 -116.3 -116.2 -116.1 -116 
+  Bin 884: -116 -115.9 -115.8 -115.7 -115.6 -115.5 -115.4 -115.3 -115.2 -115.1 -115 
+  Bin 885: -115 -114.9 -114.8 -114.7 -114.6 -114.5 -114.4 -114.3 -114.2 -114.1 -114 
+  Bin 886: -114 -113.9 -113.8 -113.7 -113.6 -113.5 -113.4 -113.3 -113.2 -113.1 -113 
+  Bin 887: -113 -112.9 -112.8 -112.7 -112.6 -112.5 -112.4 -112.3 -112.2 -112.1 -112 
+  Bin 888: -112 -111.9 -111.8 -111.7 -111.6 -111.5 -111.4 -111.3 -111.2 -111.1 -111 
+  Bin 889: -111 -110.9 -110.8 -110.7 -110.6 -110.5 -110.4 -110.3 -110.2 -110.1 -110 
+  Bin 890: -110 -109.9 -109.8 -109.7 -109.6 -109.5 -109.4 -109.3 -109.2 -109.1 -109 
+  Bin 891: -109 -108.9 -108.8 -108.7 -108.6 -108.5 -108.4 -108.3 -108.2 -108.1 -108 
+  Bin 892: -108 -107.9 -107.8 -107.7 -107.6 -107.5 -107.4 -107.3 -107.2 -107.1 -107 
+  Bin 893: -107 -106.9 -106.8 -106.7 -106.6 -106.5 -106.4 -106.3 -106.2 -106.1 -106 
+  Bin 894: -106 -105.9 -105.8 -105.7 -105.6 -105.5 -105.4 -105.3 -105.2 -105.1 -105 
+  Bin 895: -105 -104.9 -104.8 -104.7 -104.6 -104.5 -104.4 -104.3 -104.2 -104.1 -104 
+  Bin 896: -104 -103.9 -103.8 -103.7 -103.6 -103.5 -103.4 -103.3 -103.2 -103.1 -103 
+  Bin 897: -103 -102.9 -102.8 -102.7 -102.6 -102.5 -102.4 -102.3 -102.2 -102.1 -102 
+  Bin 898: -102 -101.9 -101.8 -101.7 -101.6 -101.5 -101.4 -101.3 -101.2 -101.1 -101 
+  Bin 899: -101 -100.9 -100.8 -100.7 -100.6 -100.5 -100.4 -100.3 -100.2 -100.1 -100 
+  Bin 900: -100 -99.9 -99.8 -99.7 -99.6 -99.5 -99.4 -99.3 -99.2 -99.1 -99 
+  Bin 901: -99 -98.9 -98.8 -98.7 -98.6 -98.5 -98.4 -98.3 -98.2 -98.1 -98 
+  Bin 902: -98 -97.9 -97.8 -97.7 -97.6 -97.5 -97.4 -97.3 -97.2 -97.1 -97 
+  Bin 903: -97 -96.9 -96.8 -96.7 -96.6 -96.5 -96.4 -96.3 -96.2 -96.1 -96 
+  Bin 904: -96 -95.9 -95.8 -95.7 -95.6 -95.5 -95.4 -95.3 -95.2 -95.1 -95 
+  Bin 905: -95 -94.9 -94.8 -94.7 -94.6 -94.5 -94.4 -94.3 -94.2 -94.1 -94 
+  Bin 906: -94 -93.9 -93.8 -93.7 -93.6 -93.5 -93.4 -93.3 -93.2 -93.1 -93 
+  Bin 907: -93 -92.9 -92.8 -92.7 -92.6 -92.5 -92.4 -92.3 -92.2 -92.1 -92 
+  Bin 908: -92 -91.9 -91.8 -91.7 -91.6 -91.5 -91.4 -91.3 -91.2 -91.1 -91 
+  Bin 909: -91 -90.9 -90.8 -90.7 -90.6 -90.5 -90.4 -90.3 -90.2 -90.1 -90 
+  Bin 910: -90 -89.9 -89.8 -89.7 -89.6 -89.5 -89.4 -89.3 -89.2 -89.1 -89 
+  Bin 911: -89 -88.9 -88.8 -88.7 -88.6 -88.5 -88.4 -88.3 -88.2 -88.1 -88 
+  Bin 912: -88 -87.9 -87.8 -87.7 -87.6 -87.5 -87.4 -87.3 -87.2 -87.1 -87 
+  Bin 913: -87 -86.9 -86.8 -86.7 -86.6 -86.5 -86.4 -86.3 -86.2 -86.1 -86 
+  Bin 914: -86 -85.9 -85.8 -85.7 -85.6 -85.5 -85.4 -85.3 -85.2 -85.1 -85 
+  Bin 915: -85 -84.9 -84.8 -84.7 -84.6 -84.5 -84.4 -84.3 -84.2 -84.1 -84 
+  Bin 916: -84 -83.9 -83.8 -83.7 -83.6 -83.5 -83.4 -83.3 -83.2 -83.1 -83 
+  Bin 917: -83 -82.9 -82.8 -82.7 -82.6 -82.5 -82.4 -82.3 -82.2 -82.1 -82 
+  Bin 918: -82 -81.9 -81.8 -81.7 -81.6 -81.5 -81.4 -81.3 -81.2 -81.1 -81 
+  Bin 919: -81 -80.9 -80.8 -80.7 -80.6 -80.5 -80.4 -80.3 -80.2 -80.1 -80 
+  Bin 920: -80 -79.9 -79.8 -79.7 -79.6 -79.5 -79.4 -79.3 -79.2 -79.1 -79 
+  Bin 921: -79 -78.9 -78.8 -78.7 -78.6 -78.5 -78.4 -78.3 -78.2 -78.1 -78 
+  Bin 922: -78 -77.9 -77.8 -77.7 -77.6 -77.5 -77.4 -77.3 -77.2 -77.1 -77 
+  Bin 923: -77 -76.9 -76.8 -76.7 -76.6 -76.5 -76.4 -76.3 -76.2 -76.1 -76 
+  Bin 924: -76 -75.9 -75.8 -75.7 -75.6 -75.5 -75.4 -75.3 -75.2 -75.1 -75 
+  Bin 925: -75 -74.9 -74.8 -74.7 -74.6 -74.5 -74.4 -74.3 -74.2 -74.1 -74 
+  Bin 926: -74 -73.9 -73.8 -73.7 -73.6 -73.5 -73.4 -73.3 -73.2 -73.1 -73 
+  Bin 927: -73 -72.9 -72.8 -72.7 -72.6 -72.5 -72.4 -72.3 -72.2 -72.1 -72 
+  Bin 928: -72 -71.9 -71.8 -71.7 -71.6 -71.5 -71.4 -71.3 -71.2 -71.1 -71 
+  Bin 929: -71 -70.9 -70.8 -70.7 -70.6 -70.5 -70.4 -70.3 -70.2 -70.1 -70 
+  Bin 930: -70 -69.9 -69.8 -69.7 -69.6 -69.5 -69.4 -69.3 -69.2 -69.1 -69 
+  Bin 931: -69 -68.9 -68.8 -68.7 -68.6 -68.5 -68.4 -68.3 -68.2 -68.1 -68 
+  Bin 932: -68 -67.9 -67.8 -67.7 -67.6 -67.5 -67.4 -67.3 -67.2 -67.1 -67 
+  Bin 933: -67 -66.9 -66.8 -66.7 -66.6 -66.5 -66.4 -66.3 -66.2 -66.1 -66 
+  Bin 934: -66 -65.9 -65.8 -65.7 -65.6 -65.5 -65.4 -65.3 -65.2 -65.1 -65 
+  Bin 935: -65 -64.9 -64.8 -64.7 -64.6 -64.5 -64.4 -64.3 -64.2 -64.1 -64 
+  Bin 936: -64 -63.9 -63.8 -63.7 -63.6 -63.5 -63.4 -63.3 -63.2 -63.1 -63 
+  Bin 937: -63 -62.9 -62.8 -62.7 -62.6 -62.5 -62.4 -62.3 -62.2 -62.1 -62 
+  Bin 938: -62 -61.9 -61.8 -61.7 -61.6 -61.5 -61.4 -61.3 -61.2 -61.1 -61 
+  Bin 939: -61 -60.9 -60.8 -60.7 -60.6 -60.5 -60.4 -60.3 -60.2 -60.1 -60 
+  Bin 940: -60 -59.9 -59.8 -59.7 -59.6 -59.5 -59.4 -59.3 -59.2 -59.1 -59 
+  Bin 941: -59 -58.9 -58.8 -58.7 -58.6 -58.5 -58.4 -58.3 -58.2 -58.1 -58 
+  Bin 942: -58 -57.9 -57.8 -57.7 -57.6 -57.5 -57.4 -57.3 -57.2 -57.1 -57 
+  Bin 943: -57 -56.9 -56.8 -56.7 -56.6 -56.5 -56.4 -56.3 -56.2 -56.1 -56 
+  Bin 944: -56 -55.9 -55.8 -55.7 -55.6 -55.5 -55.4 -55.3 -55.2 -55.1 -55 
+  Bin 945: -55 -54.9 -54.8 -54.7 -54.6 -54.5 -54.4 -54.3 -54.2 -54.1 -54 
+  Bin 946: -54 -53.9 -53.8 -53.7 -53.6 -53.5 -53.4 -53.3 -53.2 -53.1 -53 
+  Bin 947: -53 -52.9 -52.8 -52.7 -52.6 -52.5 -52.4 -52.3 -52.2 -52.1 -52 
+  Bin 948: -52 -51.9 -51.8 -51.7 -51.6 -51.5 -51.4 -51.3 -51.2 -51.1 -51 
+  Bin 949: -51 -50.9 -50.8 -50.7 -50.6 -50.5 -50.4 -50.3 -50.2 -50.1 -50 
+  Bin 950: -50 -49.9 -49.8 -49.7 -49.6 -49.5 -49.4 -49.3 -49.2 -49.1 -49 
+  Bin 951: -49 -48.9 -48.8 -48.7 -48.6 -48.5 -48.4 -48.3 -48.2 -48.1 -48 
+  Bin 952: -48 -47.9 -47.8 -47.7 -47.6 -47.5 -47.4 -47.3 -47.2 -47.1 -47 
+  Bin 953: -47 -46.9 -46.8 -46.7 -46.6 -46.5 -46.4 -46.3 -46.2 -46.1 -46 
+  Bin 954: -46 -45.9 -45.8 -45.7 -45.6 -45.5 -45.4 -45.3 -45.2 -45.1 -45 
+  Bin 955: -45 -44.9 -44.8 -44.7 -44.6 -44.5 -44.4 -44.3 -44.2 -44.1 -44 
+  Bin 956: -44 -43.9 -43.8 -43.7 -43.6 -43.5 -43.4 -43.3 -43.2 -43.1 -43 
+  Bin 957: -43 -42.9 -42.8 -42.7 -42.6 -42.5 -42.4 -42.3 -42.2 -42.1 -42 
+  Bin 958: -42 -41.9 -41.8 -41.7 -41.6 -41.5 -41.4 -41.3 -41.2 -41.1 -41 
+  Bin 959: -41 -40.9 -40.8 -40.7 -40.6 -40.5 -40.4 -40.3 -40.2 -40.1 -40 
+  Bin 960: -40 -39.9 -39.8 -39.7 -39.6 -39.5 -39.4 -39.3 -39.2 -39.1 -39 
+  Bin 961: -39 -38.9 -38.8 -38.7 -38.6 -38.5 -38.4 -38.3 -38.2 -38.1 -38 
+  Bin 962: -38 -37.9 -37.8 -37.7 -37.6 -37.5 -37.4 -37.3 -37.2 -37.1 -37 
+  Bin 963: -37 -36.9 -36.8 -36.7 -36.6 -36.5 -36.4 -36.3 -36.2 -36.1 -36 
+  Bin 964: -36 -35.9 -35.8 -35.7 -35.6 -35.5 -35.4 -35.3 -35.2 -35.1 -35 
+  Bin 965: -35 -34.9 -34.8 -34.7 -34.6 -34.5 -34.4 -34.3 -34.2 -34.1 -34 
+  Bin 966: -34 -33.9 -33.8 -33.7 -33.6 -33.5 -33.4 -33.3 -33.2 -33.1 -33 
+  Bin 967: -33 -32.9 -32.8 -32.7 -32.6 -32.5 -32.4 -32.3 -32.2 -32.1 -32 
+  Bin 968: -32 -31.9 -31.8 -31.7 -31.6 -31.5 -31.4 -31.3 -31.2 -31.1 -31 
+  Bin 969: -31 -30.9 -30.8 -30.7 -30.6 -30.5 -30.4 -30.3 -30.2 -30.1 -30 
+  Bin 970: -30 -29.9 -29.8 -29.7 -29.6 -29.5 -29.4 -29.3 -29.2 -29.1 -29 
+  Bin 971: -29 -28.9 -28.8 -28.7 -28.6 -28.5 -28.4 -28.3 -28.2 -28.1 -28 
+  Bin 972: -28 -27.9 -27.8 -27.7 -27.6 -27.5 -27.4 -27.3 -27.2 -27.1 -27 
+  Bin 973: -27 -26.9 -26.8 -26.7 -26.6 -26.5 -26.4 -26.3 -26.2 -26.1 -26 
+  Bin 974: -26 -25.9 -25.8 -25.7 -25.6 -25.5 -25.4 -25.3 -25.2 -25.1 -25 
+  Bin 975: -25 -24.9 -24.8 -24.7 -24.6 -24.5 -24.4 -24.3 -24.2 -24.1 -24 
+  Bin 976: -24 -23.9 -23.8 -23.7 -23.6 -23.5 -23.4 -23.3 -23.2 -23.1 -23 
+  Bin 977: -23 -22.9 -22.8 -22.7 -22.6 -22.5 -22.4 -22.3 -22.2 -22.1 -22 
+  Bin 978: -22 -21.9 -21.8 -21.7 -21.6 -21.5 -21.4 -21.3 -21.2 -21.1 -21 
+  Bin 979: -21 -20.9 -20.8 -20.7 -20.6 -20.5 -20.4 -20.3 -20.2 -20.1 -20 
+  Bin 980: -20 -19.9 -19.8 -19.7 -19.6 -19.5 -19.4 -19.3 -19.2 -19.1 -19 
+  Bin 981: -19 -18.9 -18.8 -18.7 -18.6 -18.5 -18.4 -18.3 -18.2 -18.1 -18 
+  Bin 982: -18 -17.9 -17.8 -17.7 -17.6 -17.5 -17.4 -17.3 -17.2 -17.1 -17 
+  Bin 983: -17 -16.9 -16.8 -16.7 -16.6 -16.5 -16.4 -16.3 -16.2 -16.1 -16 
+  Bin 984: -16 -15.9 -15.8 -15.7 -15.6 -15.5 -15.4 -15.3 -15.2 -15.1 -15 
+  Bin 985: -15 -14.9 -14.8 -14.7 -14.6 -14.5 -14.4 -14.3 -14.2 -14.1 -14 
+  Bin 986: -14 -13.9 -13.8 -13.7 -13.6 -13.5 -13.4 -13.3 -13.2 -13.1 -13 
+  Bin 987: -13 -12.9 -12.8 -12.7 -12.6 -12.5 -12.4 -12.3 -12.2 -12.1 -12 
+  Bin 988: -12 -11.9 -11.8 -11.7 -11.6 -11.5 -11.4 -11.3 -11.2 -11.1 -11 
+  Bin 989: -11 -10.9 -10.8 -10.7 -10.6 -10.5 -10.4 -10.3 -10.2 -10.1 -10 
+  Bin 990: -10 -9.9 -9.8 -9.7 -9.6 -9.5 -9.4 -9.3 -9.2 -9.1 -9 
+  Bin 991: -9 -8.9 -8.8 -8.7 -8.6 -8.5 -8.4 -8.3 -8.2 -8.1 -8 
+  Bin 992: -8 -7.9 -7.8 -7.7 -7.6 -7.5 -7.4 -7.3 -7.2 -7.1 -7 
+  Bin 993: -7 -6.9 -6.8 -6.7 -6.6 -6.5 -6.4 -6.3 -6.2 -6.1 -6 
+  Bin 994: -6 -5.9 -5.8 -5.7 -5.6 -5.5 -5.4 -5.3 -5.2 -5.1 -5 
+  Bin 995: -5 -4.9 -4.8 -4.7 -4.6 -4.5 -4.4 -4.3 -4.2 -4.1 -4 
+  Bin 996: -4 -3.9 -3.8 -3.7 -3.6 -3.5 -3.4 -3.3 -3.2 -3.1 -3 
+  Bin 997: -3 -2.9 -2.8 -2.7 -2.6 -2.5 -2.4 -2.3 -2.2 -2.1 -2 
+  Bin 998: -2 -1.9 -1.8 -1.7 -1.6 -1.5 -1.4 -1.3 -1.2 -1.1 -1 
+  Bin 999: -1 -0.9 -0.8 -0.7 -0.6 -0.5 -0.4 -0.3 -0.2 -0.1 0 
+  Bin 1000: 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 
+  Bin 1001: 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2 
+  Bin 1002: 2 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3 
+  Bin 1003: 3 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 4 
+  Bin 1004: 4 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 5 
+  Bin 1005: 5 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 6 
+  Bin 1006: 6 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 7 
+  Bin 1007: 7 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 8 
+  Bin 1008: 8 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 9 
+  Bin 1009: 9 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 10 
+  Bin 1010: 10 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 11 
+  Bin 1011: 11 11.1 11.2 11.3 11.4 11.5 11.6 11.7 11.8 11.9 12 
+  Bin 1012: 12 12.1 12.2 12.3 12.4 12.5 12.6 12.7 12.8 12.9 13 
+  Bin 1013: 13 13.1 13.2 13.3 13.4 13.5 13.6 13.7 13.8 13.9 14 
+  Bin 1014: 14 14.1 14.2 14.3 14.4 14.5 14.6 14.7 14.8 14.9 15 
+  Bin 1015: 15 15.1 15.2 15.3 15.4 15.5 15.6 15.7 15.8 15.9 16 
+  Bin 1016: 16 16.1 16.2 16.3 16.4 16.5 16.6 16.7 16.8 16.9 17 
+  Bin 1017: 17 17.1 17.2 17.3 17.4 17.5 17.6 17.7 17.8 17.9 18 
+  Bin 1018: 18 18.1 18.2 18.3 18.4 18.5 18.6 18.7 18.8 18.9 19 
+  Bin 1019: 19 19.1 19.2 19.3 19.4 19.5 19.6 19.7 19.8 19.9 20 
+  Bin 1020: 20 20.1 20.2 20.3 20.4 20.5 20.6 20.7 20.8 20.9 21 
+  Bin 1021: 21 21.1 21.2 21.3 21.4 21.5 21.6 21.7 21.8 21.9 22 
+  Bin 1022: 22 22.1 22.2 22.3 22.4 22.5 22.6 22.7 22.8 22.9 23 
+  Bin 1023: 23 23.1 23.2 23.3 23.4 23.5 23.6 23.7 23.8 23.9 24 
+  Bin 1024: 24 24.1 24.2 24.3 24.4 24.5 24.6 24.7 24.8 24.9 25 
+  Bin 1025: 25 25.1 25.2 25.3 25.4 25.5 25.6 25.7 25.8 25.9 26 
+  Bin 1026: 26 26.1 26.2 26.3 26.4 26.5 26.6 26.7 26.8 26.9 27 
+  Bin 1027: 27 27.1 27.2 27.3 27.4 27.5 27.6 27.7 27.8 27.9 28 
+  Bin 1028: 28 28.1 28.2 28.3 28.4 28.5 28.6 28.7 28.8 28.9 29 
+  Bin 1029: 29 29.1 29.2 29.3 29.4 29.5 29.6 29.7 29.8 29.9 30 
+  Bin 1030: 30 30.1 30.2 30.3 30.4 30.5 30.6 30.7 30.8 30.9 31 
+  Bin 1031: 31 31.1 31.2 31.3 31.4 31.5 31.6 31.7 31.8 31.9 32 
+  Bin 1032: 32 32.1 32.2 32.3 32.4 32.5 32.6 32.7 32.8 32.9 33 
+  Bin 1033: 33 33.1 33.2 33.3 33.4 33.5 33.6 33.7 33.8 33.9 34 
+  Bin 1034: 34 34.1 34.2 34.3 34.4 34.5 34.6 34.7 34.8 34.9 35 
+  Bin 1035: 35 35.1 35.2 35.3 35.4 35.5 35.6 35.7 35.8 35.9 36 
+  Bin 1036: 36 36.1 36.2 36.3 36.4 36.5 36.6 36.7 36.8 36.9 37 
+  Bin 1037: 37 37.1 37.2 37.3 37.4 37.5 37.6 37.7 37.8 37.9 38 
+  Bin 1038: 38 38.1 38.2 38.3 38.4 38.5 38.6 38.7 38.8 38.9 39 
+  Bin 1039: 39 39.1 39.2 39.3 39.4 39.5 39.6 39.7 39.8 39.9 40 
+  Bin 1040: 40 40.1 40.2 40.3 40.4 40.5 40.6 40.7 40.8 40.9 41 
+  Bin 1041: 41 41.1 41.2 41.3 41.4 41.5 41.6 41.7 41.8 41.9 42 
+  Bin 1042: 42 42.1 42.2 42.3 42.4 42.5 42.6 42.7 42.8 42.9 43 
+  Bin 1043: 43 43.1 43.2 43.3 43.4 43.5 43.6 43.7 43.8 43.9 44 
+  Bin 1044: 44 44.1 44.2 44.3 44.4 44.5 44.6 44.7 44.8 44.9 45 
+  Bin 1045: 45 45.1 45.2 45.3 45.4 45.5 45.6 45.7 45.8 45.9 46 
+  Bin 1046: 46 46.1 46.2 46.3 46.4 46.5 46.6 46.7 46.8 46.9 47 
+  Bin 1047: 47 47.1 47.2 47.3 47.4 47.5 47.6 47.7 47.8 47.9 48 
+  Bin 1048: 48 48.1 48.2 48.3 48.4 48.5 48.6 48.7 48.8 48.9 49 
+  Bin 1049: 49 49.1 49.2 49.3 49.4 49.5 49.6 49.7 49.8 49.9 50 
+  Bin 1050: 50 50.1 50.2 50.3 50.4 50.5 50.6 50.7 50.8 50.9 51 
+  Bin 1051: 51 51.1 51.2 51.3 51.4 51.5 51.6 51.7 51.8 51.9 52 
+  Bin 1052: 52 52.1 52.2 52.3 52.4 52.5 52.6 52.7 52.8 52.9 53 
+  Bin 1053: 53 53.1 53.2 53.3 53.4 53.5 53.6 53.7 53.8 53.9 54 
+  Bin 1054: 54 54.1 54.2 54.3 54.4 54.5 54.6 54.7 54.8 54.9 55 
+  Bin 1055: 55 55.1 55.2 55.3 55.4 55.5 55.6 55.7 55.8 55.9 56 
+  Bin 1056: 56 56.1 56.2 56.3 56.4 56.5 56.6 56.7 56.8 56.9 57 
+  Bin 1057: 57 57.1 57.2 57.3 57.4 57.5 57.6 57.7 57.8 57.9 58 
+  Bin 1058: 58 58.1 58.2 58.3 58.4 58.5 58.6 58.7 58.8 58.9 59 
+  Bin 1059: 59 59.1 59.2 59.3 59.4 59.5 59.6 59.7 59.8 59.9 60 
+  Bin 1060: 60 60.1 60.2 60.3 60.4 60.5 60.6 60.7 60.8 60.9 61 
+  Bin 1061: 61 61.1 61.2 61.3 61.4 61.5 61.6 61.7 61.8 61.9 62 
+  Bin 1062: 62 62.1 62.2 62.3 62.4 62.5 62.6 62.7 62.8 62.9 63 
+  Bin 1063: 63 63.1 63.2 63.3 63.4 63.5 63.6 63.7 63.8 63.9 64 
+  Bin 1064: 64 64.1 64.2 64.3 64.4 64.5 64.6 64.7 64.8 64.9 65 
+  Bin 1065: 65 65.1 65.2 65.3 65.4 65.5 65.6 65.7 65.8 65.9 66 
+  Bin 1066: 66 66.1 66.2 66.3 66.4 66.5 66.6 66.7 66.8 66.9 67 
+  Bin 1067: 67 67.1 67.2 67.3 67.4 67.5 67.6 67.7 67.8 67.9 68 
+  Bin 1068: 68 68.1 68.2 68.3 68.4 68.5 68.6 68.7 68.8 68.9 69 
+  Bin 1069: 69 69.1 69.2 69.3 69.4 69.5 69.6 69.7 69.8 69.9 70 
+  Bin 1070: 70 70.1 70.2 70.3 70.4 70.5 70.6 70.7 70.8 70.9 71 
+  Bin 1071: 71 71.1 71.2 71.3 71.4 71.5 71.6 71.7 71.8 71.9 72 
+  Bin 1072: 72 72.1 72.2 72.3 72.4 72.5 72.6 72.7 72.8 72.9 73 
+  Bin 1073: 73 73.1 73.2 73.3 73.4 73.5 73.6 73.7 73.8 73.9 74 
+  Bin 1074: 74 74.1 74.2 74.3 74.4 74.5 74.6 74.7 74.8 74.9 75 
+  Bin 1075: 75 75.1 75.2 75.3 75.4 75.5 75.6 75.7 75.8 75.9 76 
+  Bin 1076: 76 76.1 76.2 76.3 76.4 76.5 76.6 76.7 76.8 76.9 77 
+  Bin 1077: 77 77.1 77.2 77.3 77.4 77.5 77.6 77.7 77.8 77.9 78 
+  Bin 1078: 78 78.1 78.2 78.3 78.4 78.5 78.6 78.7 78.8 78.9 79 
+  Bin 1079: 79 79.1 79.2 79.3 79.4 79.5 79.6 79.7 79.8 79.9 80 
+  Bin 1080: 80 80.1 80.2 80.3 80.4 80.5 80.6 80.7 80.8 80.9 81 
+  Bin 1081: 81 81.1 81.2 81.3 81.4 81.5 81.6 81.7 81.8 81.9 82 
+  Bin 1082: 82 82.1 82.2 82.3 82.4 82.5 82.6 82.7 82.8 82.9 83 
+  Bin 1083: 83 83.1 83.2 83.3 83.4 83.5 83.6 83.7 83.8 83.9 84 
+  Bin 1084: 84 84.1 84.2 84.3 84.4 84.5 84.6 84.7 84.8 84.9 85 
+  Bin 1085: 85 85.1 85.2 85.3 85.4 85.5 85.6 85.7 85.8 85.9 86 
+  Bin 1086: 86 86.1 86.2 86.3 86.4 86.5 86.6 86.7 86.8 86.9 87 
+  Bin 1087: 87 87.1 87.2 87.3 87.4 87.5 87.6 87.7 87.8 87.9 88 
+  Bin 1088: 88 88.1 88.2 88.3 88.4 88.5 88.6 88.7 88.8 88.9 89 
+  Bin 1089: 89 89.1 89.2 89.3 89.4 89.5 89.6 89.7 89.8 89.9 90 
+  Bin 1090: 90 90.1 90.2 90.3 90.4 90.5 90.6 90.7 90.8 90.9 91 
+  Bin 1091: 91 91.1 91.2 91.3 91.4 91.5 91.6 91.7 91.8 91.9 92 
+  Bin 1092: 92 92.1 92.2 92.3 92.4 92.5 92.6 92.7 92.8 92.9 93 
+  Bin 1093: 93 93.1 93.2 93.3 93.4 93.5 93.6 93.7 93.8 93.9 94 
+  Bin 1094: 94 94.1 94.2 94.3 94.4 94.5 94.6 94.7 94.8 94.9 95 
+  Bin 1095: 95 95.1 95.2 95.3 95.4 95.5 95.6 95.7 95.8 95.9 96 
+  Bin 1096: 96 96.1 96.2 96.3 96.4 96.5 96.6 96.7 96.8 96.9 97 
+  Bin 1097: 97 97.1 97.2 97.3 97.4 97.5 97.6 97.7 97.8 97.9 98 
+  Bin 1098: 98 98.1 98.2 98.3 98.4 98.5 98.6 98.7 98.8 98.9 99 
+  Bin 1099: 99 99.1 99.2 99.3 99.4 99.5 99.6 99.7 99.8 99.9 100 
+  Bin 1100: 100 100.1 100.2 100.3 100.4 100.5 100.6 100.7 100.8 100.9 101 
+  Bin 1101: 101 101.1 101.2 101.3 101.4 101.5 101.6 101.7 101.8 101.9 102 
+  Bin 1102: 102 102.1 102.2 102.3 102.4 102.5 102.6 102.7 102.8 102.9 103 
+  Bin 1103: 103 103.1 103.2 103.3 103.4 103.5 103.6 103.7 103.8 103.9 104 
+  Bin 1104: 104 104.1 104.2 104.3 104.4 104.5 104.6 104.7 104.8 104.9 105 
+  Bin 1105: 105 105.1 105.2 105.3 105.4 105.5 105.6 105.7 105.8 105.9 106 
+  Bin 1106: 106 106.1 106.2 106.3 106.4 106.5 106.6 106.7 106.8 106.9 107 
+  Bin 1107: 107 107.1 107.2 107.3 107.4 107.5 107.6 107.7 107.8 107.9 108 
+  Bin 1108: 108 108.1 108.2 108.3 108.4 108.5 108.6 108.7 108.8 108.9 109 
+  Bin 1109: 109 109.1 109.2 109.3 109.4 109.5 109.6 109.7 109.8 109.9 110 
+  Bin 1110: 110 110.1 110.2 110.3 110.4 110.5 110.6 110.7 110.8 110.9 111 
+  Bin 1111: 111 111.1 111.2 111.3 111.4 111.5 111.6 111.7 111.8 111.9 112 
+  Bin 1112: 112 112.1 112.2 112.3 112.4 112.5 112.6 112.7 112.8 112.9 113 
+  Bin 1113: 113 113.1 113.2 113.3 113.4 113.5 113.6 113.7 113.8 113.9 114 
+  Bin 1114: 114 114.1 114.2 114.3 114.4 114.5 114.6 114.7 114.8 114.9 115 
+  Bin 1115: 115 115.1 115.2 115.3 115.4 115.5 115.6 115.7 115.8 115.9 116 
+  Bin 1116: 116 116.1 116.2 116.3 116.4 116.5 116.6 116.7 116.8 116.9 117 
+  Bin 1117: 117 117.1 117.2 117.3 117.4 117.5 117.6 117.7 117.8 117.9 118 
+  Bin 1118: 118 118.1 118.2 118.3 118.4 118.5 118.6 118.7 118.8 118.9 119 
+  Bin 1119: 119 119.1 119.2 119.3 119.4 119.5 119.6 119.7 119.8 119.9 120 
+  Bin 1120: 120 120.1 120.2 120.3 120.4 120.5 120.6 120.7 120.8 120.9 121 
+  Bin 1121: 121 121.1 121.2 121.3 121.4 121.5 121.6 121.7 121.8 121.9 122 
+  Bin 1122: 122 122.1 122.2 122.3 122.4 122.5 122.6 122.7 122.8 122.9 123 
+  Bin 1123: 123 123.1 123.2 123.3 123.4 123.5 123.6 123.7 123.8 123.9 124 
+  Bin 1124: 124 124.1 124.2 124.3 124.4 124.5 124.6 124.7 124.8 124.9 125 
+  Bin 1125: 125 125.1 125.2 125.3 125.4 125.5 125.6 125.7 125.8 125.9 126 
+  Bin 1126: 126 126.1 126.2 126.3 126.4 126.5 126.6 126.7 126.8 126.9 127 
+  Bin 1127: 127 127.1 127.2 127.3 127.4 127.5 127.6 127.7 127.8 127.9 128 
+  Bin 1128: 128 128.1 128.2 128.3 128.4 128.5 128.6 128.7 128.8 128.9 129 
+  Bin 1129: 129 129.1 129.2 129.3 129.4 129.5 129.6 129.7 129.8 129.9 130 
+  Bin 1130: 130 130.1 130.2 130.3 130.4 130.5 130.6 130.7 130.8 130.9 131 
+  Bin 1131: 131 131.1 131.2 131.3 131.4 131.5 131.6 131.7 131.8 131.9 132 
+  Bin 1132: 132 132.1 132.2 132.3 132.4 132.5 132.6 132.7 132.8 132.9 133 
+  Bin 1133: 133 133.1 133.2 133.3 133.4 133.5 133.6 133.7 133.8 133.9 134 
+  Bin 1134: 134 134.1 134.2 134.3 134.4 134.5 134.6 134.7 134.8 134.9 135 
+  Bin 1135: 135 135.1 135.2 135.3 135.4 135.5 135.6 135.7 135.8 135.9 136 
+  Bin 1136: 136 136.1 136.2 136.3 136.4 136.5 136.6 136.7 136.8 136.9 137 
+  Bin 1137: 137 137.1 137.2 137.3 137.4 137.5 137.6 137.7 137.8 137.9 138 
+  Bin 1138: 138 138.1 138.2 138.3 138.4 138.5 138.6 138.7 138.8 138.9 139 
+  Bin 1139: 139 139.1 139.2 139.3 139.4 139.5 139.6 139.7 139.8 139.9 140 
+  Bin 1140: 140 140.1 140.2 140.3 140.4 140.5 140.6 140.7 140.8 140.9 141 
+  Bin 1141: 141 141.1 141.2 141.3 141.4 141.5 141.6 141.7 141.8 141.9 142 
+  Bin 1142: 142 142.1 142.2 142.3 142.4 142.5 142.6 142.7 142.8 142.9 143 
+  Bin 1143: 143 143.1 143.2 143.3 143.4 143.5 143.6 143.7 143.8 143.9 144 
+  Bin 1144: 144 144.1 144.2 144.3 144.4 144.5 144.6 144.7 144.8 144.9 145 
+  Bin 1145: 145 145.1 145.2 145.3 145.4 145.5 145.6 145.7 145.8 145.9 146 
+  Bin 1146: 146 146.1 146.2 146.3 146.4 146.5 146.6 146.7 146.8 146.9 147 
+  Bin 1147: 147 147.1 147.2 147.3 147.4 147.5 147.6 147.7 147.8 147.9 148 
+  Bin 1148: 148 148.1 148.2 148.3 148.4 148.5 148.6 148.7 148.8 148.9 149 
+  Bin 1149: 149 149.1 149.2 149.3 149.4 149.5 149.6 149.7 149.8 149.9 150 
+  Bin 1150: 150 150.1 150.2 150.3 150.4 150.5 150.6 150.7 150.8 150.9 151 
+  Bin 1151: 151 151.1 151.2 151.3 151.4 151.5 151.6 151.7 151.8 151.9 152 
+  Bin 1152: 152 152.1 152.2 152.3 152.4 152.5 152.6 152.7 152.8 152.9 153 
+  Bin 1153: 153 153.1 153.2 153.3 153.4 153.5 153.6 153.7 153.8 153.9 154 
+  Bin 1154: 154 154.1 154.2 154.3 154.4 154.5 154.6 154.7 154.8 154.9 155 
+  Bin 1155: 155 155.1 155.2 155.3 155.4 155.5 155.6 155.7 155.8 155.9 156 
+  Bin 1156: 156 156.1 156.2 156.3 156.4 156.5 156.6 156.7 156.8 156.9 157 
+  Bin 1157: 157 157.1 157.2 157.3 157.4 157.5 157.6 157.7 157.8 157.9 158 
+  Bin 1158: 158 158.1 158.2 158.3 158.4 158.5 158.6 158.7 158.8 158.9 159 
+  Bin 1159: 159 159.1 159.2 159.3 159.4 159.5 159.6 159.7 159.8 159.9 160 
+  Bin 1160: 160 160.1 160.2 160.3 160.4 160.5 160.6 160.7 160.8 160.9 161 
+  Bin 1161: 161 161.1 161.2 161.3 161.4 161.5 161.6 161.7 161.8 161.9 162 
+  Bin 1162: 162 162.1 162.2 162.3 162.4 162.5 162.6 162.7 162.8 162.9 163 
+  Bin 1163: 163 163.1 163.2 163.3 163.4 163.5 163.6 163.7 163.8 163.9 164 
+  Bin 1164: 164 164.1 164.2 164.3 164.4 164.5 164.6 164.7 164.8 164.9 165 
+  Bin 1165: 165 165.1 165.2 165.3 165.4 165.5 165.6 165.7 165.8 165.9 166 
+  Bin 1166: 166 166.1 166.2 166.3 166.4 166.5 166.6 166.7 166.8 166.9 167 
+  Bin 1167: 167 167.1 167.2 167.3 167.4 167.5 167.6 167.7 167.8 167.9 168 
+  Bin 1168: 168 168.1 168.2 168.3 168.4 168.5 168.6 168.7 168.8 168.9 169 
+  Bin 1169: 169 169.1 169.2 169.3 169.4 169.5 169.6 169.7 169.8 169.9 170 
+  Bin 1170: 170 170.1 170.2 170.3 170.4 170.5 170.6 170.7 170.8 170.9 171 
+  Bin 1171: 171 171.1 171.2 171.3 171.4 171.5 171.6 171.7 171.8 171.9 172 
+  Bin 1172: 172 172.1 172.2 172.3 172.4 172.5 172.6 172.7 172.8 172.9 173 
+  Bin 1173: 173 173.1 173.2 173.3 173.4 173.5 173.6 173.7 173.8 173.9 174 
+  Bin 1174: 174 174.1 174.2 174.3 174.4 174.5 174.6 174.7 174.8 174.9 175 
+  Bin 1175: 175 175.1 175.2 175.3 175.4 175.5 175.6 175.7 175.8 175.9 176 
+  Bin 1176: 176 176.1 176.2 176.3 176.4 176.5 176.6 176.7 176.8 176.9 177 
+  Bin 1177: 177 177.1 177.2 177.3 177.4 177.5 177.6 177.7 177.8 177.9 178 
+  Bin 1178: 178 178.1 178.2 178.3 178.4 178.5 178.6 178.7 178.8 178.9 179 
+  Bin 1179: 179 179.1 179.2 179.3 179.4 179.5 179.6 179.7 179.8 179.9 180 
+  Bin 1180: 180 180.1 180.2 180.3 180.4 180.5 180.6 180.7 180.8 180.9 181 
+  Bin 1181: 181 181.1 181.2 181.3 181.4 181.5 181.6 181.7 181.8 181.9 182 
+  Bin 1182: 182 182.1 182.2 182.3 182.4 182.5 182.6 182.7 182.8 182.9 183 
+  Bin 1183: 183 183.1 183.2 183.3 183.4 183.5 183.6 183.7 183.8 183.9 184 
+  Bin 1184: 184 184.1 184.2 184.3 184.4 184.5 184.6 184.7 184.8 184.9 185 
+  Bin 1185: 185 185.1 185.2 185.3 185.4 185.5 185.6 185.7 185.8 185.9 186 
+  Bin 1186: 186 186.1 186.2 186.3 186.4 186.5 186.6 186.7 186.8 186.9 187 
+  Bin 1187: 187 187.1 187.2 187.3 187.4 187.5 187.6 187.7 187.8 187.9 188 
+  Bin 1188: 188 188.1 188.2 188.3 188.4 188.5 188.6 188.7 188.8 188.9 189 
+  Bin 1189: 189 189.1 189.2 189.3 189.4 189.5 189.6 189.7 189.8 189.9 190 
+  Bin 1190: 190 190.1 190.2 190.3 190.4 190.5 190.6 190.7 190.8 190.9 191 
+  Bin 1191: 191 191.1 191.2 191.3 191.4 191.5 191.6 191.7 191.8 191.9 192 
+  Bin 1192: 192 192.1 192.2 192.3 192.4 192.5 192.6 192.7 192.8 192.9 193 
+  Bin 1193: 193 193.1 193.2 193.3 193.4 193.5 193.6 193.7 193.8 193.9 194 
+  Bin 1194: 194 194.1 194.2 194.3 194.4 194.5 194.6 194.7 194.8 194.9 195 
+  Bin 1195: 195 195.1 195.2 195.3 195.4 195.5 195.6 195.7 195.8 195.9 196 
+  Bin 1196: 196 196.1 196.2 196.3 196.4 196.5 196.6 196.7 196.8 196.9 197 
+  Bin 1197: 197 197.1 197.2 197.3 197.4 197.5 197.6 197.7 197.8 197.9 198 
+  Bin 1198: 198 198.1 198.2 198.3 198.4 198.5 198.6 198.7 198.8 198.9 199 
+  Bin 1199: 199 199.1 199.2 199.3 199.4 199.5 199.6 199.7 199.8 199.9 200 
+  Bin 1200: 200 200.1 200.2 200.3 200.4 200.5 200.6 200.7 200.8 200.9 201 
+  Bin 1201: 201 201.1 201.2 201.3 201.4 201.5 201.6 201.7 201.8 201.9 202 
+  Bin 1202: 202 202.1 202.2 202.3 202.4 202.5 202.6 202.7 202.8 202.9 203 
+  Bin 1203: 203 203.1 203.2 203.3 203.4 203.5 203.6 203.7 203.8 203.9 204 
+  Bin 1204: 204 204.1 204.2 204.3 204.4 204.5 204.6 204.7 204.8 204.9 205 
+  Bin 1205: 205 205.1 205.2 205.3 205.4 205.5 205.6 205.7 205.8 205.9 206 
+  Bin 1206: 206 206.1 206.2 206.3 206.4 206.5 206.6 206.7 206.8 206.9 207 
+  Bin 1207: 207 207.1 207.2 207.3 207.4 207.5 207.6 207.7 207.8 207.9 208 
+  Bin 1208: 208 208.1 208.2 208.3 208.4 208.5 208.6 208.7 208.8 208.9 209 
+  Bin 1209: 209 209.1 209.2 209.3 209.4 209.5 209.6 209.7 209.8 209.9 210 
+  Bin 1210: 210 210.1 210.2 210.3 210.4 210.5 210.6 210.7 210.8 210.9 211 
+  Bin 1211: 211 211.1 211.2 211.3 211.4 211.5 211.6 211.7 211.8 211.9 212 
+  Bin 1212: 212 212.1 212.2 212.3 212.4 212.5 212.6 212.7 212.8 212.9 213 
+  Bin 1213: 213 213.1 213.2 213.3 213.4 213.5 213.6 213.7 213.8 213.9 214 
+  Bin 1214: 214 214.1 214.2 214.3 214.4 214.5 214.6 214.7 214.8 214.9 215 
+  Bin 1215: 215 215.1 215.2 215.3 215.4 215.5 215.6 215.7 215.8 215.9 216 
+  Bin 1216: 216 216.1 216.2 216.3 216.4 216.5 216.6 216.7 216.8 216.9 217 
+  Bin 1217: 217 217.1 217.2 217.3 217.4 217.5 217.6 217.7 217.8 217.9 218 
+  Bin 1218: 218 218.1 218.2 218.3 218.4 218.5 218.6 218.7 218.8 218.9 219 
+  Bin 1219: 219 219.1 219.2 219.3 219.4 219.5 219.6 219.7 219.8 219.9 220 
+  Bin 1220: 220 220.1 220.2 220.3 220.4 220.5 220.6 220.7 220.8 220.9 221 
+  Bin 1221: 221 221.1 221.2 221.3 221.4 221.5 221.6 221.7 221.8 221.9 222 
+  Bin 1222: 222 222.1 222.2 222.3 222.4 222.5 222.6 222.7 222.8 222.9 223 
+  Bin 1223: 223 223.1 223.2 223.3 223.4 223.5 223.6 223.7 223.8 223.9 224 
+  Bin 1224: 224 224.1 224.2 224.3 224.4 224.5 224.6 224.7 224.8 224.9 225 
+  Bin 1225: 225 225.1 225.2 225.3 225.4 225.5 225.6 225.7 225.8 225.9 226 
+  Bin 1226: 226 226.1 226.2 226.3 226.4 226.5 226.6 226.7 226.8 226.9 227 
+  Bin 1227: 227 227.1 227.2 227.3 227.4 227.5 227.6 227.7 227.8 227.9 228 
+  Bin 1228: 228 228.1 228.2 228.3 228.4 228.5 228.6 228.7 228.8 228.9 229 
+  Bin 1229: 229 229.1 229.2 229.3 229.4 229.5 229.6 229.7 229.8 229.9 230 
+  Bin 1230: 230 230.1 230.2 230.3 230.4 230.5 230.6 230.7 230.8 230.9 231 
+  Bin 1231: 231 231.1 231.2 231.3 231.4 231.5 231.6 231.7 231.8 231.9 232 
+  Bin 1232: 232 232.1 232.2 232.3 232.4 232.5 232.6 232.7 232.8 232.9 233 
+  Bin 1233: 233 233.1 233.2 233.3 233.4 233.5 233.6 233.7 233.8 233.9 234 
+  Bin 1234: 234 234.1 234.2 234.3 234.4 234.5 234.6 234.7 234.8 234.9 235 
+  Bin 1235: 235 235.1 235.2 235.3 235.4 235.5 235.6 235.7 235.8 235.9 236 
+  Bin 1236: 236 236.1 236.2 236.3 236.4 236.5 236.6 236.7 236.8 236.9 237 
+  Bin 1237: 237 237.1 237.2 237.3 237.4 237.5 237.6 237.7 237.8 237.9 238 
+  Bin 1238: 238 238.1 238.2 238.3 238.4 238.5 238.6 238.7 238.8 238.9 239 
+  Bin 1239: 239 239.1 239.2 239.3 239.4 239.5 239.6 239.7 239.8 239.9 240 
+  Bin 1240: 240 240.1 240.2 240.3 240.4 240.5 240.6 240.7 240.8 240.9 241 
+  Bin 1241: 241 241.1 241.2 241.3 241.4 241.5 241.6 241.7 241.8 241.9 242 
+  Bin 1242: 242 242.1 242.2 242.3 242.4 242.5 242.6 242.7 242.8 242.9 243 
+  Bin 1243: 243 243.1 243.2 243.3 243.4 243.5 243.6 243.7 243.8 243.9 244 
+  Bin 1244: 244 244.1 244.2 244.3 244.4 244.5 244.6 244.7 244.8 244.9 245 
+  Bin 1245: 245 245.1 245.2 245.3 245.4 245.5 245.6 245.7 245.8 245.9 246 
+  Bin 1246: 246 246.1 246.2 246.3 246.4 246.5 246.6 246.7 246.8 246.9 247 
+  Bin 1247: 247 247.1 247.2 247.3 247.4 247.5 247.6 247.7 247.8 247.9 248 
+  Bin 1248: 248 248.1 248.2 248.3 248.4 248.5 248.6 248.7 248.8 248.9 249 
+  Bin 1249: 249 249.1 249.2 249.3 249.4 249.5 249.6 249.7 249.8 249.9 250 
+  Bin 1250: 250 250.1 250.2 250.3 250.4 250.5 250.6 250.7 250.8 250.9 251 
+  Bin 1251: 251 251.1 251.2 251.3 251.4 251.5 251.6 251.7 251.8 251.9 252 
+  Bin 1252: 252 252.1 252.2 252.3 252.4 252.5 252.6 252.7 252.8 252.9 253 
+  Bin 1253: 253 253.1 253.2 253.3 253.4 253.5 253.6 253.7 253.8 253.9 254 
+  Bin 1254: 254 254.1 254.2 254.3 254.4 254.5 254.6 254.7 254.8 254.9 255 
+  Bin 1255: 255 255.1 255.2 255.3 255.4 255.5 255.6 255.7 255.8 255.9 256 
+  Bin 1256: 256 256.1 256.2 256.3 256.4 256.5 256.6 256.7 256.8 256.9 257 
+  Bin 1257: 257 257.1 257.2 257.3 257.4 257.5 257.6 257.7 257.8 257.9 258 
+  Bin 1258: 258 258.1 258.2 258.3 258.4 258.5 258.6 258.7 258.8 258.9 259 
+  Bin 1259: 259 259.1 259.2 259.3 259.4 259.5 259.6 259.7 259.8 259.9 260 
+  Bin 1260: 260 260.1 260.2 260.3 260.4 260.5 260.6 260.7 260.8 260.9 261 
+  Bin 1261: 261 261.1 261.2 261.3 261.4 261.5 261.6 261.7 261.8 261.9 262 
+  Bin 1262: 262 262.1 262.2 262.3 262.4 262.5 262.6 262.7 262.8 262.9 263 
+  Bin 1263: 263 263.1 263.2 263.3 263.4 263.5 263.6 263.7 263.8 263.9 264 
+  Bin 1264: 264 264.1 264.2 264.3 264.4 264.5 264.6 264.7 264.8 264.9 265 
+  Bin 1265: 265 265.1 265.2 265.3 265.4 265.5 265.6 265.7 265.8 265.9 266 
+  Bin 1266: 266 266.1 266.2 266.3 266.4 266.5 266.6 266.7 266.8 266.9 267 
+  Bin 1267: 267 267.1 267.2 267.3 267.4 267.5 267.6 267.7 267.8 267.9 268 
+  Bin 1268: 268 268.1 268.2 268.3 268.4 268.5 268.6 268.7 268.8 268.9 269 
+  Bin 1269: 269 269.1 269.2 269.3 269.4 269.5 269.6 269.7 269.8 269.9 270 
+  Bin 1270: 270 270.1 270.2 270.3 270.4 270.5 270.6 270.7 270.8 270.9 271 
+  Bin 1271: 271 271.1 271.2 271.3 271.4 271.5 271.6 271.7 271.8 271.9 272 
+  Bin 1272: 272 272.1 272.2 272.3 272.4 272.5 272.6 272.7 272.8 272.9 273 
+  Bin 1273: 273 273.1 273.2 273.3 273.4 273.5 273.6 273.7 273.8 273.9 274 
+  Bin 1274: 274 274.1 274.2 274.3 274.4 274.5 274.6 274.7 274.8 274.9 275 
+  Bin 1275: 275 275.1 275.2 275.3 275.4 275.5 275.6 275.7 275.8 275.9 276 
+  Bin 1276: 276 276.1 276.2 276.3 276.4 276.5 276.6 276.7 276.8 276.9 277 
+  Bin 1277: 277 277.1 277.2 277.3 277.4 277.5 277.6 277.7 277.8 277.9 278 
+  Bin 1278: 278 278.1 278.2 278.3 278.4 278.5 278.6 278.7 278.8 278.9 279 
+  Bin 1279: 279 279.1 279.2 279.3 279.4 279.5 279.6 279.7 279.8 279.9 280 
+  Bin 1280: 280 280.1 280.2 280.3 280.4 280.5 280.6 280.7 280.8 280.9 281 
+  Bin 1281: 281 281.1 281.2 281.3 281.4 281.5 281.6 281.7 281.8 281.9 282 
+  Bin 1282: 282 282.1 282.2 282.3 282.4 282.5 282.6 282.7 282.8 282.9 283 
+  Bin 1283: 283 283.1 283.2 283.3 283.4 283.5 283.6 283.7 283.8 283.9 284 
+  Bin 1284: 284 284.1 284.2 284.3 284.4 284.5 284.6 284.7 284.8 284.9 285 
+  Bin 1285: 285 285.1 285.2 285.3 285.4 285.5 285.6 285.7 285.8 285.9 286 
+  Bin 1286: 286 286.1 286.2 286.3 286.4 286.5 286.6 286.7 286.8 286.9 287 
+  Bin 1287: 287 287.1 287.2 287.3 287.4 287.5 287.6 287.7 287.8 287.9 288 
+  Bin 1288: 288 288.1 288.2 288.3 288.4 288.5 288.6 288.7 288.8 288.9 289 
+  Bin 1289: 289 289.1 289.2 289.3 289.4 289.5 289.6 289.7 289.8 289.9 290 
+  Bin 1290: 290 290.1 290.2 290.3 290.4 290.5 290.6 290.7 290.8 290.9 291 
+  Bin 1291: 291 291.1 291.2 291.3 291.4 291.5 291.6 291.7 291.8 291.9 292 
+  Bin 1292: 292 292.1 292.2 292.3 292.4 292.5 292.6 292.7 292.8 292.9 293 
+  Bin 1293: 293 293.1 293.2 293.3 293.4 293.5 293.6 293.7 293.8 293.9 294 
+  Bin 1294: 294 294.1 294.2 294.3 294.4 294.5 294.6 294.7 294.8 294.9 295 
+  Bin 1295: 295 295.1 295.2 295.3 295.4 295.5 295.6 295.7 295.8 295.9 296 
+  Bin 1296: 296 296.1 296.2 296.3 296.4 296.5 296.6 296.7 296.8 296.9 297 
+  Bin 1297: 297 297.1 297.2 297.3 297.4 297.5 297.6 297.7 297.8 297.9 298 
+  Bin 1298: 298 298.1 298.2 298.3 298.4 298.5 298.6 298.7 298.8 298.9 299 
+  Bin 1299: 299 299.1 299.2 299.3 299.4 299.5 299.6 299.7 299.8 299.9 300 
+  Bin 1300: 300 300.1 300.2 300.3 300.4 300.5 300.6 300.7 300.8 300.9 301 
+  Bin 1301: 301 301.1 301.2 301.3 301.4 301.5 301.6 301.7 301.8 301.9 302 
+  Bin 1302: 302 302.1 302.2 302.3 302.4 302.5 302.6 302.7 302.8 302.9 303 
+  Bin 1303: 303 303.1 303.2 303.3 303.4 303.5 303.6 303.7 303.8 303.9 304 
+  Bin 1304: 304 304.1 304.2 304.3 304.4 304.5 304.6 304.7 304.8 304.9 305 
+  Bin 1305: 305 305.1 305.2 305.3 305.4 305.5 305.6 305.7 305.8 305.9 306 
+  Bin 1306: 306 306.1 306.2 306.3 306.4 306.5 306.6 306.7 306.8 306.9 307 
+  Bin 1307: 307 307.1 307.2 307.3 307.4 307.5 307.6 307.7 307.8 307.9 308 
+  Bin 1308: 308 308.1 308.2 308.3 308.4 308.5 308.6 308.7 308.8 308.9 309 
+  Bin 1309: 309 309.1 309.2 309.3 309.4 309.5 309.6 309.7 309.8 309.9 310 
+  Bin 1310: 310 310.1 310.2 310.3 310.4 310.5 310.6 310.7 310.8 310.9 311 
+  Bin 1311: 311 311.1 311.2 311.3 311.4 311.5 311.6 311.7 311.8 311.9 312 
+  Bin 1312: 312 312.1 312.2 312.3 312.4 312.5 312.6 312.7 312.8 312.9 313 
+  Bin 1313: 313 313.1 313.2 313.3 313.4 313.5 313.6 313.7 313.8 313.9 314 
+  Bin 1314: 314 314.1 314.2 314.3 314.4 314.5 314.6 314.7 314.8 314.9 315 
+  Bin 1315: 315 315.1 315.2 315.3 315.4 315.5 315.6 315.7 315.8 315.9 316 
+  Bin 1316: 316 316.1 316.2 316.3 316.4 316.5 316.6 316.7 316.8 316.9 317 
+  Bin 1317: 317 317.1 317.2 317.3 317.4 317.5 317.6 317.7 317.8 317.9 318 
+  Bin 1318: 318 318.1 318.2 318.3 318.4 318.5 318.6 318.7 318.8 318.9 319 
+  Bin 1319: 319 319.1 319.2 319.3 319.4 319.5 319.6 319.7 319.8 319.9 320 
+  Bin 1320: 320 320.1 320.2 320.3 320.4 320.5 320.6 320.7 320.8 320.9 321 
+  Bin 1321: 321 321.1 321.2 321.3 321.4 321.5 321.6 321.7 321.8 321.9 322 
+  Bin 1322: 322 322.1 322.2 322.3 322.4 322.5 322.6 322.7 322.8 322.9 323 
+  Bin 1323: 323 323.1 323.2 323.3 323.4 323.5 323.6 323.7 323.8 323.9 324 
+  Bin 1324: 324 324.1 324.2 324.3 324.4 324.5 324.6 324.7 324.8 324.9 325 
+  Bin 1325: 325 325.1 325.2 325.3 325.4 325.5 325.6 325.7 325.8 325.9 326 
+  Bin 1326: 326 326.1 326.2 326.3 326.4 326.5 326.6 326.7 326.8 326.9 327 
+  Bin 1327: 327 327.1 327.2 327.3 327.4 327.5 327.6 327.7 327.8 327.9 328 
+  Bin 1328: 328 328.1 328.2 328.3 328.4 328.5 328.6 328.7 328.8 328.9 329 
+  Bin 1329: 329 329.1 329.2 329.3 329.4 329.5 329.6 329.7 329.8 329.9 330 
+  Bin 1330: 330 330.1 330.2 330.3 330.4 330.5 330.6 330.7 330.8 330.9 331 
+  Bin 1331: 331 331.1 331.2 331.3 331.4 331.5 331.6 331.7 331.8 331.9 332 
+  Bin 1332: 332 332.1 332.2 332.3 332.4 332.5 332.6 332.7 332.8 332.9 333 
+  Bin 1333: 333 333.1 333.2 333.3 333.4 333.5 333.6 333.7 333.8 333.9 334 
+  Bin 1334: 334 334.1 334.2 334.3 334.4 334.5 334.6 334.7 334.8 334.9 335 
+  Bin 1335: 335 335.1 335.2 335.3 335.4 335.5 335.6 335.7 335.8 335.9 336 
+  Bin 1336: 336 336.1 336.2 336.3 336.4 336.5 336.6 336.7 336.8 336.9 337 
+  Bin 1337: 337 337.1 337.2 337.3 337.4 337.5 337.6 337.7 337.8 337.9 338 
+  Bin 1338: 338 338.1 338.2 338.3 338.4 338.5 338.6 338.7 338.8 338.9 339 
+  Bin 1339: 339 339.1 339.2 339.3 339.4 339.5 339.6 339.7 339.8 339.9 340 
+  Bin 1340: 340 340.1 340.2 340.3 340.4 340.5 340.6 340.7 340.8 340.9 341 
+  Bin 1341: 341 341.1 341.2 341.3 341.4 341.5 341.6 341.7 341.8 341.9 342 
+  Bin 1342: 342 342.1 342.2 342.3 342.4 342.5 342.6 342.7 342.8 342.9 343 
+  Bin 1343: 343 343.1 343.2 343.3 343.4 343.5 343.6 343.7 343.8 343.9 344 
+  Bin 1344: 344 344.1 344.2 344.3 344.4 344.5 344.6 344.7 344.8 344.9 345 
+  Bin 1345: 345 345.1 345.2 345.3 345.4 345.5 345.6 345.7 345.8 345.9 346 
+  Bin 1346: 346 346.1 346.2 346.3 346.4 346.5 346.6 346.7 346.8 346.9 347 
+  Bin 1347: 347 347.1 347.2 347.3 347.4 347.5 347.6 347.7 347.8 347.9 348 
+  Bin 1348: 348 348.1 348.2 348.3 348.4 348.5 348.6 348.7 348.8 348.9 349 
+  Bin 1349: 349 349.1 349.2 349.3 349.4 349.5 349.6 349.7 349.8 349.9 350 
+  Bin 1350: 350 350.1 350.2 350.3 350.4 350.5 350.6 350.7 350.8 350.9 351 
+  Bin 1351: 351 351.1 351.2 351.3 351.4 351.5 351.6 351.7 351.8 351.9 352 
+  Bin 1352: 352 352.1 352.2 352.3 352.4 352.5 352.6 352.7 352.8 352.9 353 
+  Bin 1353: 353 353.1 353.2 353.3 353.4 353.5 353.6 353.7 353.8 353.9 354 
+  Bin 1354: 354 354.1 354.2 354.3 354.4 354.5 354.6 354.7 354.8 354.9 355 
+  Bin 1355: 355 355.1 355.2 355.3 355.4 355.5 355.6 355.7 355.8 355.9 356 
+  Bin 1356: 356 356.1 356.2 356.3 356.4 356.5 356.6 356.7 356.8 356.9 357 
+  Bin 1357: 357 357.1 357.2 357.3 357.4 357.5 357.6 357.7 357.8 357.9 358 
+  Bin 1358: 358 358.1 358.2 358.3 358.4 358.5 358.6 358.7 358.8 358.9 359 
+  Bin 1359: 359 359.1 359.2 359.3 359.4 359.5 359.6 359.7 359.8 359.9 360 
+  Bin 1360: 360 360.1 360.2 360.3 360.4 360.5 360.6 360.7 360.8 360.9 361 
+  Bin 1361: 361 361.1 361.2 361.3 361.4 361.5 361.6 361.7 361.8 361.9 362 
+  Bin 1362: 362 362.1 362.2 362.3 362.4 362.5 362.6 362.7 362.8 362.9 363 
+  Bin 1363: 363 363.1 363.2 363.3 363.4 363.5 363.6 363.7 363.8 363.9 364 
+  Bin 1364: 364 364.1 364.2 364.3 364.4 364.5 364.6 364.7 364.8 364.9 365 
+  Bin 1365: 365 365.1 365.2 365.3 365.4 365.5 365.6 365.7 365.8 365.9 366 
+  Bin 1366: 366 366.1 366.2 366.3 366.4 366.5 366.6 366.7 366.8 366.9 367 
+  Bin 1367: 367 367.1 367.2 367.3 367.4 367.5 367.6 367.7 367.8 367.9 368 
+  Bin 1368: 368 368.1 368.2 368.3 368.4 368.5 368.6 368.7 368.8 368.9 369 
+  Bin 1369: 369 369.1 369.2 369.3 369.4 369.5 369.6 369.7 369.8 369.9 370 
+  Bin 1370: 370 370.1 370.2 370.3 370.4 370.5 370.6 370.7 370.8 370.9 371 
+  Bin 1371: 371 371.1 371.2 371.3 371.4 371.5 371.6 371.7 371.8 371.9 372 
+  Bin 1372: 372 372.1 372.2 372.3 372.4 372.5 372.6 372.7 372.8 372.9 373 
+  Bin 1373: 373 373.1 373.2 373.3 373.4 373.5 373.6 373.7 373.8 373.9 374 
+  Bin 1374: 374 374.1 374.2 374.3 374.4 374.5 374.6 374.7 374.8 374.9 375 
+  Bin 1375: 375 375.1 375.2 375.3 375.4 375.5 375.6 375.7 375.8 375.9 376 
+  Bin 1376: 376 376.1 376.2 376.3 376.4 376.5 376.6 376.7 376.8 376.9 377 
+  Bin 1377: 377 377.1 377.2 377.3 377.4 377.5 377.6 377.7 377.8 377.9 378 
+  Bin 1378: 378 378.1 378.2 378.3 378.4 378.5 378.6 378.7 378.8 378.9 379 
+  Bin 1379: 379 379.1 379.2 379.3 379.4 379.5 379.6 379.7 379.8 379.9 380 
+  Bin 1380: 380 380.1 380.2 380.3 380.4 380.5 380.6 380.7 380.8 380.9 381 
+  Bin 1381: 381 381.1 381.2 381.3 381.4 381.5 381.6 381.7 381.8 381.9 382 
+  Bin 1382: 382 382.1 382.2 382.3 382.4 382.5 382.6 382.7 382.8 382.9 383 
+  Bin 1383: 383 383.1 383.2 383.3 383.4 383.5 383.6 383.7 383.8 383.9 384 
+  Bin 1384: 384 384.1 384.2 384.3 384.4 384.5 384.6 384.7 384.8 384.9 385 
+  Bin 1385: 385 385.1 385.2 385.3 385.4 385.5 385.6 385.7 385.8 385.9 386 
+  Bin 1386: 386 386.1 386.2 386.3 386.4 386.5 386.6 386.7 386.8 386.9 387 
+  Bin 1387: 387 387.1 387.2 387.3 387.4 387.5 387.6 387.7 387.8 387.9 388 
+  Bin 1388: 388 388.1 388.2 388.3 388.4 388.5 388.6 388.7 388.8 388.9 389 
+  Bin 1389: 389 389.1 389.2 389.3 389.4 389.5 389.6 389.7 389.8 389.9 390 
+  Bin 1390: 390 390.1 390.2 390.3 390.4 390.5 390.6 390.7 390.8 390.9 391 
+  Bin 1391: 391 391.1 391.2 391.3 391.4 391.5 391.6 391.7 391.8 391.9 392 
+  Bin 1392: 392 392.1 392.2 392.3 392.4 392.5 392.6 392.7 392.8 392.9 393 
+  Bin 1393: 393 393.1 393.2 393.3 393.4 393.5 393.6 393.7 393.8 393.9 394 
+  Bin 1394: 394 394.1 394.2 394.3 394.4 394.5 394.6 394.7 394.8 394.9 395 
+  Bin 1395: 395 395.1 395.2 395.3 395.4 395.5 395.6 395.7 395.8 395.9 396 
+  Bin 1396: 396 396.1 396.2 396.3 396.4 396.5 396.6 396.7 396.8 396.9 397 
+  Bin 1397: 397 397.1 397.2 397.3 397.4 397.5 397.6 397.7 397.8 397.9 398 
+  Bin 1398: 398 398.1 398.2 398.3 398.4 398.5 398.6 398.7 398.8 398.9 399 
+  Bin 1399: 399 399.1 399.2 399.3 399.4 399.5 399.6 399.7 399.8 399.9 400 
+  Bin 1400: 400 400.1 400.2 400.3 400.4 400.5 400.6 400.7 400.8 400.9 401 
+  Bin 1401: 401 401.1 401.2 401.3 401.4 401.5 401.6 401.7 401.8 401.9 402 
+  Bin 1402: 402 402.1 402.2 402.3 402.4 402.5 402.6 402.7 402.8 402.9 403 
+  Bin 1403: 403 403.1 403.2 403.3 403.4 403.5 403.6 403.7 403.8 403.9 404 
+  Bin 1404: 404 404.1 404.2 404.3 404.4 404.5 404.6 404.7 404.8 404.9 405 
+  Bin 1405: 405 405.1 405.2 405.3 405.4 405.5 405.6 405.7 405.8 405.9 406 
+  Bin 1406: 406 406.1 406.2 406.3 406.4 406.5 406.6 406.7 406.8 406.9 407 
+  Bin 1407: 407 407.1 407.2 407.3 407.4 407.5 407.6 407.7 407.8 407.9 408 
+  Bin 1408: 408 408.1 408.2 408.3 408.4 408.5 408.6 408.7 408.8 408.9 409 
+  Bin 1409: 409 409.1 409.2 409.3 409.4 409.5 409.6 409.7 409.8 409.9 410 
+  Bin 1410: 410 410.1 410.2 410.3 410.4 410.5 410.6 410.7 410.8 410.9 411 
+  Bin 1411: 411 411.1 411.2 411.3 411.4 411.5 411.6 411.7 411.8 411.9 412 
+  Bin 1412: 412 412.1 412.2 412.3 412.4 412.5 412.6 412.7 412.8 412.9 413 
+  Bin 1413: 413 413.1 413.2 413.3 413.4 413.5 413.6 413.7 413.8 413.9 414 
+  Bin 1414: 414 414.1 414.2 414.3 414.4 414.5 414.6 414.7 414.8 414.9 415 
+  Bin 1415: 415 415.1 415.2 415.3 415.4 415.5 415.6 415.7 415.8 415.9 416 
+  Bin 1416: 416 416.1 416.2 416.3 416.4 416.5 416.6 416.7 416.8 416.9 417 
+  Bin 1417: 417 417.1 417.2 417.3 417.4 417.5 417.6 417.7 417.8 417.9 418 
+  Bin 1418: 418 418.1 418.2 418.3 418.4 418.5 418.6 418.7 418.8 418.9 419 
+  Bin 1419: 419 419.1 419.2 419.3 419.4 419.5 419.6 419.7 419.8 419.9 420 
+  Bin 1420: 420 420.1 420.2 420.3 420.4 420.5 420.6 420.7 420.8 420.9 421 
+  Bin 1421: 421 421.1 421.2 421.3 421.4 421.5 421.6 421.7 421.8 421.9 422 
+  Bin 1422: 422 422.1 422.2 422.3 422.4 422.5 422.6 422.7 422.8 422.9 423 
+  Bin 1423: 423 423.1 423.2 423.3 423.4 423.5 423.6 423.7 423.8 423.9 424 
+  Bin 1424: 424 424.1 424.2 424.3 424.4 424.5 424.6 424.7 424.8 424.9 425 
+  Bin 1425: 425 425.1 425.2 425.3 425.4 425.5 425.6 425.7 425.8 425.9 426 
+  Bin 1426: 426 426.1 426.2 426.3 426.4 426.5 426.6 426.7 426.8 426.9 427 
+  Bin 1427: 427 427.1 427.2 427.3 427.4 427.5 427.6 427.7 427.8 427.9 428 
+  Bin 1428: 428 428.1 428.2 428.3 428.4 428.5 428.6 428.7 428.8 428.9 429 
+  Bin 1429: 429 429.1 429.2 429.3 429.4 429.5 429.6 429.7 429.8 429.9 430 
+  Bin 1430: 430 430.1 430.2 430.3 430.4 430.5 430.6 430.7 430.8 430.9 431 
+  Bin 1431: 431 431.1 431.2 431.3 431.4 431.5 431.6 431.7 431.8 431.9 432 
+  Bin 1432: 432 432.1 432.2 432.3 432.4 432.5 432.6 432.7 432.8 432.9 433 
+  Bin 1433: 433 433.1 433.2 433.3 433.4 433.5 433.6 433.7 433.8 433.9 434 
+  Bin 1434: 434 434.1 434.2 434.3 434.4 434.5 434.6 434.7 434.8 434.9 435 
+  Bin 1435: 435 435.1 435.2 435.3 435.4 435.5 435.6 435.7 435.8 435.9 436 
+  Bin 1436: 436 436.1 436.2 436.3 436.4 436.5 436.6 436.7 436.8 436.9 437 
+  Bin 1437: 437 437.1 437.2 437.3 437.4 437.5 437.6 437.7 437.8 437.9 438 
+  Bin 1438: 438 438.1 438.2 438.3 438.4 438.5 438.6 438.7 438.8 438.9 439 
+  Bin 1439: 439 439.1 439.2 439.3 439.4 439.5 439.6 439.7 439.8 439.9 440 
+  Bin 1440: 440 440.1 440.2 440.3 440.4 440.5 440.6 440.7 440.8 440.9 441 
+  Bin 1441: 441 441.1 441.2 441.3 441.4 441.5 441.6 441.7 441.8 441.9 442 
+  Bin 1442: 442 442.1 442.2 442.3 442.4 442.5 442.6 442.7 442.8 442.9 443 
+  Bin 1443: 443 443.1 443.2 443.3 443.4 443.5 443.6 443.7 443.8 443.9 444 
+  Bin 1444: 444 444.1 444.2 444.3 444.4 444.5 444.6 444.7 444.8 444.9 445 
+  Bin 1445: 445 445.1 445.2 445.3 445.4 445.5 445.6 445.7 445.8 445.9 446 
+  Bin 1446: 446 446.1 446.2 446.3 446.4 446.5 446.6 446.7 446.8 446.9 447 
+  Bin 1447: 447 447.1 447.2 447.3 447.4 447.5 447.6 447.7 447.8 447.9 448 
+  Bin 1448: 448 448.1 448.2 448.3 448.4 448.5 448.6 448.7 448.8 448.9 449 
+  Bin 1449: 449 449.1 449.2 449.3 449.4 449.5 449.6 449.7 449.8 449.9 450 
+  Bin 1450: 450 450.1 450.2 450.3 450.4 450.5 450.6 450.7 450.8 450.9 451 
+  Bin 1451: 451 451.1 451.2 451.3 451.4 451.5 451.6 451.7 451.8 451.9 452 
+  Bin 1452: 452 452.1 452.2 452.3 452.4 452.5 452.6 452.7 452.8 452.9 453 
+  Bin 1453: 453 453.1 453.2 453.3 453.4 453.5 453.6 453.7 453.8 453.9 454 
+  Bin 1454: 454 454.1 454.2 454.3 454.4 454.5 454.6 454.7 454.8 454.9 455 
+  Bin 1455: 455 455.1 455.2 455.3 455.4 455.5 455.6 455.7 455.8 455.9 456 
+  Bin 1456: 456 456.1 456.2 456.3 456.4 456.5 456.6 456.7 456.8 456.9 457 
+  Bin 1457: 457 457.1 457.2 457.3 457.4 457.5 457.6 457.7 457.8 457.9 458 
+  Bin 1458: 458 458.1 458.2 458.3 458.4 458.5 458.6 458.7 458.8 458.9 459 
+  Bin 1459: 459 459.1 459.2 459.3 459.4 459.5 459.6 459.7 459.8 459.9 460 
+  Bin 1460: 460 460.1 460.2 460.3 460.4 460.5 460.6 460.7 460.8 460.9 461 
+  Bin 1461: 461 461.1 461.2 461.3 461.4 461.5 461.6 461.7 461.8 461.9 462 
+  Bin 1462: 462 462.1 462.2 462.3 462.4 462.5 462.6 462.7 462.8 462.9 463 
+  Bin 1463: 463 463.1 463.2 463.3 463.4 463.5 463.6 463.7 463.8 463.9 464 
+  Bin 1464: 464 464.1 464.2 464.3 464.4 464.5 464.6 464.7 464.8 464.9 465 
+  Bin 1465: 465 465.1 465.2 465.3 465.4 465.5 465.6 465.7 465.8 465.9 466 
+  Bin 1466: 466 466.1 466.2 466.3 466.4 466.5 466.6 466.7 466.8 466.9 467 
+  Bin 1467: 467 467.1 467.2 467.3 467.4 467.5 467.6 467.7 467.8 467.9 468 
+  Bin 1468: 468 468.1 468.2 468.3 468.4 468.5 468.6 468.7 468.8 468.9 469 
+  Bin 1469: 469 469.1 469.2 469.3 469.4 469.5 469.6 469.7 469.8 469.9 470 
+  Bin 1470: 470 470.1 470.2 470.3 470.4 470.5 470.6 470.7 470.8 470.9 471 
+  Bin 1471: 471 471.1 471.2 471.3 471.4 471.5 471.6 471.7 471.8 471.9 472 
+  Bin 1472: 472 472.1 472.2 472.3 472.4 472.5 472.6 472.7 472.8 472.9 473 
+  Bin 1473: 473 473.1 473.2 473.3 473.4 473.5 473.6 473.7 473.8 473.9 474 
+  Bin 1474: 474 474.1 474.2 474.3 474.4 474.5 474.6 474.7 474.8 474.9 475 
+  Bin 1475: 475 475.1 475.2 475.3 475.4 475.5 475.6 475.7 475.8 475.9 476 
+  Bin 1476: 476 476.1 476.2 476.3 476.4 476.5 476.6 476.7 476.8 476.9 477 
+  Bin 1477: 477 477.1 477.2 477.3 477.4 477.5 477.6 477.7 477.8 477.9 478 
+  Bin 1478: 478 478.1 478.2 478.3 478.4 478.5 478.6 478.7 478.8 478.9 479 
+  Bin 1479: 479 479.1 479.2 479.3 479.4 479.5 479.6 479.7 479.8 479.9 480 
+  Bin 1480: 480 480.1 480.2 480.3 480.4 480.5 480.6 480.7 480.8 480.9 481 
+  Bin 1481: 481 481.1 481.2 481.3 481.4 481.5 481.6 481.7 481.8 481.9 482 
+  Bin 1482: 482 482.1 482.2 482.3 482.4 482.5 482.6 482.7 482.8 482.9 483 
+  Bin 1483: 483 483.1 483.2 483.3 483.4 483.5 483.6 483.7 483.8 483.9 484 
+  Bin 1484: 484 484.1 484.2 484.3 484.4 484.5 484.6 484.7 484.8 484.9 485 
+  Bin 1485: 485 485.1 485.2 485.3 485.4 485.5 485.6 485.7 485.8 485.9 486 
+  Bin 1486: 486 486.1 486.2 486.3 486.4 486.5 486.6 486.7 486.8 486.9 487 
+  Bin 1487: 487 487.1 487.2 487.3 487.4 487.5 487.6 487.7 487.8 487.9 488 
+  Bin 1488: 488 488.1 488.2 488.3 488.4 488.5 488.6 488.7 488.8 488.9 489 
+  Bin 1489: 489 489.1 489.2 489.3 489.4 489.5 489.6 489.7 489.8 489.9 490 
+  Bin 1490: 490 490.1 490.2 490.3 490.4 490.5 490.6 490.7 490.8 490.9 491 
+  Bin 1491: 491 491.1 491.2 491.3 491.4 491.5 491.6 491.7 491.8 491.9 492 
+  Bin 1492: 492 492.1 492.2 492.3 492.4 492.5 492.6 492.7 492.8 492.9 493 
+  Bin 1493: 493 493.1 493.2 493.3 493.4 493.5 493.6 493.7 493.8 493.9 494 
+  Bin 1494: 494 494.1 494.2 494.3 494.4 494.5 494.6 494.7 494.8 494.9 495 
+  Bin 1495: 495 495.1 495.2 495.3 495.4 495.5 495.6 495.7 495.8 495.9 496 
+  Bin 1496: 496 496.1 496.2 496.3 496.4 496.5 496.6 496.7 496.8 496.9 497 
+  Bin 1497: 497 497.1 497.2 497.3 497.4 497.5 497.6 497.7 497.8 497.9 498 
+  Bin 1498: 498 498.1 498.2 498.3 498.4 498.5 498.6 498.7 498.8 498.9 499 
+  Bin 1499: 499 499.1 499.2 499.3 499.4 499.5 499.6 499.7 499.8 499.9 500 
+  Bin 1500: 500 500.1 500.2 500.3 500.4 500.5 500.6 500.7 500.8 500.9 501 
+  Bin 1501: 501 501.1 501.2 501.3 501.4 501.5 501.6 501.7 501.8 501.9 502 
+  Bin 1502: 502 502.1 502.2 502.3 502.4 502.5 502.6 502.7 502.8 502.9 503 
+  Bin 1503: 503 503.1 503.2 503.3 503.4 503.5 503.6 503.7 503.8 503.9 504 
+  Bin 1504: 504 504.1 504.2 504.3 504.4 504.5 504.6 504.7 504.8 504.9 505 
+  Bin 1505: 505 505.1 505.2 505.3 505.4 505.5 505.6 505.7 505.8 505.9 506 
+  Bin 1506: 506 506.1 506.2 506.3 506.4 506.5 506.6 506.7 506.8 506.9 507 
+  Bin 1507: 507 507.1 507.2 507.3 507.4 507.5 507.6 507.7 507.8 507.9 508 
+  Bin 1508: 508 508.1 508.2 508.3 508.4 508.5 508.6 508.7 508.8 508.9 509 
+  Bin 1509: 509 509.1 509.2 509.3 509.4 509.5 509.6 509.7 509.8 509.9 510 
+  Bin 1510: 510 510.1 510.2 510.3 510.4 510.5 510.6 510.7 510.8 510.9 511 
+  Bin 1511: 511 511.1 511.2 511.3 511.4 511.5 511.6 511.7 511.8 511.9 512 
+  Bin 1512: 512 512.1 512.2 512.3 512.4 512.5 512.6 512.7 512.8 512.9 513 
+  Bin 1513: 513 513.1 513.2 513.3 513.4 513.5 513.6 513.7 513.8 513.9 514 
+  Bin 1514: 514 514.1 514.2 514.3 514.4 514.5 514.6 514.7 514.8 514.9 515 
+  Bin 1515: 515 515.1 515.2 515.3 515.4 515.5 515.6 515.7 515.8 515.9 516 
+  Bin 1516: 516 516.1 516.2 516.3 516.4 516.5 516.6 516.7 516.8 516.9 517 
+  Bin 1517: 517 517.1 517.2 517.3 517.4 517.5 517.6 517.7 517.8 517.9 518 
+  Bin 1518: 518 518.1 518.2 518.3 518.4 518.5 518.6 518.7 518.8 518.9 519 
+  Bin 1519: 519 519.1 519.2 519.3 519.4 519.5 519.6 519.7 519.8 519.9 520 
+  Bin 1520: 520 520.1 520.2 520.3 520.4 520.5 520.6 520.7 520.8 520.9 521 
+  Bin 1521: 521 521.1 521.2 521.3 521.4 521.5 521.6 521.7 521.8 521.9 522 
+  Bin 1522: 522 522.1 522.2 522.3 522.4 522.5 522.6 522.7 522.8 522.9 523 
+  Bin 1523: 523 523.1 523.2 523.3 523.4 523.5 523.6 523.7 523.8 523.9 524 
+  Bin 1524: 524 524.1 524.2 524.3 524.4 524.5 524.6 524.7 524.8 524.9 525 
+  Bin 1525: 525 525.1 525.2 525.3 525.4 525.5 525.6 525.7 525.8 525.9 526 
+  Bin 1526: 526 526.1 526.2 526.3 526.4 526.5 526.6 526.7 526.8 526.9 527 
+  Bin 1527: 527 527.1 527.2 527.3 527.4 527.5 527.6 527.7 527.8 527.9 528 
+  Bin 1528: 528 528.1 528.2 528.3 528.4 528.5 528.6 528.7 528.8 528.9 529 
+  Bin 1529: 529 529.1 529.2 529.3 529.4 529.5 529.6 529.7 529.8 529.9 530 
+  Bin 1530: 530 530.1 530.2 530.3 530.4 530.5 530.6 530.7 530.8 530.9 531 
+  Bin 1531: 531 531.1 531.2 531.3 531.4 531.5 531.6 531.7 531.8 531.9 532 
+  Bin 1532: 532 532.1 532.2 532.3 532.4 532.5 532.6 532.7 532.8 532.9 533 
+  Bin 1533: 533 533.1 533.2 533.3 533.4 533.5 533.6 533.7 533.8 533.9 534 
+  Bin 1534: 534 534.1 534.2 534.3 534.4 534.5 534.6 534.7 534.8 534.9 535 
+  Bin 1535: 535 535.1 535.2 535.3 535.4 535.5 535.6 535.7 535.8 535.9 536 
+  Bin 1536: 536 536.1 536.2 536.3 536.4 536.5 536.6 536.7 536.8 536.9 537 
+  Bin 1537: 537 537.1 537.2 537.3 537.4 537.5 537.6 537.7 537.8 537.9 538 
+  Bin 1538: 538 538.1 538.2 538.3 538.4 538.5 538.6 538.7 538.8 538.9 539 
+  Bin 1539: 539 539.1 539.2 539.3 539.4 539.5 539.6 539.7 539.8 539.9 540 
+  Bin 1540: 540 540.1 540.2 540.3 540.4 540.5 540.6 540.7 540.8 540.9 541 
+  Bin 1541: 541 541.1 541.2 541.3 541.4 541.5 541.6 541.7 541.8 541.9 542 
+  Bin 1542: 542 542.1 542.2 542.3 542.4 542.5 542.6 542.7 542.8 542.9 543 
+  Bin 1543: 543 543.1 543.2 543.3 543.4 543.5 543.6 543.7 543.8 543.9 544 
+  Bin 1544: 544 544.1 544.2 544.3 544.4 544.5 544.6 544.7 544.8 544.9 545 
+  Bin 1545: 545 545.1 545.2 545.3 545.4 545.5 545.6 545.7 545.8 545.9 546 
+  Bin 1546: 546 546.1 546.2 546.3 546.4 546.5 546.6 546.7 546.8 546.9 547 
+  Bin 1547: 547 547.1 547.2 547.3 547.4 547.5 547.6 547.7 547.8 547.9 548 
+  Bin 1548: 548 548.1 548.2 548.3 548.4 548.5 548.6 548.7 548.8 548.9 549 
+  Bin 1549: 549 549.1 549.2 549.3 549.4 549.5 549.6 549.7 549.8 549.9 550 
+  Bin 1550: 550 550.1 550.2 550.3 550.4 550.5 550.6 550.7 550.8 550.9 551 
+  Bin 1551: 551 551.1 551.2 551.3 551.4 551.5 551.6 551.7 551.8 551.9 552 
+  Bin 1552: 552 552.1 552.2 552.3 552.4 552.5 552.6 552.7 552.8 552.9 553 
+  Bin 1553: 553 553.1 553.2 553.3 553.4 553.5 553.6 553.7 553.8 553.9 554 
+  Bin 1554: 554 554.1 554.2 554.3 554.4 554.5 554.6 554.7 554.8 554.9 555 
+  Bin 1555: 555 555.1 555.2 555.3 555.4 555.5 555.6 555.7 555.8 555.9 556 
+  Bin 1556: 556 556.1 556.2 556.3 556.4 556.5 556.6 556.7 556.8 556.9 557 
+  Bin 1557: 557 557.1 557.2 557.3 557.4 557.5 557.6 557.7 557.8 557.9 558 
+  Bin 1558: 558 558.1 558.2 558.3 558.4 558.5 558.6 558.7 558.8 558.9 559 
+  Bin 1559: 559 559.1 559.2 559.3 559.4 559.5 559.6 559.7 559.8 559.9 560 
+  Bin 1560: 560 560.1 560.2 560.3 560.4 560.5 560.6 560.7 560.8 560.9 561 
+  Bin 1561: 561 561.1 561.2 561.3 561.4 561.5 561.6 561.7 561.8 561.9 562 
+  Bin 1562: 562 562.1 562.2 562.3 562.4 562.5 562.6 562.7 562.8 562.9 563 
+  Bin 1563: 563 563.1 563.2 563.3 563.4 563.5 563.6 563.7 563.8 563.9 564 
+  Bin 1564: 564 564.1 564.2 564.3 564.4 564.5 564.6 564.7 564.8 564.9 565 
+  Bin 1565: 565 565.1 565.2 565.3 565.4 565.5 565.6 565.7 565.8 565.9 566 
+  Bin 1566: 566 566.1 566.2 566.3 566.4 566.5 566.6 566.7 566.8 566.9 567 
+  Bin 1567: 567 567.1 567.2 567.3 567.4 567.5 567.6 567.7 567.8 567.9 568 
+  Bin 1568: 568 568.1 568.2 568.3 568.4 568.5 568.6 568.7 568.8 568.9 569 
+  Bin 1569: 569 569.1 569.2 569.3 569.4 569.5 569.6 569.7 569.8 569.9 570 
+  Bin 1570: 570 570.1 570.2 570.3 570.4 570.5 570.6 570.7 570.8 570.9 571 
+  Bin 1571: 571 571.1 571.2 571.3 571.4 571.5 571.6 571.7 571.8 571.9 572 
+  Bin 1572: 572 572.1 572.2 572.3 572.4 572.5 572.6 572.7 572.8 572.9 573 
+  Bin 1573: 573 573.1 573.2 573.3 573.4 573.5 573.6 573.7 573.8 573.9 574 
+  Bin 1574: 574 574.1 574.2 574.3 574.4 574.5 574.6 574.7 574.8 574.9 575 
+  Bin 1575: 575 575.1 575.2 575.3 575.4 575.5 575.6 575.7 575.8 575.9 576 
+  Bin 1576: 576 576.1 576.2 576.3 576.4 576.5 576.6 576.7 576.8 576.9 577 
+  Bin 1577: 577 577.1 577.2 577.3 577.4 577.5 577.6 577.7 577.8 577.9 578 
+  Bin 1578: 578 578.1 578.2 578.3 578.4 578.5 578.6 578.7 578.8 578.9 579 
+  Bin 1579: 579 579.1 579.2 579.3 579.4 579.5 579.6 579.7 579.8 579.9 580 
+  Bin 1580: 580 580.1 580.2 580.3 580.4 580.5 580.6 580.7 580.8 580.9 581 
+  Bin 1581: 581 581.1 581.2 581.3 581.4 581.5 581.6 581.7 581.8 581.9 582 
+  Bin 1582: 582 582.1 582.2 582.3 582.4 582.5 582.6 582.7 582.8 582.9 583 
+  Bin 1583: 583 583.1 583.2 583.3 583.4 583.5 583.6 583.7 583.8 583.9 584 
+  Bin 1584: 584 584.1 584.2 584.3 584.4 584.5 584.6 584.7 584.8 584.9 585 
+  Bin 1585: 585 585.1 585.2 585.3 585.4 585.5 585.6 585.7 585.8 585.9 586 
+  Bin 1586: 586 586.1 586.2 586.3 586.4 586.5 586.6 586.7 586.8 586.9 587 
+  Bin 1587: 587 587.1 587.2 587.3 587.4 587.5 587.6 587.7 587.8 587.9 588 
+  Bin 1588: 588 588.1 588.2 588.3 588.4 588.5 588.6 588.7 588.8 588.9 589 
+  Bin 1589: 589 589.1 589.2 589.3 589.4 589.5 589.6 589.7 589.8 589.9 590 
+  Bin 1590: 590 590.1 590.2 590.3 590.4 590.5 590.6 590.7 590.8 590.9 591 
+  Bin 1591: 591 591.1 591.2 591.3 591.4 591.5 591.6 591.7 591.8 591.9 592 
+  Bin 1592: 592 592.1 592.2 592.3 592.4 592.5 592.6 592.7 592.8 592.9 593 
+  Bin 1593: 593 593.1 593.2 593.3 593.4 593.5 593.6 593.7 593.8 593.9 594 
+  Bin 1594: 594 594.1 594.2 594.3 594.4 594.5 594.6 594.7 594.8 594.9 595 
+  Bin 1595: 595 595.1 595.2 595.3 595.4 595.5 595.6 595.7 595.8 595.9 596 
+  Bin 1596: 596 596.1 596.2 596.3 596.4 596.5 596.6 596.7 596.8 596.9 597 
+  Bin 1597: 597 597.1 597.2 597.3 597.4 597.5 597.6 597.7 597.8 597.9 598 
+  Bin 1598: 598 598.1 598.2 598.3 598.4 598.5 598.6 598.7 598.8 598.9 599 
+  Bin 1599: 599 599.1 599.2 599.3 599.4 599.5 599.6 599.7 599.8 599.9 600 
+  Bin 1600: 600 600.1 600.2 600.3 600.4 600.5 600.6 600.7 600.8 600.9 601 
+  Bin 1601: 601 601.1 601.2 601.3 601.4 601.5 601.6 601.7 601.8 601.9 602 
+  Bin 1602: 602 602.1 602.2 602.3 602.4 602.5 602.6 602.7 602.8 602.9 603 
+  Bin 1603: 603 603.1 603.2 603.3 603.4 603.5 603.6 603.7 603.8 603.9 604 
+  Bin 1604: 604 604.1 604.2 604.3 604.4 604.5 604.6 604.7 604.8 604.9 605 
+  Bin 1605: 605 605.1 605.2 605.3 605.4 605.5 605.6 605.7 605.8 605.9 606 
+  Bin 1606: 606 606.1 606.2 606.3 606.4 606.5 606.6 606.7 606.8 606.9 607 
+  Bin 1607: 607 607.1 607.2 607.3 607.4 607.5 607.6 607.7 607.8 607.9 608 
+  Bin 1608: 608 608.1 608.2 608.3 608.4 608.5 608.6 608.7 608.8 608.9 609 
+  Bin 1609: 609 609.1 609.2 609.3 609.4 609.5 609.6 609.7 609.8 609.9 610 
+  Bin 1610: 610 610.1 610.2 610.3 610.4 610.5 610.6 610.7 610.8 610.9 611 
+  Bin 1611: 611 611.1 611.2 611.3 611.4 611.5 611.6 611.7 611.8 611.9 612 
+  Bin 1612: 612 612.1 612.2 612.3 612.4 612.5 612.6 612.7 612.8 612.9 613 
+  Bin 1613: 613 613.1 613.2 613.3 613.4 613.5 613.6 613.7 613.8 613.9 614 
+  Bin 1614: 614 614.1 614.2 614.3 614.4 614.5 614.6 614.7 614.8 614.9 615 
+  Bin 1615: 615 615.1 615.2 615.3 615.4 615.5 615.6 615.7 615.8 615.9 616 
+  Bin 1616: 616 616.1 616.2 616.3 616.4 616.5 616.6 616.7 616.8 616.9 617 
+  Bin 1617: 617 617.1 617.2 617.3 617.4 617.5 617.6 617.7 617.8 617.9 618 
+  Bin 1618: 618 618.1 618.2 618.3 618.4 618.5 618.6 618.7 618.8 618.9 619 
+  Bin 1619: 619 619.1 619.2 619.3 619.4 619.5 619.6 619.7 619.8 619.9 620 
+  Bin 1620: 620 620.1 620.2 620.3 620.4 620.5 620.6 620.7 620.8 620.9 621 
+  Bin 1621: 621 621.1 621.2 621.3 621.4 621.5 621.6 621.7 621.8 621.9 622 
+  Bin 1622: 622 622.1 622.2 622.3 622.4 622.5 622.6 622.7 622.8 622.9 623 
+  Bin 1623: 623 623.1 623.2 623.3 623.4 623.5 623.6 623.7 623.8 623.9 624 
+  Bin 1624: 624 624.1 624.2 624.3 624.4 624.5 624.6 624.7 624.8 624.9 625 
+  Bin 1625: 625 625.1 625.2 625.3 625.4 625.5 625.6 625.7 625.8 625.9 626 
+  Bin 1626: 626 626.1 626.2 626.3 626.4 626.5 626.6 626.7 626.8 626.9 627 
+  Bin 1627: 627 627.1 627.2 627.3 627.4 627.5 627.6 627.7 627.8 627.9 628 
+  Bin 1628: 628 628.1 628.2 628.3 628.4 628.5 628.6 628.7 628.8 628.9 629 
+  Bin 1629: 629 629.1 629.2 629.3 629.4 629.5 629.6 629.7 629.8 629.9 630 
+  Bin 1630: 630 630.1 630.2 630.3 630.4 630.5 630.6 630.7 630.8 630.9 631 
+  Bin 1631: 631 631.1 631.2 631.3 631.4 631.5 631.6 631.7 631.8 631.9 632 
+  Bin 1632: 632 632.1 632.2 632.3 632.4 632.5 632.6 632.7 632.8 632.9 633 
+  Bin 1633: 633 633.1 633.2 633.3 633.4 633.5 633.6 633.7 633.8 633.9 634 
+  Bin 1634: 634 634.1 634.2 634.3 634.4 634.5 634.6 634.7 634.8 634.9 635 
+  Bin 1635: 635 635.1 635.2 635.3 635.4 635.5 635.6 635.7 635.8 635.9 636 
+  Bin 1636: 636 636.1 636.2 636.3 636.4 636.5 636.6 636.7 636.8 636.9 637 
+  Bin 1637: 637 637.1 637.2 637.3 637.4 637.5 637.6 637.7 637.8 637.9 638 
+  Bin 1638: 638 638.1 638.2 638.3 638.4 638.5 638.6 638.7 638.8 638.9 639 
+  Bin 1639: 639 639.1 639.2 639.3 639.4 639.5 639.6 639.7 639.8 639.9 640 
+  Bin 1640: 640 640.1 640.2 640.3 640.4 640.5 640.6 640.7 640.8 640.9 641 
+  Bin 1641: 641 641.1 641.2 641.3 641.4 641.5 641.6 641.7 641.8 641.9 642 
+  Bin 1642: 642 642.1 642.2 642.3 642.4 642.5 642.6 642.7 642.8 642.9 643 
+  Bin 1643: 643 643.1 643.2 643.3 643.4 643.5 643.6 643.7 643.8 643.9 644 
+  Bin 1644: 644 644.1 644.2 644.3 644.4 644.5 644.6 644.7 644.8 644.9 645 
+  Bin 1645: 645 645.1 645.2 645.3 645.4 645.5 645.6 645.7 645.8 645.9 646 
+  Bin 1646: 646 646.1 646.2 646.3 646.4 646.5 646.6 646.7 646.8 646.9 647 
+  Bin 1647: 647 647.1 647.2 647.3 647.4 647.5 647.6 647.7 647.8 647.9 648 
+  Bin 1648: 648 648.1 648.2 648.3 648.4 648.5 648.6 648.7 648.8 648.9 649 
+  Bin 1649: 649 649.1 649.2 649.3 649.4 649.5 649.6 649.7 649.8 649.9 650 
+  Bin 1650: 650 650.1 650.2 650.3 650.4 650.5 650.6 650.7 650.8 650.9 651 
+  Bin 1651: 651 651.1 651.2 651.3 651.4 651.5 651.6 651.7 651.8 651.9 652 
+  Bin 1652: 652 652.1 652.2 652.3 652.4 652.5 652.6 652.7 652.8 652.9 653 
+  Bin 1653: 653 653.1 653.2 653.3 653.4 653.5 653.6 653.7 653.8 653.9 654 
+  Bin 1654: 654 654.1 654.2 654.3 654.4 654.5 654.6 654.7 654.8 654.9 655 
+  Bin 1655: 655 655.1 655.2 655.3 655.4 655.5 655.6 655.7 655.8 655.9 656 
+  Bin 1656: 656 656.1 656.2 656.3 656.4 656.5 656.6 656.7 656.8 656.9 657 
+  Bin 1657: 657 657.1 657.2 657.3 657.4 657.5 657.6 657.7 657.8 657.9 658 
+  Bin 1658: 658 658.1 658.2 658.3 658.4 658.5 658.6 658.7 658.8 658.9 659 
+  Bin 1659: 659 659.1 659.2 659.3 659.4 659.5 659.6 659.7 659.8 659.9 660 
+  Bin 1660: 660 660.1 660.2 660.3 660.4 660.5 660.6 660.7 660.8 660.9 661 
+  Bin 1661: 661 661.1 661.2 661.3 661.4 661.5 661.6 661.7 661.8 661.9 662 
+  Bin 1662: 662 662.1 662.2 662.3 662.4 662.5 662.6 662.7 662.8 662.9 663 
+  Bin 1663: 663 663.1 663.2 663.3 663.4 663.5 663.6 663.7 663.8 663.9 664 
+  Bin 1664: 664 664.1 664.2 664.3 664.4 664.5 664.6 664.7 664.8 664.9 665 
+  Bin 1665: 665 665.1 665.2 665.3 665.4 665.5 665.6 665.7 665.8 665.9 666 
+  Bin 1666: 666 666.1 666.2 666.3 666.4 666.5 666.6 666.7 666.8 666.9 667 
+  Bin 1667: 667 667.1 667.2 667.3 667.4 667.5 667.6 667.7 667.8 667.9 668 
+  Bin 1668: 668 668.1 668.2 668.3 668.4 668.5 668.6 668.7 668.8 668.9 669 
+  Bin 1669: 669 669.1 669.2 669.3 669.4 669.5 669.6 669.7 669.8 669.9 670 
+  Bin 1670: 670 670.1 670.2 670.3 670.4 670.5 670.6 670.7 670.8 670.9 671 
+  Bin 1671: 671 671.1 671.2 671.3 671.4 671.5 671.6 671.7 671.8 671.9 672 
+  Bin 1672: 672 672.1 672.2 672.3 672.4 672.5 672.6 672.7 672.8 672.9 673 
+  Bin 1673: 673 673.1 673.2 673.3 673.4 673.5 673.6 673.7 673.8 673.9 674 
+  Bin 1674: 674 674.1 674.2 674.3 674.4 674.5 674.6 674.7 674.8 674.9 675 
+  Bin 1675: 675 675.1 675.2 675.3 675.4 675.5 675.6 675.7 675.8 675.9 676 
+  Bin 1676: 676 676.1 676.2 676.3 676.4 676.5 676.6 676.7 676.8 676.9 677 
+  Bin 1677: 677 677.1 677.2 677.3 677.4 677.5 677.6 677.7 677.8 677.9 678 
+  Bin 1678: 678 678.1 678.2 678.3 678.4 678.5 678.6 678.7 678.8 678.9 679 
+  Bin 1679: 679 679.1 679.2 679.3 679.4 679.5 679.6 679.7 679.8 679.9 680 
+  Bin 1680: 680 680.1 680.2 680.3 680.4 680.5 680.6 680.7 680.8 680.9 681 
+  Bin 1681: 681 681.1 681.2 681.3 681.4 681.5 681.6 681.7 681.8 681.9 682 
+  Bin 1682: 682 682.1 682.2 682.3 682.4 682.5 682.6 682.7 682.8 682.9 683 
+  Bin 1683: 683 683.1 683.2 683.3 683.4 683.5 683.6 683.7 683.8 683.9 684 
+  Bin 1684: 684 684.1 684.2 684.3 684.4 684.5 684.6 684.7 684.8 684.9 685 
+  Bin 1685: 685 685.1 685.2 685.3 685.4 685.5 685.6 685.7 685.8 685.9 686 
+  Bin 1686: 686 686.1 686.2 686.3 686.4 686.5 686.6 686.7 686.8 686.9 687 
+  Bin 1687: 687 687.1 687.2 687.3 687.4 687.5 687.6 687.7 687.8 687.9 688 
+  Bin 1688: 688 688.1 688.2 688.3 688.4 688.5 688.6 688.7 688.8 688.9 689 
+  Bin 1689: 689 689.1 689.2 689.3 689.4 689.5 689.6 689.7 689.8 689.9 690 
+  Bin 1690: 690 690.1 690.2 690.3 690.4 690.5 690.6 690.7 690.8 690.9 691 
+  Bin 1691: 691 691.1 691.2 691.3 691.4 691.5 691.6 691.7 691.8 691.9 692 
+  Bin 1692: 692 692.1 692.2 692.3 692.4 692.5 692.6 692.7 692.8 692.9 693 
+  Bin 1693: 693 693.1 693.2 693.3 693.4 693.5 693.6 693.7 693.8 693.9 694 
+  Bin 1694: 694 694.1 694.2 694.3 694.4 694.5 694.6 694.7 694.8 694.9 695 
+  Bin 1695: 695 695.1 695.2 695.3 695.4 695.5 695.6 695.7 695.8 695.9 696 
+  Bin 1696: 696 696.1 696.2 696.3 696.4 696.5 696.6 696.7 696.8 696.9 697 
+  Bin 1697: 697 697.1 697.2 697.3 697.4 697.5 697.6 697.7 697.8 697.9 698 
+  Bin 1698: 698 698.1 698.2 698.3 698.4 698.5 698.6 698.7 698.8 698.9 699 
+  Bin 1699: 699 699.1 699.2 699.3 699.4 699.5 699.6 699.7 699.8 699.9 700 
+  Bin 1700: 700 700.1 700.2 700.3 700.4 700.5 700.6 700.7 700.8 700.9 701 
+  Bin 1701: 701 701.1 701.2 701.3 701.4 701.5 701.6 701.7 701.8 701.9 702 
+  Bin 1702: 702 702.1 702.2 702.3 702.4 702.5 702.6 702.7 702.8 702.9 703 
+  Bin 1703: 703 703.1 703.2 703.3 703.4 703.5 703.6 703.7 703.8 703.9 704 
+  Bin 1704: 704 704.1 704.2 704.3 704.4 704.5 704.6 704.7 704.8 704.9 705 
+  Bin 1705: 705 705.1 705.2 705.3 705.4 705.5 705.6 705.7 705.8 705.9 706 
+  Bin 1706: 706 706.1 706.2 706.3 706.4 706.5 706.6 706.7 706.8 706.9 707 
+  Bin 1707: 707 707.1 707.2 707.3 707.4 707.5 707.6 707.7 707.8 707.9 708 
+  Bin 1708: 708 708.1 708.2 708.3 708.4 708.5 708.6 708.7 708.8 708.9 709 
+  Bin 1709: 709 709.1 709.2 709.3 709.4 709.5 709.6 709.7 709.8 709.9 710 
+  Bin 1710: 710 710.1 710.2 710.3 710.4 710.5 710.6 710.7 710.8 710.9 711 
+  Bin 1711: 711 711.1 711.2 711.3 711.4 711.5 711.6 711.7 711.8 711.9 712 
+  Bin 1712: 712 712.1 712.2 712.3 712.4 712.5 712.6 712.7 712.8 712.9 713 
+  Bin 1713: 713 713.1 713.2 713.3 713.4 713.5 713.6 713.7 713.8 713.9 714 
+  Bin 1714: 714 714.1 714.2 714.3 714.4 714.5 714.6 714.7 714.8 714.9 715 
+  Bin 1715: 715 715.1 715.2 715.3 715.4 715.5 715.6 715.7 715.8 715.9 716 
+  Bin 1716: 716 716.1 716.2 716.3 716.4 716.5 716.6 716.7 716.8 716.9 717 
+  Bin 1717: 717 717.1 717.2 717.3 717.4 717.5 717.6 717.7 717.8 717.9 718 
+  Bin 1718: 718 718.1 718.2 718.3 718.4 718.5 718.6 718.7 718.8 718.9 719 
+  Bin 1719: 719 719.1 719.2 719.3 719.4 719.5 719.6 719.7 719.8 719.9 720 
+  Bin 1720: 720 720.1 720.2 720.3 720.4 720.5 720.6 720.7 720.8 720.9 721 
+  Bin 1721: 721 721.1 721.2 721.3 721.4 721.5 721.6 721.7 721.8 721.9 722 
+  Bin 1722: 722 722.1 722.2 722.3 722.4 722.5 722.6 722.7 722.8 722.9 723 
+  Bin 1723: 723 723.1 723.2 723.3 723.4 723.5 723.6 723.7 723.8 723.9 724 
+  Bin 1724: 724 724.1 724.2 724.3 724.4 724.5 724.6 724.7 724.8 724.9 725 
+  Bin 1725: 725 725.1 725.2 725.3 725.4 725.5 725.6 725.7 725.8 725.9 726 
+  Bin 1726: 726 726.1 726.2 726.3 726.4 726.5 726.6 726.7 726.8 726.9 727 
+  Bin 1727: 727 727.1 727.2 727.3 727.4 727.5 727.6 727.7 727.8 727.9 728 
+  Bin 1728: 728 728.1 728.2 728.3 728.4 728.5 728.6 728.7 728.8 728.9 729 
+  Bin 1729: 729 729.1 729.2 729.3 729.4 729.5 729.6 729.7 729.8 729.9 730 
+  Bin 1730: 730 730.1 730.2 730.3 730.4 730.5 730.6 730.7 730.8 730.9 731 
+  Bin 1731: 731 731.1 731.2 731.3 731.4 731.5 731.6 731.7 731.8 731.9 732 
+  Bin 1732: 732 732.1 732.2 732.3 732.4 732.5 732.6 732.7 732.8 732.9 733 
+  Bin 1733: 733 733.1 733.2 733.3 733.4 733.5 733.6 733.7 733.8 733.9 734 
+  Bin 1734: 734 734.1 734.2 734.3 734.4 734.5 734.6 734.7 734.8 734.9 735 
+  Bin 1735: 735 735.1 735.2 735.3 735.4 735.5 735.6 735.7 735.8 735.9 736 
+  Bin 1736: 736 736.1 736.2 736.3 736.4 736.5 736.6 736.7 736.8 736.9 737 
+  Bin 1737: 737 737.1 737.2 737.3 737.4 737.5 737.6 737.7 737.8 737.9 738 
+  Bin 1738: 738 738.1 738.2 738.3 738.4 738.5 738.6 738.7 738.8 738.9 739 
+  Bin 1739: 739 739.1 739.2 739.3 739.4 739.5 739.6 739.7 739.8 739.9 740 
+  Bin 1740: 740 740.1 740.2 740.3 740.4 740.5 740.6 740.7 740.8 740.9 741 
+  Bin 1741: 741 741.1 741.2 741.3 741.4 741.5 741.6 741.7 741.8 741.9 742 
+  Bin 1742: 742 742.1 742.2 742.3 742.4 742.5 742.6 742.7 742.8 742.9 743 
+  Bin 1743: 743 743.1 743.2 743.3 743.4 743.5 743.6 743.7 743.8 743.9 744 
+  Bin 1744: 744 744.1 744.2 744.3 744.4 744.5 744.6 744.7 744.8 744.9 745 
+  Bin 1745: 745 745.1 745.2 745.3 745.4 745.5 745.6 745.7 745.8 745.9 746 
+  Bin 1746: 746 746.1 746.2 746.3 746.4 746.5 746.6 746.7 746.8 746.9 747 
+  Bin 1747: 747 747.1 747.2 747.3 747.4 747.5 747.6 747.7 747.8 747.9 748 
+  Bin 1748: 748 748.1 748.2 748.3 748.4 748.5 748.6 748.7 748.8 748.9 749 
+  Bin 1749: 749 749.1 749.2 749.3 749.4 749.5 749.6 749.7 749.8 749.9 750 
+  Bin 1750: 750 750.1 750.2 750.3 750.4 750.5 750.6 750.7 750.8 750.9 751 
+  Bin 1751: 751 751.1 751.2 751.3 751.4 751.5 751.6 751.7 751.8 751.9 752 
+  Bin 1752: 752 752.1 752.2 752.3 752.4 752.5 752.6 752.7 752.8 752.9 753 
+  Bin 1753: 753 753.1 753.2 753.3 753.4 753.5 753.6 753.7 753.8 753.9 754 
+  Bin 1754: 754 754.1 754.2 754.3 754.4 754.5 754.6 754.7 754.8 754.9 755 
+  Bin 1755: 755 755.1 755.2 755.3 755.4 755.5 755.6 755.7 755.8 755.9 756 
+  Bin 1756: 756 756.1 756.2 756.3 756.4 756.5 756.6 756.7 756.8 756.9 757 
+  Bin 1757: 757 757.1 757.2 757.3 757.4 757.5 757.6 757.7 757.8 757.9 758 
+  Bin 1758: 758 758.1 758.2 758.3 758.4 758.5 758.6 758.7 758.8 758.9 759 
+  Bin 1759: 759 759.1 759.2 759.3 759.4 759.5 759.6 759.7 759.8 759.9 760 
+  Bin 1760: 760 760.1 760.2 760.3 760.4 760.5 760.6 760.7 760.8 760.9 761 
+  Bin 1761: 761 761.1 761.2 761.3 761.4 761.5 761.6 761.7 761.8 761.9 762 
+  Bin 1762: 762 762.1 762.2 762.3 762.4 762.5 762.6 762.7 762.8 762.9 763 
+  Bin 1763: 763 763.1 763.2 763.3 763.4 763.5 763.6 763.7 763.8 763.9 764 
+  Bin 1764: 764 764.1 764.2 764.3 764.4 764.5 764.6 764.7 764.8 764.9 765 
+  Bin 1765: 765 765.1 765.2 765.3 765.4 765.5 765.6 765.7 765.8 765.9 766 
+  Bin 1766: 766 766.1 766.2 766.3 766.4 766.5 766.6 766.7 766.8 766.9 767 
+  Bin 1767: 767 767.1 767.2 767.3 767.4 767.5 767.6 767.7 767.8 767.9 768 
+  Bin 1768: 768 768.1 768.2 768.3 768.4 768.5 768.6 768.7 768.8 768.9 769 
+  Bin 1769: 769 769.1 769.2 769.3 769.4 769.5 769.6 769.7 769.8 769.9 770 
+  Bin 1770: 770 770.1 770.2 770.3 770.4 770.5 770.6 770.7 770.8 770.9 771 
+  Bin 1771: 771 771.1 771.2 771.3 771.4 771.5 771.6 771.7 771.8 771.9 772 
+  Bin 1772: 772 772.1 772.2 772.3 772.4 772.5 772.6 772.7 772.8 772.9 773 
+  Bin 1773: 773 773.1 773.2 773.3 773.4 773.5 773.6 773.7 773.8 773.9 774 
+  Bin 1774: 774 774.1 774.2 774.3 774.4 774.5 774.6 774.7 774.8 774.9 775 
+  Bin 1775: 775 775.1 775.2 775.3 775.4 775.5 775.6 775.7 775.8 775.9 776 
+  Bin 1776: 776 776.1 776.2 776.3 776.4 776.5 776.6 776.7 776.8 776.9 777 
+  Bin 1777: 777 777.1 777.2 777.3 777.4 777.5 777.6 777.7 777.8 777.9 778 
+  Bin 1778: 778 778.1 778.2 778.3 778.4 778.5 778.6 778.7 778.8 778.9 779 
+  Bin 1779: 779 779.1 779.2 779.3 779.4 779.5 779.6 779.7 779.8 779.9 780 
+  Bin 1780: 780 780.1 780.2 780.3 780.4 780.5 780.6 780.7 780.8 780.9 781 
+  Bin 1781: 781 781.1 781.2 781.3 781.4 781.5 781.6 781.7 781.8 781.9 782 
+  Bin 1782: 782 782.1 782.2 782.3 782.4 782.5 782.6 782.7 782.8 782.9 783 
+  Bin 1783: 783 783.1 783.2 783.3 783.4 783.5 783.6 783.7 783.8 783.9 784 
+  Bin 1784: 784 784.1 784.2 784.3 784.4 784.5 784.6 784.7 784.8 784.9 785 
+  Bin 1785: 785 785.1 785.2 785.3 785.4 785.5 785.6 785.7 785.8 785.9 786 
+  Bin 1786: 786 786.1 786.2 786.3 786.4 786.5 786.6 786.7 786.8 786.9 787 
+  Bin 1787: 787 787.1 787.2 787.3 787.4 787.5 787.6 787.7 787.8 787.9 788 
+  Bin 1788: 788 788.1 788.2 788.3 788.4 788.5 788.6 788.7 788.8 788.9 789 
+  Bin 1789: 789 789.1 789.2 789.3 789.4 789.5 789.6 789.7 789.8 789.9 790 
+  Bin 1790: 790 790.1 790.2 790.3 790.4 790.5 790.6 790.7 790.8 790.9 791 
+  Bin 1791: 791 791.1 791.2 791.3 791.4 791.5 791.6 791.7 791.8 791.9 792 
+  Bin 1792: 792 792.1 792.2 792.3 792.4 792.5 792.6 792.7 792.8 792.9 793 
+  Bin 1793: 793 793.1 793.2 793.3 793.4 793.5 793.6 793.7 793.8 793.9 794 
+  Bin 1794: 794 794.1 794.2 794.3 794.4 794.5 794.6 794.7 794.8 794.9 795 
+  Bin 1795: 795 795.1 795.2 795.3 795.4 795.5 795.6 795.7 795.8 795.9 796 
+  Bin 1796: 796 796.1 796.2 796.3 796.4 796.5 796.6 796.7 796.8 796.9 797 
+  Bin 1797: 797 797.1 797.2 797.3 797.4 797.5 797.6 797.7 797.8 797.9 798 
+  Bin 1798: 798 798.1 798.2 798.3 798.4 798.5 798.6 798.7 798.8 798.9 799 
+  Bin 1799: 799 799.1 799.2 799.3 799.4 799.5 799.6 799.7 799.8 799.9 800 
+  Bin 1800: 800 800.1 800.2 800.3 800.4 800.5 800.6 800.7 800.8 800.9 801 
+  Bin 1801: 801 801.1 801.2 801.3 801.4 801.5 801.6 801.7 801.8 801.9 802 
+  Bin 1802: 802 802.1 802.2 802.3 802.4 802.5 802.6 802.7 802.8 802.9 803 
+  Bin 1803: 803 803.1 803.2 803.3 803.4 803.5 803.6 803.7 803.8 803.9 804 
+  Bin 1804: 804 804.1 804.2 804.3 804.4 804.5 804.6 804.7 804.8 804.9 805 
+  Bin 1805: 805 805.1 805.2 805.3 805.4 805.5 805.6 805.7 805.8 805.9 806 
+  Bin 1806: 806 806.1 806.2 806.3 806.4 806.5 806.6 806.7 806.8 806.9 807 
+  Bin 1807: 807 807.1 807.2 807.3 807.4 807.5 807.6 807.7 807.8 807.9 808 
+  Bin 1808: 808 808.1 808.2 808.3 808.4 808.5 808.6 808.7 808.8 808.9 809 
+  Bin 1809: 809 809.1 809.2 809.3 809.4 809.5 809.6 809.7 809.8 809.9 810 
+  Bin 1810: 810 810.1 810.2 810.3 810.4 810.5 810.6 810.7 810.8 810.9 811 
+  Bin 1811: 811 811.1 811.2 811.3 811.4 811.5 811.6 811.7 811.8 811.9 812 
+  Bin 1812: 812 812.1 812.2 812.3 812.4 812.5 812.6 812.7 812.8 812.9 813 
+  Bin 1813: 813 813.1 813.2 813.3 813.4 813.5 813.6 813.7 813.8 813.9 814 
+  Bin 1814: 814 814.1 814.2 814.3 814.4 814.5 814.6 814.7 814.8 814.9 815 
+  Bin 1815: 815 815.1 815.2 815.3 815.4 815.5 815.6 815.7 815.8 815.9 816 
+  Bin 1816: 816 816.1 816.2 816.3 816.4 816.5 816.6 816.7 816.8 816.9 817 
+  Bin 1817: 817 817.1 817.2 817.3 817.4 817.5 817.6 817.7 817.8 817.9 818 
+  Bin 1818: 818 818.1 818.2 818.3 818.4 818.5 818.6 818.7 818.8 818.9 819 
+  Bin 1819: 819 819.1 819.2 819.3 819.4 819.5 819.6 819.7 819.8 819.9 820 
+  Bin 1820: 820 820.1 820.2 820.3 820.4 820.5 820.6 820.7 820.8 820.9 821 
+  Bin 1821: 821 821.1 821.2 821.3 821.4 821.5 821.6 821.7 821.8 821.9 822 
+  Bin 1822: 822 822.1 822.2 822.3 822.4 822.5 822.6 822.7 822.8 822.9 823 
+  Bin 1823: 823 823.1 823.2 823.3 823.4 823.5 823.6 823.7 823.8 823.9 824 
+  Bin 1824: 824 824.1 824.2 824.3 824.4 824.5 824.6 824.7 824.8 824.9 825 
+  Bin 1825: 825 825.1 825.2 825.3 825.4 825.5 825.6 825.7 825.8 825.9 826 
+  Bin 1826: 826 826.1 826.2 826.3 826.4 826.5 826.6 826.7 826.8 826.9 827 
+  Bin 1827: 827 827.1 827.2 827.3 827.4 827.5 827.6 827.7 827.8 827.9 828 
+  Bin 1828: 828 828.1 828.2 828.3 828.4 828.5 828.6 828.7 828.8 828.9 829 
+  Bin 1829: 829 829.1 829.2 829.3 829.4 829.5 829.6 829.7 829.8 829.9 830 
+  Bin 1830: 830 830.1 830.2 830.3 830.4 830.5 830.6 830.7 830.8 830.9 831 
+  Bin 1831: 831 831.1 831.2 831.3 831.4 831.5 831.6 831.7 831.8 831.9 832 
+  Bin 1832: 832 832.1 832.2 832.3 832.4 832.5 832.6 832.7 832.8 832.9 833 
+  Bin 1833: 833 833.1 833.2 833.3 833.4 833.5 833.6 833.7 833.8 833.9 834 
+  Bin 1834: 834 834.1 834.2 834.3 834.4 834.5 834.6 834.7 834.8 834.9 835 
+  Bin 1835: 835 835.1 835.2 835.3 835.4 835.5 835.6 835.7 835.8 835.9 836 
+  Bin 1836: 836 836.1 836.2 836.3 836.4 836.5 836.6 836.7 836.8 836.9 837 
+  Bin 1837: 837 837.1 837.2 837.3 837.4 837.5 837.6 837.7 837.8 837.9 838 
+  Bin 1838: 838 838.1 838.2 838.3 838.4 838.5 838.6 838.7 838.8 838.9 839 
+  Bin 1839: 839 839.1 839.2 839.3 839.4 839.5 839.6 839.7 839.8 839.9 840 
+  Bin 1840: 840 840.1 840.2 840.3 840.4 840.5 840.6 840.7 840.8 840.9 841 
+  Bin 1841: 841 841.1 841.2 841.3 841.4 841.5 841.6 841.7 841.8 841.9 842 
+  Bin 1842: 842 842.1 842.2 842.3 842.4 842.5 842.6 842.7 842.8 842.9 843 
+  Bin 1843: 843 843.1 843.2 843.3 843.4 843.5 843.6 843.7 843.8 843.9 844 
+  Bin 1844: 844 844.1 844.2 844.3 844.4 844.5 844.6 844.7 844.8 844.9 845 
+  Bin 1845: 845 845.1 845.2 845.3 845.4 845.5 845.6 845.7 845.8 845.9 846 
+  Bin 1846: 846 846.1 846.2 846.3 846.4 846.5 846.6 846.7 846.8 846.9 847 
+  Bin 1847: 847 847.1 847.2 847.3 847.4 847.5 847.6 847.7 847.8 847.9 848 
+  Bin 1848: 848 848.1 848.2 848.3 848.4 848.5 848.6 848.7 848.8 848.9 849 
+  Bin 1849: 849 849.1 849.2 849.3 849.4 849.5 849.6 849.7 849.8 849.9 850 
+  Bin 1850: 850 850.1 850.2 850.3 850.4 850.5 850.6 850.7 850.8 850.9 851 
+  Bin 1851: 851 851.1 851.2 851.3 851.4 851.5 851.6 851.7 851.8 851.9 852 
+  Bin 1852: 852 852.1 852.2 852.3 852.4 852.5 852.6 852.7 852.8 852.9 853 
+  Bin 1853: 853 853.1 853.2 853.3 853.4 853.5 853.6 853.7 853.8 853.9 854 
+  Bin 1854: 854 854.1 854.2 854.3 854.4 854.5 854.6 854.7 854.8 854.9 855 
+  Bin 1855: 855 855.1 855.2 855.3 855.4 855.5 855.6 855.7 855.8 855.9 856 
+  Bin 1856: 856 856.1 856.2 856.3 856.4 856.5 856.6 856.7 856.8 856.9 857 
+  Bin 1857: 857 857.1 857.2 857.3 857.4 857.5 857.6 857.7 857.8 857.9 858 
+  Bin 1858: 858 858.1 858.2 858.3 858.4 858.5 858.6 858.7 858.8 858.9 859 
+  Bin 1859: 859 859.1 859.2 859.3 859.4 859.5 859.6 859.7 859.8 859.9 860 
+  Bin 1860: 860 860.1 860.2 860.3 860.4 860.5 860.6 860.7 860.8 860.9 861 
+  Bin 1861: 861 861.1 861.2 861.3 861.4 861.5 861.6 861.7 861.8 861.9 862 
+  Bin 1862: 862 862.1 862.2 862.3 862.4 862.5 862.6 862.7 862.8 862.9 863 
+  Bin 1863: 863 863.1 863.2 863.3 863.4 863.5 863.6 863.7 863.8 863.9 864 
+  Bin 1864: 864 864.1 864.2 864.3 864.4 864.5 864.6 864.7 864.8 864.9 865 
+  Bin 1865: 865 865.1 865.2 865.3 865.4 865.5 865.6 865.7 865.8 865.9 866 
+  Bin 1866: 866 866.1 866.2 866.3 866.4 866.5 866.6 866.7 866.8 866.9 867 
+  Bin 1867: 867 867.1 867.2 867.3 867.4 867.5 867.6 867.7 867.8 867.9 868 
+  Bin 1868: 868 868.1 868.2 868.3 868.4 868.5 868.6 868.7 868.8 868.9 869 
+  Bin 1869: 869 869.1 869.2 869.3 869.4 869.5 869.6 869.7 869.8 869.9 870 
+  Bin 1870: 870 870.1 870.2 870.3 870.4 870.5 870.6 870.7 870.8 870.9 871 
+  Bin 1871: 871 871.1 871.2 871.3 871.4 871.5 871.6 871.7 871.8 871.9 872 
+  Bin 1872: 872 872.1 872.2 872.3 872.4 872.5 872.6 872.7 872.8 872.9 873 
+  Bin 1873: 873 873.1 873.2 873.3 873.4 873.5 873.6 873.7 873.8 873.9 874 
+  Bin 1874: 874 874.1 874.2 874.3 874.4 874.5 874.6 874.7 874.8 874.9 875 
+  Bin 1875: 875 875.1 875.2 875.3 875.4 875.5 875.6 875.7 875.8 875.9 876 
+  Bin 1876: 876 876.1 876.2 876.3 876.4 876.5 876.6 876.7 876.8 876.9 877 
+  Bin 1877: 877 877.1 877.2 877.3 877.4 877.5 877.6 877.7 877.8 877.9 878 
+  Bin 1878: 878 878.1 878.2 878.3 878.4 878.5 878.6 878.7 878.8 878.9 879 
+  Bin 1879: 879 879.1 879.2 879.3 879.4 879.5 879.6 879.7 879.8 879.9 880 
+  Bin 1880: 880 880.1 880.2 880.3 880.4 880.5 880.6 880.7 880.8 880.9 881 
+  Bin 1881: 881 881.1 881.2 881.3 881.4 881.5 881.6 881.7 881.8 881.9 882 
+  Bin 1882: 882 882.1 882.2 882.3 882.4 882.5 882.6 882.7 882.8 882.9 883 
+  Bin 1883: 883 883.1 883.2 883.3 883.4 883.5 883.6 883.7 883.8 883.9 884 
+  Bin 1884: 884 884.1 884.2 884.3 884.4 884.5 884.6 884.7 884.8 884.9 885 
+  Bin 1885: 885 885.1 885.2 885.3 885.4 885.5 885.6 885.7 885.8 885.9 886 
+  Bin 1886: 886 886.1 886.2 886.3 886.4 886.5 886.6 886.7 886.8 886.9 887 
+  Bin 1887: 887 887.1 887.2 887.3 887.4 887.5 887.6 887.7 887.8 887.9 888 
+  Bin 1888: 888 888.1 888.2 888.3 888.4 888.5 888.6 888.7 888.8 888.9 889 
+  Bin 1889: 889 889.1 889.2 889.3 889.4 889.5 889.6 889.7 889.8 889.9 890 
+  Bin 1890: 890 890.1 890.2 890.3 890.4 890.5 890.6 890.7 890.8 890.9 891 
+  Bin 1891: 891 891.1 891.2 891.3 891.4 891.5 891.6 891.7 891.8 891.9 892 
+  Bin 1892: 892 892.1 892.2 892.3 892.4 892.5 892.6 892.7 892.8 892.9 893 
+  Bin 1893: 893 893.1 893.2 893.3 893.4 893.5 893.6 893.7 893.8 893.9 894 
+  Bin 1894: 894 894.1 894.2 894.3 894.4 894.5 894.6 894.7 894.8 894.9 895 
+  Bin 1895: 895 895.1 895.2 895.3 895.4 895.5 895.6 895.7 895.8 895.9 896 
+  Bin 1896: 896 896.1 896.2 896.3 896.4 896.5 896.6 896.7 896.8 896.9 897 
+  Bin 1897: 897 897.1 897.2 897.3 897.4 897.5 897.6 897.7 897.8 897.9 898 
+  Bin 1898: 898 898.1 898.2 898.3 898.4 898.5 898.6 898.7 898.8 898.9 899 
+  Bin 1899: 899 899.1 899.2 899.3 899.4 899.5 899.6 899.7 899.8 899.9 900 
+  Bin 1900: 900 900.1 900.2 900.3 900.4 900.5 900.6 900.7 900.8 900.9 901 
+  Bin 1901: 901 901.1 901.2 901.3 901.4 901.5 901.6 901.7 901.8 901.9 902 
+  Bin 1902: 902 902.1 902.2 902.3 902.4 902.5 902.6 902.7 902.8 902.9 903 
+  Bin 1903: 903 903.1 903.2 903.3 903.4 903.5 903.6 903.7 903.8 903.9 904 
+  Bin 1904: 904 904.1 904.2 904.3 904.4 904.5 904.6 904.7 904.8 904.9 905 
+  Bin 1905: 905 905.1 905.2 905.3 905.4 905.5 905.6 905.7 905.8 905.9 906 
+  Bin 1906: 906 906.1 906.2 906.3 906.4 906.5 906.6 906.7 906.8 906.9 907 
+  Bin 1907: 907 907.1 907.2 907.3 907.4 907.5 907.6 907.7 907.8 907.9 908 
+  Bin 1908: 908 908.1 908.2 908.3 908.4 908.5 908.6 908.7 908.8 908.9 909 
+  Bin 1909: 909 909.1 909.2 909.3 909.4 909.5 909.6 909.7 909.8 909.9 910 
+  Bin 1910: 910 910.1 910.2 910.3 910.4 910.5 910.6 910.7 910.8 910.9 911 
+  Bin 1911: 911 911.1 911.2 911.3 911.4 911.5 911.6 911.7 911.8 911.9 912 
+  Bin 1912: 912 912.1 912.2 912.3 912.4 912.5 912.6 912.7 912.8 912.9 913 
+  Bin 1913: 913 913.1 913.2 913.3 913.4 913.5 913.6 913.7 913.8 913.9 914 
+  Bin 1914: 914 914.1 914.2 914.3 914.4 914.5 914.6 914.7 914.8 914.9 915 
+  Bin 1915: 915 915.1 915.2 915.3 915.4 915.5 915.6 915.7 915.8 915.9 916 
+  Bin 1916: 916 916.1 916.2 916.3 916.4 916.5 916.6 916.7 916.8 916.9 917 
+  Bin 1917: 917 917.1 917.2 917.3 917.4 917.5 917.6 917.7 917.8 917.9 918 
+  Bin 1918: 918 918.1 918.2 918.3 918.4 918.5 918.6 918.7 918.8 918.9 919 
+  Bin 1919: 919 919.1 919.2 919.3 919.4 919.5 919.6 919.7 919.8 919.9 920 
+  Bin 1920: 920 920.1 920.2 920.3 920.4 920.5 920.6 920.7 920.8 920.9 921 
+  Bin 1921: 921 921.1 921.2 921.3 921.4 921.5 921.6 921.7 921.8 921.9 922 
+  Bin 1922: 922 922.1 922.2 922.3 922.4 922.5 922.6 922.7 922.8 922.9 923 
+  Bin 1923: 923 923.1 923.2 923.3 923.4 923.5 923.6 923.7 923.8 923.9 924 
+  Bin 1924: 924 924.1 924.2 924.3 924.4 924.5 924.6 924.7 924.8 924.9 925 
+  Bin 1925: 925 925.1 925.2 925.3 925.4 925.5 925.6 925.7 925.8 925.9 926 
+  Bin 1926: 926 926.1 926.2 926.3 926.4 926.5 926.6 926.7 926.8 926.9 927 
+  Bin 1927: 927 927.1 927.2 927.3 927.4 927.5 927.6 927.7 927.8 927.9 928 
+  Bin 1928: 928 928.1 928.2 928.3 928.4 928.5 928.6 928.7 928.8 928.9 929 
+  Bin 1929: 929 929.1 929.2 929.3 929.4 929.5 929.6 929.7 929.8 929.9 930 
+  Bin 1930: 930 930.1 930.2 930.3 930.4 930.5 930.6 930.7 930.8 930.9 931 
+  Bin 1931: 931 931.1 931.2 931.3 931.4 931.5 931.6 931.7 931.8 931.9 932 
+  Bin 1932: 932 932.1 932.2 932.3 932.4 932.5 932.6 932.7 932.8 932.9 933 
+  Bin 1933: 933 933.1 933.2 933.3 933.4 933.5 933.6 933.7 933.8 933.9 934 
+  Bin 1934: 934 934.1 934.2 934.3 934.4 934.5 934.6 934.7 934.8 934.9 935 
+  Bin 1935: 935 935.1 935.2 935.3 935.4 935.5 935.6 935.7 935.8 935.9 936 
+  Bin 1936: 936 936.1 936.2 936.3 936.4 936.5 936.6 936.7 936.8 936.9 937 
+  Bin 1937: 937 937.1 937.2 937.3 937.4 937.5 937.6 937.7 937.8 937.9 938 
+  Bin 1938: 938 938.1 938.2 938.3 938.4 938.5 938.6 938.7 938.8 938.9 939 
+  Bin 1939: 939 939.1 939.2 939.3 939.4 939.5 939.6 939.7 939.8 939.9 940 
+  Bin 1940: 940 940.1 940.2 940.3 940.4 940.5 940.6 940.7 940.8 940.9 941 
+  Bin 1941: 941 941.1 941.2 941.3 941.4 941.5 941.6 941.7 941.8 941.9 942 
+  Bin 1942: 942 942.1 942.2 942.3 942.4 942.5 942.6 942.7 942.8 942.9 943 
+  Bin 1943: 943 943.1 943.2 943.3 943.4 943.5 943.6 943.7 943.8 943.9 944 
+  Bin 1944: 944 944.1 944.2 944.3 944.4 944.5 944.6 944.7 944.8 944.9 945 
+  Bin 1945: 945 945.1 945.2 945.3 945.4 945.5 945.6 945.7 945.8 945.9 946 
+  Bin 1946: 946 946.1 946.2 946.3 946.4 946.5 946.6 946.7 946.8 946.9 947 
+  Bin 1947: 947 947.1 947.2 947.3 947.4 947.5 947.6 947.7 947.8 947.9 948 
+  Bin 1948: 948 948.1 948.2 948.3 948.4 948.5 948.6 948.7 948.8 948.9 949 
+  Bin 1949: 949 949.1 949.2 949.3 949.4 949.5 949.6 949.7 949.8 949.9 950 
+  Bin 1950: 950 950.1 950.2 950.3 950.4 950.5 950.6 950.7 950.8 950.9 951 
+  Bin 1951: 951 951.1 951.2 951.3 951.4 951.5 951.6 951.7 951.8 951.9 952 
+  Bin 1952: 952 952.1 952.2 952.3 952.4 952.5 952.6 952.7 952.8 952.9 953 
+  Bin 1953: 953 953.1 953.2 953.3 953.4 953.5 953.6 953.7 953.8 953.9 954 
+  Bin 1954: 954 954.1 954.2 954.3 954.4 954.5 954.6 954.7 954.8 954.9 955 
+  Bin 1955: 955 955.1 955.2 955.3 955.4 955.5 955.6 955.7 955.8 955.9 956 
+  Bin 1956: 956 956.1 956.2 956.3 956.4 956.5 956.6 956.7 956.8 956.9 957 
+  Bin 1957: 957 957.1 957.2 957.3 957.4 957.5 957.6 957.7 957.8 957.9 958 
+  Bin 1958: 958 958.1 958.2 958.3 958.4 958.5 958.6 958.7 958.8 958.9 959 
+  Bin 1959: 959 959.1 959.2 959.3 959.4 959.5 959.6 959.7 959.8 959.9 960 
+  Bin 1960: 960 960.1 960.2 960.3 960.4 960.5 960.6 960.7 960.8 960.9 961 
+  Bin 1961: 961 961.1 961.2 961.3 961.4 961.5 961.6 961.7 961.8 961.9 962 
+  Bin 1962: 962 962.1 962.2 962.3 962.4 962.5 962.6 962.7 962.8 962.9 963 
+  Bin 1963: 963 963.1 963.2 963.3 963.4 963.5 963.6 963.7 963.8 963.9 964 
+  Bin 1964: 964 964.1 964.2 964.3 964.4 964.5 964.6 964.7 964.8 964.9 965 
+  Bin 1965: 965 965.1 965.2 965.3 965.4 965.5 965.6 965.7 965.8 965.9 966 
+  Bin 1966: 966 966.1 966.2 966.3 966.4 966.5 966.6 966.7 966.8 966.9 967 
+  Bin 1967: 967 967.1 967.2 967.3 967.4 967.5 967.6 967.7 967.8 967.9 968 
+  Bin 1968: 968 968.1 968.2 968.3 968.4 968.5 968.6 968.7 968.8 968.9 969 
+  Bin 1969: 969 969.1 969.2 969.3 969.4 969.5 969.6 969.7 969.8 969.9 970 
+  Bin 1970: 970 970.1 970.2 970.3 970.4 970.5 970.6 970.7 970.8 970.9 971 
+  Bin 1971: 971 971.1 971.2 971.3 971.4 971.5 971.6 971.7 971.8 971.9 972 
+  Bin 1972: 972 972.1 972.2 972.3 972.4 972.5 972.6 972.7 972.8 972.9 973 
+  Bin 1973: 973 973.1 973.2 973.3 973.4 973.5 973.6 973.7 973.8 973.9 974 
+  Bin 1974: 974 974.1 974.2 974.3 974.4 974.5 974.6 974.7 974.8 974.9 975 
+  Bin 1975: 975 975.1 975.2 975.3 975.4 975.5 975.6 975.7 975.8 975.9 976 
+  Bin 1976: 976 976.1 976.2 976.3 976.4 976.5 976.6 976.7 976.8 976.9 977 
+  Bin 1977: 977 977.1 977.2 977.3 977.4 977.5 977.6 977.7 977.8 977.9 978 
+  Bin 1978: 978 978.1 978.2 978.3 978.4 978.5 978.6 978.7 978.8 978.9 979 
+  Bin 1979: 979 979.1 979.2 979.3 979.4 979.5 979.6 979.7 979.8 979.9 980 
+  Bin 1980: 980 980.1 980.2 980.3 980.4 980.5 980.6 980.7 980.8 980.9 981 
+  Bin 1981: 981 981.1 981.2 981.3 981.4 981.5 981.6 981.7 981.8 981.9 982 
+  Bin 1982: 982 982.1 982.2 982.3 982.4 982.5 982.6 982.7 982.8 982.9 983 
+  Bin 1983: 983 983.1 983.2 983.3 983.4 983.5 983.6 983.7 983.8 983.9 984 
+  Bin 1984: 984 984.1 984.2 984.3 984.4 984.5 984.6 984.7 984.8 984.9 985 
+  Bin 1985: 985 985.1 985.2 985.3 985.4 985.5 985.6 985.7 985.8 985.9 986 
+  Bin 1986: 986 986.1 986.2 986.3 986.4 986.5 986.6 986.7 986.8 986.9 987 
+  Bin 1987: 987 987.1 987.2 987.3 987.4 987.5 987.6 987.7 987.8 987.9 988 
+  Bin 1988: 988 988.1 988.2 988.3 988.4 988.5 988.6 988.7 988.8 988.9 989 
+  Bin 1989: 989 989.1 989.2 989.3 989.4 989.5 989.6 989.7 989.8 989.9 990 
+  Bin 1990: 990 990.1 990.2 990.3 990.4 990.5 990.6 990.7 990.8 990.9 991 
+  Bin 1991: 991 991.1 991.2 991.3 991.4 991.5 991.6 991.7 991.8 991.9 992 
+  Bin 1992: 992 992.1 992.2 992.3 992.4 992.5 992.6 992.7 992.8 992.9 993 
+  Bin 1993: 993 993.1 993.2 993.3 993.4 993.5 993.6 993.7 993.8 993.9 994 
+  Bin 1994: 994 994.1 994.2 994.3 994.4 994.5 994.6 994.7 994.8 994.9 995 
+  Bin 1995: 995 995.1 995.2 995.3 995.4 995.5 995.6 995.7 995.8 995.9 996 
+  Bin 1996: 996 996.1 996.2 996.3 996.4 996.5 996.6 996.7 996.8 996.9 997 
+  Bin 1997: 997 997.1 997.2 997.3 997.4 997.5 997.6 997.7 997.8 997.9 998 
+  Bin 1998: 998 998.1 998.2 998.3 998.4 998.5 998.6 998.7 998.8 998.9 999 
+  Bin 1999: 999 999.1 999.2 999.3 999.4 999.5 999.6 999.7 999.8 999.9 1000 
+
+Det 8:
+  Bin 0: -90 -89.9 -89.8 -89.7 -89.6 -89.5 -89.4 -89.3 -89.2 -89.1 -89 
+  Bin 1: -89 -88.9 -88.8 -88.7 -88.6 -88.5 -88.4 -88.3 -88.2 -88.1 -88 
+  Bin 2: -88 -87.9 -87.8 -87.7 -87.6 -87.5 -87.4 -87.3 -87.2 -87.1 -87 
+  Bin 3: -87 -86.9 -86.8 -86.7 -86.6 -86.5 -86.4 -86.3 -86.2 -86.1 -86 
+  Bin 4: -86 -85.9 -85.8 -85.7 -85.6 -85.5 -85.4 -85.3 -85.2 -85.1 -85 
+  Bin 5: -85 -84.9 -84.8 -84.7 -84.6 -84.5 -84.4 -84.3 -84.2 -84.1 -84 
+  Bin 6: -84 -83.9 -83.8 -83.7 -83.6 -83.5 -83.4 -83.3 -83.2 -83.1 -83 
+  Bin 7: -83 -82.9 -82.8 -82.7 -82.6 -82.5 -82.4 -82.3 -82.2 -82.1 -82 
+  Bin 8: -82 -81.9 -81.8 -81.7 -81.6 -81.5 -81.4 -81.3 -81.2 -81.1 -81 
+  Bin 9: -81 -80.9 -80.8 -80.7 -80.6 -80.5 -80.4 -80.3 -80.2 -80.1 -80 
+  Bin 10: -80 -79.9 -79.8 -79.7 -79.6 -79.5 -79.4 -79.3 -79.2 -79.1 -79 
+  Bin 11: -79 -78.9 -78.8 -78.7 -78.6 -78.5 -78.4 -78.3 -78.2 -78.1 -78 
+  Bin 12: -78 -77.9 -77.8 -77.7 -77.6 -77.5 -77.4 -77.3 -77.2 -77.1 -77 
+  Bin 13: -77 -76.9 -76.8 -76.7 -76.6 -76.5 -76.4 -76.3 -76.2 -76.1 -76 
+  Bin 14: -76 -75.9 -75.8 -75.7 -75.6 -75.5 -75.4 -75.3 -75.2 -75.1 -75 
+  Bin 15: -75 -74.9 -74.8 -74.7 -74.6 -74.5 -74.4 -74.3 -74.2 -74.1 -74 
+  Bin 16: -74 -73.9 -73.8 -73.7 -73.6 -73.5 -73.4 -73.3 -73.2 -73.1 -73 
+  Bin 17: -73 -72.9 -72.8 -72.7 -72.6 -72.5 -72.4 -72.3 -72.2 -72.1 -72 
+  Bin 18: -72 -71.9 -71.8 -71.7 -71.6 -71.5 -71.4 -71.3 -71.2 -71.1 -71 
+  Bin 19: -71 -70.9 -70.8 -70.7 -70.6 -70.5 -70.4 -70.3 -70.2 -70.1 -70 
+  Bin 20: -70 -69.9 -69.8 -69.7 -69.6 -69.5 -69.4 -69.3 -69.2 -69.1 -69 
+  Bin 21: -69 -68.9 -68.8 -68.7 -68.6 -68.5 -68.4 -68.3 -68.2 -68.1 -68 
+  Bin 22: -68 -67.9 -67.8 -67.7 -67.6 -67.5 -67.4 -67.3 -67.2 -67.1 -67 
+  Bin 23: -67 -66.9 -66.8 -66.7 -66.6 -66.5 -66.4 -66.3 -66.2 -66.1 -66 
+  Bin 24: -66 -65.9 -65.8 -65.7 -65.6 -65.5 -65.4 -65.3 -65.2 -65.1 -65 
+  Bin 25: -65 -64.9 -64.8 -64.7 -64.6 -64.5 -64.4 -64.3 -64.2 -64.1 -64 
+  Bin 26: -64 -63.9 -63.8 -63.7 -63.6 -63.5 -63.4 -63.3 -63.2 -63.1 -63 
+  Bin 27: -63 -62.9 -62.8 -62.7 -62.6 -62.5 -62.4 -62.3 -62.2 -62.1 -62 
+  Bin 28: -62 -61.9 -61.8 -61.7 -61.6 -61.5 -61.4 -61.3 -61.2 -61.1 -61 
+  Bin 29: -61 -60.9 -60.8 -60.7 -60.6 -60.5 -60.4 -60.3 -60.2 -60.1 -60 
+  Bin 30: -60 -59.9 -59.8 -59.7 -59.6 -59.5 -59.4 -59.3 -59.2 -59.1 -59 
+  Bin 31: -59 -58.9 -58.8 -58.7 -58.6 -58.5 -58.4 -58.3 -58.2 -58.1 -58 
+  Bin 32: -58 -57.9 -57.8 -57.7 -57.6 -57.5 -57.4 -57.3 -57.2 -57.1 -57 
+  Bin 33: -57 -56.9 -56.8 -56.7 -56.6 -56.5 -56.4 -56.3 -56.2 -56.1 -56 
+  Bin 34: -56 -55.9 -55.8 -55.7 -55.6 -55.5 -55.4 -55.3 -55.2 -55.1 -55 
+  Bin 35: -55 -54.9 -54.8 -54.7 -54.6 -54.5 -54.4 -54.3 -54.2 -54.1 -54 
+  Bin 36: -54 -53.9 -53.8 -53.7 -53.6 -53.5 -53.4 -53.3 -53.2 -53.1 -53 
+  Bin 37: -53 -52.9 -52.8 -52.7 -52.6 -52.5 -52.4 -52.3 -52.2 -52.1 -52 
+  Bin 38: -52 -51.9 -51.8 -51.7 -51.6 -51.5 -51.4 -51.3 -51.2 -51.1 -51 
+  Bin 39: -51 -50.9 -50.8 -50.7 -50.6 -50.5 -50.4 -50.3 -50.2 -50.1 -50 
+  Bin 40: -50 -49.9 -49.8 -49.7 -49.6 -49.5 -49.4 -49.3 -49.2 -49.1 -49 
+  Bin 41: -49 -48.9 -48.8 -48.7 -48.6 -48.5 -48.4 -48.3 -48.2 -48.1 -48 
+  Bin 42: -48 -47.9 -47.8 -47.7 -47.6 -47.5 -47.4 -47.3 -47.2 -47.1 -47 
+  Bin 43: -47 -46.9 -46.8 -46.7 -46.6 -46.5 -46.4 -46.3 -46.2 -46.1 -46 
+  Bin 44: -46 -45.9 -45.8 -45.7 -45.6 -45.5 -45.4 -45.3 -45.2 -45.1 -45 
+  Bin 45: -45 -44.9 -44.8 -44.7 -44.6 -44.5 -44.4 -44.3 -44.2 -44.1 -44 
+  Bin 46: -44 -43.9 -43.8 -43.7 -43.6 -43.5 -43.4 -43.3 -43.2 -43.1 -43 
+  Bin 47: -43 -42.9 -42.8 -42.7 -42.6 -42.5 -42.4 -42.3 -42.2 -42.1 -42 
+  Bin 48: -42 -41.9 -41.8 -41.7 -41.6 -41.5 -41.4 -41.3 -41.2 -41.1 -41 
+  Bin 49: -41 -40.9 -40.8 -40.7 -40.6 -40.5 -40.4 -40.3 -40.2 -40.1 -40 
+  Bin 50: -40 -39.9 -39.8 -39.7 -39.6 -39.5 -39.4 -39.3 -39.2 -39.1 -39 
+  Bin 51: -39 -38.9 -38.8 -38.7 -38.6 -38.5 -38.4 -38.3 -38.2 -38.1 -38 
+  Bin 52: -38 -37.9 -37.8 -37.7 -37.6 -37.5 -37.4 -37.3 -37.2 -37.1 -37 
+  Bin 53: -37 -36.9 -36.8 -36.7 -36.6 -36.5 -36.4 -36.3 -36.2 -36.1 -36 
+  Bin 54: -36 -35.9 -35.8 -35.7 -35.6 -35.5 -35.4 -35.3 -35.2 -35.1 -35 
+  Bin 55: -35 -34.9 -34.8 -34.7 -34.6 -34.5 -34.4 -34.3 -34.2 -34.1 -34 
+  Bin 56: -34 -33.9 -33.8 -33.7 -33.6 -33.5 -33.4 -33.3 -33.2 -33.1 -33 
+  Bin 57: -33 -32.9 -32.8 -32.7 -32.6 -32.5 -32.4 -32.3 -32.2 -32.1 -32 
+  Bin 58: -32 -31.9 -31.8 -31.7 -31.6 -31.5 -31.4 -31.3 -31.2 -31.1 -31 
+  Bin 59: -31 -30.9 -30.8 -30.7 -30.6 -30.5 -30.4 -30.3 -30.2 -30.1 -30 
+  Bin 60: -30 -29.9 -29.8 -29.7 -29.6 -29.5 -29.4 -29.3 -29.2 -29.1 -29 
+  Bin 61: -29 -28.9 -28.8 -28.7 -28.6 -28.5 -28.4 -28.3 -28.2 -28.1 -28 
+  Bin 62: -28 -27.9 -27.8 -27.7 -27.6 -27.5 -27.4 -27.3 -27.2 -27.1 -27 
+  Bin 63: -27 -26.9 -26.8 -26.7 -26.6 -26.5 -26.4 -26.3 -26.2 -26.1 -26 
+  Bin 64: -26 -25.9 -25.8 -25.7 -25.6 -25.5 -25.4 -25.3 -25.2 -25.1 -25 
+  Bin 65: -25 -24.9 -24.8 -24.7 -24.6 -24.5 -24.4 -24.3 -24.2 -24.1 -24 
+  Bin 66: -24 -23.9 -23.8 -23.7 -23.6 -23.5 -23.4 -23.3 -23.2 -23.1 -23 
+  Bin 67: -23 -22.9 -22.8 -22.7 -22.6 -22.5 -22.4 -22.3 -22.2 -22.1 -22 
+  Bin 68: -22 -21.9 -21.8 -21.7 -21.6 -21.5 -21.4 -21.3 -21.2 -21.1 -21 
+  Bin 69: -21 -20.9 -20.8 -20.7 -20.6 -20.5 -20.4 -20.3 -20.2 -20.1 -20 
+  Bin 70: -20 -19.9 -19.8 -19.7 -19.6 -19.5 -19.4 -19.3 -19.2 -19.1 -19 
+  Bin 71: -19 -18.9 -18.8 -18.7 -18.6 -18.5 -18.4 -18.3 -18.2 -18.1 -18 
+  Bin 72: -18 -17.9 -17.8 -17.7 -17.6 -17.5 -17.4 -17.3 -17.2 -17.1 -17 
+  Bin 73: -17 -16.9 -16.8 -16.7 -16.6 -16.5 -16.4 -16.3 -16.2 -16.1 -16 
+  Bin 74: -16 -15.9 -15.8 -15.7 -15.6 -15.5 -15.4 -15.3 -15.2 -15.1 -15 
+  Bin 75: -15 -14.9 -14.8 -14.7 -14.6 -14.5 -14.4 -14.3 -14.2 -14.1 -14 
+  Bin 76: -14 -13.9 -13.8 -13.7 -13.6 -13.5 -13.4 -13.3 -13.2 -13.1 -13 
+  Bin 77: -13 -12.9 -12.8 -12.7 -12.6 -12.5 -12.4 -12.3 -12.2 -12.1 -12 
+  Bin 78: -12 -11.9 -11.8 -11.7 -11.6 -11.5 -11.4 -11.3 -11.2 -11.1 -11 
+  Bin 79: -11 -10.9 -10.8 -10.7 -10.6 -10.5 -10.4 -10.3 -10.2 -10.1 -10 
+  Bin 80: -10 -9.9 -9.8 -9.7 -9.6 -9.5 -9.4 -9.3 -9.2 -9.1 -9 
+  Bin 81: -9 -8.9 -8.8 -8.7 -8.6 -8.5 -8.4 -8.3 -8.2 -8.1 -8 
+  Bin 82: -8 -7.9 -7.8 -7.7 -7.6 -7.5 -7.4 -7.3 -7.2 -7.1 -7 
+  Bin 83: -7 -6.9 -6.8 -6.7 -6.6 -6.5 -6.4 -6.3 -6.2 -6.1 -6 
+  Bin 84: -6 -5.9 -5.8 -5.7 -5.6 -5.5 -5.4 -5.3 -5.2 -5.1 -5 
+  Bin 85: -5 -4.9 -4.8 -4.7 -4.6 -4.5 -4.4 -4.3 -4.2 -4.1 -4 
+  Bin 86: -4 -3.9 -3.8 -3.7 -3.6 -3.5 -3.4 -3.3 -3.2 -3.1 -3 
+  Bin 87: -3 -2.9 -2.8 -2.7 -2.6 -2.5 -2.4 -2.3 -2.2 -2.1 -2 
+  Bin 88: -2 -1.9 -1.8 -1.7 -1.6 -1.5 -1.4 -1.3 -1.2 -1.1 -1 
+  Bin 89: -1 -0.9 -0.8 -0.7 -0.6 -0.5 -0.4 -0.3 -0.2 -0.1 0 
+  Bin 90: 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 
+  Bin 91: 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2 
+  Bin 92: 2 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3 
+  Bin 93: 3 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 4 
+  Bin 94: 4 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 5 
+  Bin 95: 5 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 6 
+  Bin 96: 6 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 7 
+  Bin 97: 7 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 8 
+  Bin 98: 8 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 9 
+  Bin 99: 9 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 10 
+  Bin 100: 10 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 11 
+  Bin 101: 11 11.1 11.2 11.3 11.4 11.5 11.6 11.7 11.8 11.9 12 
+  Bin 102: 12 12.1 12.2 12.3 12.4 12.5 12.6 12.7 12.8 12.9 13 
+  Bin 103: 13 13.1 13.2 13.3 13.4 13.5 13.6 13.7 13.8 13.9 14 
+  Bin 104: 14 14.1 14.2 14.3 14.4 14.5 14.6 14.7 14.8 14.9 15 
+  Bin 105: 15 15.1 15.2 15.3 15.4 15.5 15.6 15.7 15.8 15.9 16 
+  Bin 106: 16 16.1 16.2 16.3 16.4 16.5 16.6 16.7 16.8 16.9 17 
+  Bin 107: 17 17.1 17.2 17.3 17.4 17.5 17.6 17.7 17.8 17.9 18 
+  Bin 108: 18 18.1 18.2 18.3 18.4 18.5 18.6 18.7 18.8 18.9 19 
+  Bin 109: 19 19.1 19.2 19.3 19.4 19.5 19.6 19.7 19.8 19.9 20 
+  Bin 110: 20 20.1 20.2 20.3 20.4 20.5 20.6 20.7 20.8 20.9 21 
+  Bin 111: 21 21.1 21.2 21.3 21.4 21.5 21.6 21.7 21.8 21.9 22 
+  Bin 112: 22 22.1 22.2 22.3 22.4 22.5 22.6 22.7 22.8 22.9 23 
+  Bin 113: 23 23.1 23.2 23.3 23.4 23.5 23.6 23.7 23.8 23.9 24 
+  Bin 114: 24 24.1 24.2 24.3 24.4 24.5 24.6 24.7 24.8 24.9 25 
+  Bin 115: 25 25.1 25.2 25.3 25.4 25.5 25.6 25.7 25.8 25.9 26 
+  Bin 116: 26 26.1 26.2 26.3 26.4 26.5 26.6 26.7 26.8 26.9 27 
+  Bin 117: 27 27.1 27.2 27.3 27.4 27.5 27.6 27.7 27.8 27.9 28 
+  Bin 118: 28 28.1 28.2 28.3 28.4 28.5 28.6 28.7 28.8 28.9 29 
+  Bin 119: 29 29.1 29.2 29.3 29.4 29.5 29.6 29.7 29.8 29.9 30 
+  Bin 120: 30 30.1 30.2 30.3 30.4 30.5 30.6 30.7 30.8 30.9 31 
+  Bin 121: 31 31.1 31.2 31.3 31.4 31.5 31.6 31.7 31.8 31.9 32 
+  Bin 122: 32 32.1 32.2 32.3 32.4 32.5 32.6 32.7 32.8 32.9 33 
+  Bin 123: 33 33.1 33.2 33.3 33.4 33.5 33.6 33.7 33.8 33.9 34 
+  Bin 124: 34 34.1 34.2 34.3 34.4 34.5 34.6 34.7 34.8 34.9 35 
+  Bin 125: 35 35.1 35.2 35.3 35.4 35.5 35.6 35.7 35.8 35.9 36 
+  Bin 126: 36 36.1 36.2 36.3 36.4 36.5 36.6 36.7 36.8 36.9 37 
+  Bin 127: 37 37.1 37.2 37.3 37.4 37.5 37.6 37.7 37.8 37.9 38 
+  Bin 128: 38 38.1 38.2 38.3 38.4 38.5 38.6 38.7 38.8 38.9 39 
+  Bin 129: 39 39.1 39.2 39.3 39.4 39.5 39.6 39.7 39.8 39.9 40 
+  Bin 130: 40 40.1 40.2 40.3 40.4 40.5 40.6 40.7 40.8 40.9 41 
+  Bin 131: 41 41.1 41.2 41.3 41.4 41.5 41.6 41.7 41.8 41.9 42 
+  Bin 132: 42 42.1 42.2 42.3 42.4 42.5 42.6 42.7 42.8 42.9 43 
+  Bin 133: 43 43.1 43.2 43.3 43.4 43.5 43.6 43.7 43.8 43.9 44 
+  Bin 134: 44 44.1 44.2 44.3 44.4 44.5 44.6 44.7 44.8 44.9 45 
+  Bin 135: 45 45.1 45.2 45.3 45.4 45.5 45.6 45.7 45.8 45.9 46 
+  Bin 136: 46 46.1 46.2 46.3 46.4 46.5 46.6 46.7 46.8 46.9 47 
+  Bin 137: 47 47.1 47.2 47.3 47.4 47.5 47.6 47.7 47.8 47.9 48 
+  Bin 138: 48 48.1 48.2 48.3 48.4 48.5 48.6 48.7 48.8 48.9 49 
+  Bin 139: 49 49.1 49.2 49.3 49.4 49.5 49.6 49.7 49.8 49.9 50 
+  Bin 140: 50 50.1 50.2 50.3 50.4 50.5 50.6 50.7 50.8 50.9 51 
+  Bin 141: 51 51.1 51.2 51.3 51.4 51.5 51.6 51.7 51.8 51.9 52 
+  Bin 142: 52 52.1 52.2 52.3 52.4 52.5 52.6 52.7 52.8 52.9 53 
+  Bin 143: 53 53.1 53.2 53.3 53.4 53.5 53.6 53.7 53.8 53.9 54 
+  Bin 144: 54 54.1 54.2 54.3 54.4 54.5 54.6 54.7 54.8 54.9 55 
+  Bin 145: 55 55.1 55.2 55.3 55.4 55.5 55.6 55.7 55.8 55.9 56 
+  Bin 146: 56 56.1 56.2 56.3 56.4 56.5 56.6 56.7 56.8 56.9 57 
+  Bin 147: 57 57.1 57.2 57.3 57.4 57.5 57.6 57.7 57.8 57.9 58 
+  Bin 148: 58 58.1 58.2 58.3 58.4 58.5 58.6 58.7 58.8 58.9 59 
+  Bin 149: 59 59.1 59.2 59.3 59.4 59.5 59.6 59.7 59.8 59.9 60 
+  Bin 150: 60 60.1 60.2 60.3 60.4 60.5 60.6 60.7 60.8 60.9 61 
+  Bin 151: 61 61.1 61.2 61.3 61.4 61.5 61.6 61.7 61.8 61.9 62 
+  Bin 152: 62 62.1 62.2 62.3 62.4 62.5 62.6 62.7 62.8 62.9 63 
+  Bin 153: 63 63.1 63.2 63.3 63.4 63.5 63.6 63.7 63.8 63.9 64 
+  Bin 154: 64 64.1 64.2 64.3 64.4 64.5 64.6 64.7 64.8 64.9 65 
+  Bin 155: 65 65.1 65.2 65.3 65.4 65.5 65.6 65.7 65.8 65.9 66 
+  Bin 156: 66 66.1 66.2 66.3 66.4 66.5 66.6 66.7 66.8 66.9 67 
+  Bin 157: 67 67.1 67.2 67.3 67.4 67.5 67.6 67.7 67.8 67.9 68 
+  Bin 158: 68 68.1 68.2 68.3 68.4 68.5 68.6 68.7 68.8 68.9 69 
+  Bin 159: 69 69.1 69.2 69.3 69.4 69.5 69.6 69.7 69.8 69.9 70 
+  Bin 160: 70 70.1 70.2 70.3 70.4 70.5 70.6 70.7 70.8 70.9 71 
+  Bin 161: 71 71.1 71.2 71.3 71.4 71.5 71.6 71.7 71.8 71.9 72 
+  Bin 162: 72 72.1 72.2 72.3 72.4 72.5 72.6 72.7 72.8 72.9 73 
+  Bin 163: 73 73.1 73.2 73.3 73.4 73.5 73.6 73.7 73.8 73.9 74 
+  Bin 164: 74 74.1 74.2 74.3 74.4 74.5 74.6 74.7 74.8 74.9 75 
+  Bin 165: 75 75.1 75.2 75.3 75.4 75.5 75.6 75.7 75.8 75.9 76 
+  Bin 166: 76 76.1 76.2 76.3 76.4 76.5 76.6 76.7 76.8 76.9 77 
+  Bin 167: 77 77.1 77.2 77.3 77.4 77.5 77.6 77.7 77.8 77.9 78 
+  Bin 168: 78 78.1 78.2 78.3 78.4 78.5 78.6 78.7 78.8 78.9 79 
+  Bin 169: 79 79.1 79.2 79.3 79.4 79.5 79.6 79.7 79.8 79.9 80 
+  Bin 170: 80 80.1 80.2 80.3 80.4 80.5 80.6 80.7 80.8 80.9 81 
+  Bin 171: 81 81.1 81.2 81.3 81.4 81.5 81.6 81.7 81.8 81.9 82 
+  Bin 172: 82 82.1 82.2 82.3 82.4 82.5 82.6 82.7 82.8 82.9 83 
+  Bin 173: 83 83.1 83.2 83.3 83.4 83.5 83.6 83.7 83.8 83.9 84 
+  Bin 174: 84 84.1 84.2 84.3 84.4 84.5 84.6 84.7 84.8 84.9 85 
+  Bin 175: 85 85.1 85.2 85.3 85.4 85.5 85.6 85.7 85.8 85.9 86 
+  Bin 176: 86 86.1 86.2 86.3 86.4 86.5 86.6 86.7 86.8 86.9 87 
+  Bin 177: 87 87.1 87.2 87.3 87.4 87.5 87.6 87.7 87.8 87.9 88 
+  Bin 178: 88 88.1 88.2 88.3 88.4 88.5 88.6 88.7 88.8 88.9 89 
+  Bin 179: 89 89.1 89.2 89.3 89.4 89.5 89.6 89.7 89.8 89.9 90 
+
+
+Vector 2:
+Det 1:
+  Bin 0: -90 -90 -90 -90 -90 -90 -90 -90 -88.958 -88.958 -89 
+  Bin 1: -89 -88.0796 -88.0796 -88.0796 -88.0796 -88.0796 -88.0796 -88.0796 -88.0796 -88.0796 -88 
+  Bin 2: -88 -88 -87.0769 -87.0769 -87.0769 -87.0769 -87.0769 -87.0769 -87.0769 -87.0769 -87 
+  Bin 3: -87 -nan -nan -nan -nan -nan -nan -nan -nan -nan -86 
+  Bin 4: -86 -85.1698 -85.1698 -85.1698 -85.1698 -85.1698 -85.1698 -85.1698 -85.1698 -85.1698 -85 
+  Bin 5: -85 -nan -nan -nan -nan -nan -nan -nan -nan -nan -84 
+  Bin 6: -84 -nan -nan -nan -nan -nan -nan -nan -nan -nan -83 
+  Bin 7: -83 -nan -nan -nan -nan -nan -nan -nan -nan -nan -82 
+  Bin 8: -82 -nan -nan -nan -nan -nan -nan -nan -nan -nan -81 
+  Bin 9: -81 -81 -81 -81 -81 -81 -81 -81 -81 -81 -80 
+  Bin 10: -80 -nan -nan -nan -nan -nan -nan -nan -nan -nan -79 
+  Bin 11: -79 -nan -nan -nan -nan -nan -nan -nan -nan -nan -78 
+  Bin 12: -78 -78 -78 -78 -78 -78 -76.9935 -76.9935 -76.9935 -76.9935 -77 
+  Bin 13: -77 -nan -nan -nan -nan -nan -nan -nan -nan -nan -76 
+  Bin 14: -76 -nan -nan -nan -nan -nan -nan -nan -nan -nan -75 
+  Bin 15: -75 -75 -75 -75 -74.0031 -74.0031 -74.0031 -74.0031 -74.0031 -74.0031 -74 
+  Bin 16: -74 -nan -nan -nan -nan -nan -nan -nan -nan -nan -73 
+  Bin 17: -73 -nan -nan -nan -nan -nan -nan -nan -nan -nan -72 
+  Bin 18: -72 -nan -nan -nan -nan -nan -nan -nan -nan -nan -71 
+  Bin 19: -71 -71 -71 -71 -71 -71 -71 -71 -70.5198 -70.5198 -70 
+  Bin 20: -70 -nan -nan -nan -nan -nan -nan -nan -nan -nan -69 
+  Bin 21: -69 -nan -nan -nan -nan -nan -nan -nan -nan -nan -68 
+  Bin 22: -68 -68 -68 -67.0218 -67.0218 -67.0218 -67.0218 -67.0218 -67.0218 -67.0218 -67 
+  Bin 23: -67 -nan -nan -nan -nan -nan -nan -nan -nan -nan -66 
+  Bin 24: -66 -nan -nan -nan -nan -nan -nan -nan -nan -nan -65 
+  Bin 25: -65 -65 -65 -65 -65 -65 -65 -65 -65 -65 -64 
+  Bin 26: -64 -64 -64 -64 -64 -64 -64 -64 -64 -64 -63 
+  Bin 27: -63 -nan -nan -nan -nan -nan -nan -nan -nan -nan -62 
+  Bin 28: -62 -61.0796 -61.0796 -61.0796 -61.0796 -61.0796 -61.0796 -61.0796 -61.0796 -61.0796 -61 
+  Bin 29: -61 -nan -nan -nan -nan -nan -nan -nan -nan -nan -60 
+  Bin 30: -60 -nan -nan -nan -nan -nan -nan -nan -nan -nan -59 
+  Bin 31: -59 -nan -nan -nan -nan -nan -nan -nan -nan -nan -58 
+  Bin 32: -58 -nan -nan -nan -nan -nan -nan -nan -nan -nan -57 
+  Bin 33: -57 -nan -nan -nan -nan -nan -nan -nan -nan -nan -56 
+  Bin 34: -56 -nan -nan -nan -nan -nan -nan -nan -nan -nan -55 
+  Bin 35: -55 -55 -55 -55 -55 -55 -55 -55 -55 -53.8511 -54 
+  Bin 36: -54 -nan -nan -nan -nan -nan -nan -nan -nan -nan -53 
+  Bin 37: -53 -nan -nan -nan -nan -nan -nan -nan -nan -nan -52 
+  Bin 38: -52 -nan -nan -nan -nan -nan -nan -nan -nan -nan -51 
+  Bin 39: -51 -nan -nan -nan -nan -nan -nan -nan -nan -nan -50 
+  Bin 40: -50 -nan -nan -nan -nan -nan -nan -nan -nan -nan -49 
+  Bin 41: -49 -nan -nan -nan -nan -nan -nan -nan -nan -nan -48 
+  Bin 42: -48 -48 -48 -48 -48 -48 -48 -48 -48 -48 -47 
+  Bin 43: -47 -46.5446 -46.5446 -46.5446 -46.5446 -46.5446 -46.5446 -46.5446 -46.5446 -46.5446 -46 
+  Bin 44: -46 -46 -46 -46 -46 -46 -46 -46 -46 -46 -45 
+  Bin 45: -45 -44.1475 -44.1475 -44.1475 -44.1475 -44.1475 -44.1475 -44.1475 -44.1475 -44.1475 -44 
+  Bin 46: -44 -nan -nan -nan -nan -nan -nan -nan -nan -nan -43 
+  Bin 47: -43 -nan -nan -nan -nan -nan -nan -nan -nan -nan -42 
+  Bin 48: -42 -nan -nan -nan -nan -nan -nan -nan -nan -nan -41 
+  Bin 49: -41 -nan -nan -nan -nan -nan -nan -nan -nan -nan -40 
+  Bin 50: -40 -nan -nan -nan -nan -nan -nan -nan -nan -nan -39 
+  Bin 51: -39 -nan -nan -nan -nan -nan -nan -nan -nan -nan -38 
+  Bin 52: -38 -38 -38 -38 -38 -38 -38 -37.5052 -37.5052 -37.5052 -37 
+  Bin 53: -37 -35.9697 -35.9697 -35.9697 -35.9697 -35.9697 -35.9697 -35.9697 -35.9697 -35.9697 -36 
+  Bin 54: -36 -nan -nan -nan -nan -nan -nan -nan -nan -nan -35 
+  Bin 55: -35 -nan -nan -nan -nan -nan -nan -nan -nan -nan -34 
+  Bin 56: -34 -32.921 -32.921 -32.921 -32.921 -32.921 -32.921 -32.921 -32.921 -32.921 -33 
+  Bin 57: -33 -31.9159 -31.9159 -31.9159 -31.9159 -31.9159 -31.9159 -31.9159 -31.9159 -31.9159 -32 
+  Bin 58: -32 -32 -32 -31.4809 -31.4809 -31.4809 -31.4809 -31.4809 -31.4809 -31.4809 -31 
+  Bin 59: -31 -31 -31 -31 -31 -31 -31 -31 -31 -31 -30 
+  Bin 60: -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -29 
+  Bin 61: -29 -28.684 -28.684 -28.684 -28.3567 -28.3567 -28.3567 -28.3567 -28.3567 -28.0085 -28 
+  Bin 62: -28 -27.0588 -27.0588 -27.0588 -27.0588 -27.0588 -27.0588 -27.0588 -27.0588 -27.0588 -27 
+  Bin 63: -27 -nan -nan -nan -nan -nan -nan -nan -nan -nan -26 
+  Bin 64: -26 -26 -26 -26 -26 -26 -26 -26 -26 -26 -25 
+  Bin 65: -25 -25 -23.9538 -23.9538 -23.9538 -23.9538 -23.9538 -23.9538 -23.9538 -23.9538 -24 
+  Bin 66: -24 -22.9343 -22.9343 -22.9343 -22.9343 -22.9343 -22.9343 -22.9343 -22.9343 -22.9343 -23 
+  Bin 67: -23 -23 -23 -22.4845 -22.4845 -22.4845 -22.4845 -22.4845 -22.4845 -22.4845 -22 
+  Bin 68: -22 -nan -nan -nan -nan -nan -nan -nan -nan -nan -21 
+  Bin 69: -21 -21 -21 -21 -21 -21 -21 -21 -21 -21 -20 
+  Bin 70: -20 -18.8572 -18.8572 -18.8572 -18.8572 -18.8572 -18.8572 -18.8572 -18.8572 -18.8572 -19 
+  Bin 71: -19 -nan -nan -nan -nan -nan -nan -nan -nan -nan -18 
+  Bin 72: -18 -18 -18 -18 -18 -18 -18 -18 -17.9343 -17.5736 -17 
+  Bin 73: -17 -16.9093 -16.7925 -16.6436 -16.4967 -16.3814 -16.2812 -16.1997 -16.1331 -16.0664 -16 
+  Bin 74: -16 -15.8996 -15.771 -15.6138 -15.4739 -15.3553 -15.2599 -15.1847 -15.1224 -15.0621 -15 
+  Bin 75: -15 -14.9119 -14.7993 -14.6576 -14.5108 -14.3979 -14.2945 -14.2134 -14.1456 -14.0777 -14 
+  Bin 76: -14 -13.8925 -13.7556 -13.5958 -13.4623 -13.3457 -13.2545 -13.184 -13.1262 -13.0649 -13 
+  Bin 77: -13 -12.9055 -12.7852 -12.6333 -12.4864 -12.3635 -12.2632 -12.1846 -12.1223 -12.0637 -12 
+  Bin 78: -12 -11.904 -11.7823 -11.6312 -11.4917 -11.3665 -11.269 -11.1921 -11.1311 -11.0685 -11 
+  Bin 79: -11 -10.9062 -10.7844 -10.6303 -10.4903 -10.3647 -10.2686 -10.1907 -10.1281 -10.0686 -10 
+  Bin 80: -10 -9.90477 -9.7802 -9.62938 -9.49175 -9.36658 -9.27029 -9.19344 -9.13071 -9.07003 -9 
+  Bin 81: -9 -8.90352 -8.78125 -8.63192 -8.49636 -8.37387 -8.27782 -8.20241 -8.13963 -8.07415 -8 
+  Bin 82: -8 -7.90377 -7.77786 -7.62852 -7.49138 -7.36879 -7.27433 -7.19821 -7.1358 -7.07424 -7 
+  Bin 83: -7 -6.90236 -6.77718 -6.62903 -6.4895 -6.36617 -6.27139 -6.19612 -6.13458 -6.07285 -6 
+  Bin 84: -6 -5.9094 -5.78952 -5.64554 -5.50931 -5.38754 -5.29407 -5.21908 -5.1539 -5.08373 -5 
+  Bin 85: -5 -4.88776 -4.7457 -4.59997 -4.45926 -4.35024 -4.26638 -4.20014 -4.14316 -4.0788 -4 
+  Bin 86: -4 -3.89856 -3.76337 -3.61039 -3.46405 -3.34465 -3.25622 -3.18753 -3.13165 -3.07143 -3 
+  Bin 87: -3 -2.90278 -2.77549 -2.63254 -2.48044 -2.35545 -2.26093 -2.18727 -2.12957 -2.07008 -2 
+  Bin 88: -2 -1.90995 -1.7905 -1.6474 -1.49421 -1.36478 -1.26779 -1.19339 -1.13347 -1.07152 -1 
+  Bin 89: -1 -0.898894 -0.766998 -0.623931 -0.471273 -0.347686 -0.255657 -0.183578 -0.124558 -0.0669651 0 
+  Bin 90: 0 0.0910526 0.214435 0.361014 0.514038 0.640597 0.735545 0.809501 0.869549 0.929295 1 
+  Bin 91: 1 1.09981 1.22883 1.37433 1.53338 1.65902 1.75275 1.82329 1.88018 1.93554 2 
+  Bin 92: 2 2.08378 2.19699 2.33487 2.48759 2.62073 2.72253 2.80205 2.86482 2.92498 3 
+  Bin 93: 3 3.09238 3.21177 3.35161 3.50762 3.6327 3.7277 3.80224 3.86382 3.92349 4 
+  Bin 94: 4 4.09336 4.21234 4.35004 4.50615 4.63263 4.7274 4.80139 4.86129 4.92265 5 
+  Bin 95: 5 5.09414 5.21492 5.35983 5.51688 5.64035 5.73415 5.80725 5.86536 5.92508 6 
+  Bin 96: 6 6.09299 6.21245 6.35588 6.51519 6.63967 6.73257 6.80601 6.86575 6.92434 7 
+  Bin 97: 7 7.09746 7.21721 7.36457 7.52014 7.64071 7.73214 7.80269 7.86043 7.91944 8 
+  Bin 98: 8 8.09648 8.21531 8.37234 8.53033 8.65154 8.741 8.81098 8.86693 8.92291 9 
+  Bin 99: 9 9.08961 9.19963 9.34016 9.4985 9.62483 9.71834 9.79211 9.85161 9.91498 10 
+  Bin 100: 10 10.1029 10.2211 10.385 10.5354 10.6493 10.7344 10.8001 10.8548 10.9143 11 
+  Bin 101: 11 11.0946 11.212 11.3612 11.5136 11.6303 11.7198 11.7902 11.8495 11.9123 12 
+  Bin 102: 12 12.103 12.2272 12.3882 12.534 12.6457 12.7303 12.7959 12.8504 12.9103 13 
+  Bin 103: 13 13.0932 13.1996 13.3442 13.4936 13.6157 13.7125 13.7885 13.8495 13.9106 14 
+  Bin 104: 14 14.088 14.189 14.3352 14.4855 14.6085 14.7055 14.782 14.8439 14.9075 15 
+  Bin 105: 15 15.089 15.1884 15.3297 15.4819 15.6132 15.7162 15.7949 15.8596 15.9128 16 
+  Bin 106: 16 16.0945 16.2029 16.3544 16.5167 16.6508 16.7597 16.8433 16.9032 16.9361 17 
+  Bin 107: 17 17.2166 17.4861 17.7626 17.8635 17.8819 17.8895 17.8947 17.8981 17.8981 18 
+  Bin 108: 18 18 18 18 18 18 18 18 18 18 19 
+  Bin 109: 19 19 19.2222 19.2222 19.2222 19.2222 19.2222 19.2222 19.2222 19.2222 20 
+  Bin 110: 20 20.1338 20.1338 20.1338 20.1338 20.1338 20.1338 20.1338 20.1338 20.1338 21 
+  Bin 111: 21 -nan -nan -nan -nan -nan -nan -nan -nan -nan 22 
+  Bin 112: 22 22.9253 22.9253 22.9253 22.9253 22.9253 22.9253 22.9253 22.9253 22.9253 23 
+  Bin 113: 23 23 23 23 23 23 23 23 24.0578 24.0578 24 
+  Bin 114: 24 -nan -nan -nan -nan -nan -nan -nan -nan -nan 25 
+  Bin 115: 25 25.4829 25.4829 25.4829 25.4829 25.4829 25.4829 25.4829 25.9929 25.9929 26 
+  Bin 116: 26 -nan -nan -nan -nan -nan -nan -nan -nan -nan 27 
+  Bin 117: 27 -nan -nan -nan -nan -nan -nan -nan -nan -nan 28 
+  Bin 118: 28 28 28 28 28.9848 28.9848 28.9848 28.9848 28.9848 28.9848 29 
+  Bin 119: 29 -nan -nan -nan -nan -nan -nan -nan -nan -nan 30 
+  Bin 120: 30 30 30 30 30 30 30 30 30 30 31 
+  Bin 121: 31 31 31 31 31 31 31 31 31 31.951 32 
+  Bin 122: 32 32 32 32 32 32 32 32 32.9689 32.9689 33 
+  Bin 123: 33 -nan -nan -nan -nan -nan -nan -nan -nan -nan 34 
+  Bin 124: 34 34.5 34.5 34.5 34.5 34.5 34.5 34.5 34.5 34.5 35 
+  Bin 125: 35 -nan -nan -nan -nan -nan -nan -nan -nan -nan 36 
+  Bin 126: 36 36 36 36 36 36 36 36 36 36 37 
+  Bin 127: 37 37.3333 37.6667 38 38 38 38 38 38 38 38 
+  Bin 128: 38 -nan -nan -nan -nan -nan -nan -nan -nan -nan 39 
+  Bin 129: 39 -nan -nan -nan -nan -nan -nan -nan -nan -nan 40 
+  Bin 130: 40 -nan -nan -nan -nan -nan -nan -nan -nan -nan 41 
+  Bin 131: 41 -nan -nan -nan -nan -nan -nan -nan -nan -nan 42 
+  Bin 132: 42 42 42 42 42 42 42 42 43.0544 43.0544 43 
+  Bin 133: 43 44 44 44 44 44 44 44 44 44 44 
+  Bin 134: 44 -nan -nan -nan -nan -nan -nan -nan -nan -nan 45 
+  Bin 135: 45 45 45 45 45 45 46 46 46 46 46 
+  Bin 136: 46 -nan -nan -nan -nan -nan -nan -nan -nan -nan 47 
+  Bin 137: 47 -nan -nan -nan -nan -nan -nan -nan -nan -nan 48 
+  Bin 138: 48 -nan -nan -nan -nan -nan -nan -nan -nan -nan 49 
+  Bin 139: 49 50.0709 50.0709 50.0709 50.0709 50.0709 50.0709 50.0709 50.0709 50.0709 50 
+  Bin 140: 50 50 50 50 50.5098 50.5098 50.5098 50.5098 50.5098 50.5098 51 
+  Bin 141: 51 -nan -nan -nan -nan -nan -nan -nan -nan -nan 52 
+  Bin 142: 52 52 53.037 53.037 53.037 53.037 53.037 53.037 53.037 53.037 53 
+  Bin 143: 53 53 53 53 53 53 53 53 53 53 54 
+  Bin 144: 54 54 54 54 54 54 54 54 54 54.4856 55 
+  Bin 145: 55 55 55 55 55 55 55 55 55 55.4867 56 
+  Bin 146: 56 57.0097 57.0097 57.0097 57.0097 57.0097 57.0097 57.0097 57.0097 57.0097 57 
+  Bin 147: 57 -nan -nan -nan -nan -nan -nan -nan -nan -nan 58 
+  Bin 148: 58 58.3333 58.3333 58.3333 58.3333 58.3333 58.3333 58.3333 58.3333 58.6667 59 
+  Bin 149: 59 -nan -nan -nan -nan -nan -nan -nan -nan -nan 60 
+  Bin 150: 60 60 60 60 60 60 60 60.4992 60.4992 60.4992 61 
+  Bin 151: 61 61 61 61 61 61 61 61 61 61 62 
+  Bin 152: 62 62 62.9863 62.9863 62.9863 62.9863 62.9863 62.9863 62.9863 62.9863 63 
+  Bin 153: 63 63.2454 63.2454 63.4929 63.4929 63.4929 63.4929 63.4929 63.7455 63.7455 64 
+  Bin 154: 64 64 64.9851 64.9851 64.9851 64.9851 64.9851 64.9851 64.9851 64.9851 65 
+  Bin 155: 65 -nan -nan -nan -nan -nan -nan -nan -nan -nan 66 
+  Bin 156: 66 -nan -nan -nan -nan -nan -nan -nan -nan -nan 67 
+  Bin 157: 67 67 67 67 67 67 67 67 67 67 68 
+  Bin 158: 68 68.9771 68.9771 68.9771 68.9771 68.9771 68.9771 68.9771 68.9771 68.9771 69 
+  Bin 159: 69 69 69 69 69 69 69 70.0083 70.0083 70.0083 70 
+  Bin 160: 70 -nan -nan -nan -nan -nan -nan -nan -nan -nan 71 
+  Bin 161: 71 -nan -nan -nan -nan -nan -nan -nan -nan -nan 72 
+  Bin 162: 72 -nan -nan -nan -nan -nan -nan -nan -nan -nan 73 
+  Bin 163: 73 73 73 73.9827 73.9827 73.9827 73.9827 73.9827 73.9827 73.9827 74 
+  Bin 164: 74 74.4718 74.9471 74.9471 74.9471 74.9471 74.9471 74.9471 74.9471 74.9471 75 
+  Bin 165: 75 -nan -nan -nan -nan -nan -nan -nan -nan -nan 76 
+  Bin 166: 76 -nan -nan -nan -nan -nan -nan -nan -nan -nan 77 
+  Bin 167: 77 -nan -nan -nan -nan -nan -nan -nan -nan -nan 78 
+  Bin 168: 78 -nan -nan -nan -nan -nan -nan -nan -nan -nan 79 
+  Bin 169: 79 -nan -nan -nan -nan -nan -nan -nan -nan -nan 80 
+  Bin 170: 80 81.2 81.2 81.2 81.2 81.2 81.2 81.2 81.2 81.2 81 
+  Bin 171: 81 81 81 81 81 81 81 81 81 81.9136 82 
+  Bin 172: 82 -nan -nan -nan -nan -nan -nan -nan -nan -nan 83 
+  Bin 173: 83 83.3416 83.6768 83.6768 83.6768 83.6768 83.6768 83.6768 83.6768 83.6768 84 
+  Bin 174: 84 85 85 85 85 85 85 85 85 85 85 
+  Bin 175: 85 86 86 86 86 86 86 86 86 86 86 
+  Bin 176: 86 86.5 86.5 86.5 86.5 86.5 86.5 86.5 87 87 87 
+  Bin 177: 87 88 88 88 88 88 88 88 88 88 88 
+  Bin 178: 88 88 88 88 88 88 88 88 88 88 89 
+  Bin 179: 89 89 89 89 89 90 90 90 90 90 90 
+
+Det 2:
+  Bin 0: -90 -nan -nan -nan -nan -nan -nan -nan -nan -nan -89 
+  Bin 1: -89 -nan -nan -nan -nan -nan -nan -nan -nan -nan -88 
+  Bin 2: -88 -nan -nan -nan -nan -nan -nan -nan -nan -nan -87 
+  Bin 3: -87 -nan -nan -nan -nan -nan -nan -nan -nan -nan -86 
+  Bin 4: -86 -nan -nan -nan -nan -nan -nan -nan -nan -nan -85 
+  Bin 5: -85 -nan -nan -nan -nan -nan -nan -nan -nan -nan -84 
+  Bin 6: -84 -nan -nan -nan -nan -nan -nan -nan -nan -nan -83 
+  Bin 7: -83 -nan -nan -nan -nan -nan -nan -nan -nan -nan -82 
+  Bin 8: -82 -nan -nan -nan -nan -nan -nan -nan -nan -nan -81 
+  Bin 9: -81 -nan -nan -nan -nan -nan -nan -nan -nan -nan -80 
+  Bin 10: -80 -nan -nan -nan -nan -nan -nan -nan -nan -nan -79 
+  Bin 11: -79 -nan -nan -nan -nan -nan -nan -nan -nan -nan -78 
+  Bin 12: -78 -nan -nan -nan -nan -nan -nan -nan -nan -nan -77 
+  Bin 13: -77 -nan -nan -nan -nan -nan -nan -nan -nan -nan -76 
+  Bin 14: -76 -nan -nan -nan -nan -nan -nan -nan -nan -nan -75 
+  Bin 15: -75 -nan -nan -nan -nan -nan -nan -nan -nan -nan -74 
+  Bin 16: -74 -nan -nan -nan -nan -nan -nan -nan -nan -nan -73 
+  Bin 17: -73 -nan -nan -nan -nan -nan -nan -nan -nan -nan -72 
+  Bin 18: -72 -nan -nan -nan -nan -nan -nan -nan -nan -nan -71 
+  Bin 19: -71 -nan -nan -nan -nan -nan -nan -nan -nan -nan -70 
+  Bin 20: -70 -nan -nan -nan -nan -nan -nan -nan -nan -nan -69 
+  Bin 21: -69 -nan -nan -nan -nan -nan -nan -nan -nan -nan -68 
+  Bin 22: -68 -nan -nan -nan -nan -nan -nan -nan -nan -nan -67 
+  Bin 23: -67 -nan -nan -nan -nan -nan -nan -nan -nan -nan -66 
+  Bin 24: -66 -nan -nan -nan -nan -nan -nan -nan -nan -nan -65 
+  Bin 25: -65 -nan -nan -nan -nan -nan -nan -nan -nan -nan -64 
+  Bin 26: -64 -nan -nan -nan -nan -nan -nan -nan -nan -nan -63 
+  Bin 27: -63 -61.8085 -61.8085 -61.8085 -61.8085 -61.8085 -61.8085 -61.8085 -61.8085 -61.8085 -62 
+  Bin 28: -62 -nan -nan -nan -nan -nan -nan -nan -nan -nan -61 
+  Bin 29: -61 -61 -61 -61 -61 -61 -61 -61 -61 -60.0276 -60 
+  Bin 30: -60 -60 -60 -58.9828 -58.9828 -58.9828 -58.9828 -58.9828 -58.9828 -58.9828 -59 
+  Bin 31: -59 -59 -59 -59 -59 -59 -59 -59 -59 -59 -58 
+  Bin 32: -58 -58 -58 -58 -57.4955 -57.4955 -57.4955 -57.4955 -57.4955 -57.4955 -57 
+  Bin 33: -57 -55.9689 -55.9689 -55.9689 -55.9689 -55.9689 -55.9689 -55.9689 -55.9689 -55.9689 -56 
+  Bin 34: -56 -nan -nan -nan -nan -nan -nan -nan -nan -nan -55 
+  Bin 35: -55 -nan -nan -nan -nan -nan -nan -nan -nan -nan -54 
+  Bin 36: -54 -54 -53.3057 -53.3057 -52.9666 -52.9666 -52.9666 -52.9666 -52.9666 -52.9666 -53 
+  Bin 37: -53 -52.4759 -52.4759 -52.4759 -52.4759 -51.9734 -51.9734 -51.9734 -51.9734 -51.9734 -52 
+  Bin 38: -52 -52 -51.4935 -51.4935 -51.4935 -51.4935 -51.4935 -51.4935 -51.4935 -50.9995 -51 
+  Bin 39: -51 -nan -nan -nan -nan -nan -nan -nan -nan -nan -50 
+  Bin 40: -50 -50 -50 -50 -50 -50 -50 -50 -50 -50 -49 
+  Bin 41: -49 -nan -nan -nan -nan -nan -nan -nan -nan -nan -48 
+  Bin 42: -48 -48 -48 -48 -48 -48 -48 -48 -47.5035 -47.5035 -47 
+  Bin 43: -47 -47 -47 -47 -47 -47 -47 -46.502 -46.502 -46.0067 -46 
+  Bin 44: -46 -46 -46 -46 -46 -46 -46 -46 -46 -45.6697 -45 
+  Bin 45: -45 -45 -45 -45 -44.749 -44.749 -44.749 -44.749 -44.749 -44.5013 -44 
+  Bin 46: -44 -44 -44 -44 -44 -44 -44 -44 -43.0062 -43.0062 -43 
+  Bin 47: -43 -43 -43 -42.5069 -42.5069 -42.5069 -42.5069 -42.5069 -42.5069 -42.5069 -42 
+  Bin 48: -42 -nan -nan -nan -nan -nan -nan -nan -nan -nan -41 
+  Bin 49: -41 -40.5122 -40.0218 -40.0218 -40.0218 -40.0218 -40.0218 -40.0218 -40.0218 -40.0218 -40 
+  Bin 50: -40 -40 -40 -40 -40 -40 -40 -40 -38.985 -38.985 -39 
+  Bin 51: -39 -38.5103 -38.5103 -38.5103 -38.0115 -38.0115 -38.0115 -38.0115 -38.0115 -38.0115 -38 
+  Bin 52: -38 -38 -38 -38 -38 -38 -38 -37.0131 -37.0131 -37.0131 -37 
+  Bin 53: -37 -36.654 -36.654 -36.654 -36.654 -36.3193 -36.3193 -36.3193 -35.9926 -35.9926 -36 
+  Bin 54: -36 -35.4825 -35.4825 -35.4825 -35.4825 -34.9806 -34.9806 -34.9806 -34.9806 -34.9806 -35 
+  Bin 55: -35 -35 -35 -33.9822 -33.9822 -33.9822 -33.9822 -33.9822 -33.9822 -33.9822 -34 
+  Bin 56: -34 -34 -34 -34 -34 -34 -34 -33.6443 -33.6443 -33.6443 -33 
+  Bin 57: -33 -32.4903 -32.0342 -32.0342 -32.0342 -32.0342 -32.0342 -32.0342 -31.7546 -31.7546 -32 
+  Bin 58: -32 -31.1712 -31.1712 -31.1712 -31.1712 -31.1712 -30.845 -30.845 -30.845 -30.845 -31 
+  Bin 59: -31 -31 -30.6271 -30.6271 -30.6271 -30.6271 -30.6271 -30.6271 -30.6271 -30.0244 -30 
+  Bin 60: -30 -30 -28.9007 -28.9007 -28.9007 -28.9007 -28.9007 -28.9007 -28.9007 -28.9007 -29 
+  Bin 61: -29 -28.9999 -28.9624 -28.8811 -28.7758 -28.6933 -28.556 -28.3804 -28.2152 -28.1179 -28 
+  Bin 62: -28 -27.9176 -27.8468 -27.7735 -27.6989 -27.6078 -27.5157 -27.3604 -27.2005 -27.102 -27 
+  Bin 63: -27 -26.8914 -26.8127 -26.7414 -26.6668 -26.5905 -26.4766 -26.3251 -26.181 -26.0921 -26 
+  Bin 64: -26 -25.9051 -25.8217 -25.7398 -25.6579 -25.5788 -25.4574 -25.3055 -25.1655 -25.0751 -25 
+  Bin 65: -25 -24.9191 -24.8452 -24.7644 -24.6814 -24.5943 -24.4765 -24.3155 -24.1673 -24.0735 -24 
+  Bin 66: -24 -23.9241 -23.8556 -23.7784 -23.6945 -23.6148 -23.5249 -23.3714 -23.2081 -23.094 -23 
+  Bin 67: -23 -22.9064 -22.8269 -22.7431 -22.6646 -22.5925 -22.4754 -22.3188 -22.1725 -22.0767 -22 
+  Bin 68: -22 -21.9193 -21.8497 -21.7721 -21.6906 -21.6261 -21.5066 -21.3416 -21.1865 -21.0945 -21 
+  Bin 69: -21 -20.911 -20.8311 -20.7458 -20.6599 -20.5792 -20.4538 -20.2987 -20.1671 -20.0899 -20 
+  Bin 70: -20 -19.9182 -19.8448 -19.7633 -19.6785 -19.6122 -19.4898 -19.3273 -19.1808 -19.0964 -19 
+  Bin 71: -19 -18.9115 -18.8384 -18.7632 -18.6798 -18.6167 -18.5172 -18.3609 -18.2012 -18.0961 -18 
+  Bin 72: -18 -17.9117 -17.8346 -17.7506 -17.6627 -17.5943 -17.4747 -17.319 -17.1844 -17.0981 -17 
+  Bin 73: -17 -16.913 -16.8387 -16.7582 -16.668 -16.5951 -16.4951 -16.3386 -16.1912 -16.0967 -16 
+  Bin 74: -16 -15.9125 -15.8397 -15.7608 -15.6745 -15.6061 -15.4843 -15.3212 -15.18 -15.0953 -15 
+  Bin 75: -15 -14.9169 -14.8431 -14.7617 -14.6875 -14.6125 -14.4875 -14.3308 -14.2086 -14.1112 -14 
+  Bin 76: -14 -13.9088 -13.8356 -13.7584 -13.6762 -13.606 -13.4999 -13.3446 -13.2048 -13.1103 -13 
+  Bin 77: -13 -12.9096 -12.8331 -12.7524 -12.6729 -12.603 -12.4827 -12.3242 -12.1951 -12.1038 -12 
+  Bin 78: -12 -11.9097 -11.8366 -11.7631 -11.6887 -11.6173 -11.512 -11.3612 -11.2072 -11.1035 -11 
+  Bin 79: -11 -10.9122 -10.8401 -10.7667 -10.6871 -10.6126 -10.515 -10.3694 -10.2159 -10.1143 -10 
+  Bin 80: -10 -9.89558 -9.81322 -9.73384 -9.65334 -9.5786 -9.47323 -9.33475 -9.19018 -9.09442 -9 
+  Bin 81: -9 -8.90964 -8.83167 -8.74922 -8.65916 -8.58248 -8.46622 -8.32419 -8.18197 -8.09389 -8 
+  Bin 82: -8 -7.91219 -7.83657 -7.75524 -7.66845 -7.58576 -7.46445 -7.3084 -7.17851 -7.09356 -7 
+  Bin 83: -7 -6.91348 -6.84031 -6.76161 -6.67622 -6.59833 -6.48717 -6.34714 -6.1992 -6.10355 -6 
+  Bin 84: -6 -5.90442 -5.82642 -5.74547 -5.65698 -5.5787 -5.47111 -5.33877 -5.19452 -5.10342 -5 
+  Bin 85: -5 -4.9079 -4.83119 -4.75167 -4.66368 -4.58882 -4.47277 -4.33334 -4.18655 -4.09318 -4 
+  Bin 86: -4 -3.91218 -3.83819 -3.76003 -3.67495 -3.60562 -3.48526 -3.34603 -3.20505 -3.10823 -3 
+  Bin 87: -3 -2.90282 -2.8246 -2.74641 -2.66685 -2.5939 -2.46913 -2.33269 -2.20822 -2.10528 -2 
+  Bin 88: -2 -1.90834 -1.83447 -1.76092 -1.69045 -1.60789 -1.47704 -1.3354 -1.19581 -1.10189 -1 
+  Bin 89: -1 -0.910406 -0.840067 -0.772716 -0.713136 -0.629419 -0.499965 -0.350137 -0.209121 -0.110338 0 
+  Bin 90: 0 0.0938932 0.169767 0.244189 0.324285 0.392429 0.510517 0.658711 0.786208 0.887527 1 
+  Bin 91: 1 1.09366 1.16685 1.23688 1.2984 1.3873 1.52037 1.66782 1.78945 1.89067 2 
+  Bin 92: 2 2.09606 2.17253 2.24593 2.31035 2.39751 2.52962 2.67398 2.77872 2.88929 3 
+  Bin 93: 3 3.09276 3.16591 3.23448 3.30274 3.38659 3.5158 3.66788 3.78295 3.88868 4 
+  Bin 94: 4 4.09933 4.17714 4.25305 4.31713 4.40826 4.54088 4.68968 4.79858 4.89467 5 
+  Bin 95: 5 5.09351 5.17035 5.24786 5.31992 5.39948 5.53124 5.68421 5.79833 5.89445 6 
+  Bin 96: 6 6.09336 6.16735 6.24219 6.31621 6.39163 6.51527 6.67019 6.78812 6.89453 7 
+  Bin 97: 7 7.10098 7.17839 7.24891 7.3136 7.4062 7.53442 7.68531 7.80466 7.8954 8 
+  Bin 98: 8 8.08644 8.15567 8.22468 8.29423 8.36483 8.48249 8.63871 8.78684 8.88776 9 
+  Bin 99: 9 9.10277 9.1814 9.25312 9.31748 9.40566 9.53578 9.6827 9.79146 9.89229 10 
+  Bin 100: 10 10.0957 10.1702 10.2406 10.3066 10.3971 10.5313 10.6872 10.8037 10.8953 11 
+  Bin 101: 11 11.0901 11.166 11.2384 11.303 11.3975 11.5353 11.6903 11.7971 11.8978 12 
+  Bin 102: 12 12.0958 12.1693 12.2378 12.2996 12.3891 12.517 12.6703 12.8035 12.8931 13 
+  Bin 103: 13 13.0951 13.1745 13.2553 13.3261 13.4103 13.5426 13.6942 13.8141 13.8989 14 
+  Bin 104: 14 14.0915 14.1569 14.217 14.2703 14.3406 14.4587 14.6138 14.7762 14.8918 15 
+  Bin 105: 15 15.1144 15.201 15.2713 15.3352 15.4372 15.5669 15.7068 15.8136 15.9004 16 
+  Bin 106: 16 16.0889 16.1634 16.2416 16.3131 16.3921 16.5262 16.6846 16.8114 16.9053 17 
+  Bin 107: 17 17.0904 17.1644 17.2367 17.2984 17.4023 17.5451 17.6943 17.8009 17.9044 18 
+  Bin 108: 18 18.092 18.1607 18.22 18.2799 18.3839 18.5226 18.6786 18.8032 18.9075 19 
+  Bin 109: 19 19.0867 19.1581 19.2305 19.2865 19.3791 19.5143 19.6745 19.8014 19.9045 20 
+  Bin 110: 20 20.0904 20.1561 20.216 20.2681 20.3358 20.454 20.6079 20.7595 20.8865 21 
+  Bin 111: 21 21.102 21.1751 21.2276 21.2841 21.3805 21.5038 21.6475 21.776 21.8899 22 
+  Bin 112: 22 22.0808 22.1505 22.22 22.2788 22.3654 22.4984 22.6604 22.7922 22.9055 23 
+  Bin 113: 23 23.0861 23.1537 23.2077 23.2673 23.3738 23.5077 23.6593 23.7739 23.8992 24 
+  Bin 114: 24 24.1166 24.2022 24.2774 24.3514 24.4449 24.5784 24.7345 24.8675 24.9435 25 
+  Bin 115: 25 25.227 25.3308 25.4016 25.4886 25.5735 25.6643 25.7519 25.8345 25.9145 26 
+  Bin 116: 26 26.2032 26.3744 26.4817 26.605 26.7012 26.7734 26.858 26.8977 26.9214 27 
+  Bin 117: 27 27.2965 27.4002 27.4002 27.5151 27.6365 27.7653 27.7653 27.7653 27.7653 28 
+  Bin 118: 28 28 28 28.1843 28.1843 28.1843 28.1843 28.1843 28.1843 28.6837 29 
+  Bin 119: 29 29.0919 29.0919 29.0919 29.0919 29.0919 29.0919 29.0919 29.0919 37.9242 30 
+  Bin 120: 30 30.2434 30.4883 30.4883 30.4883 30.4883 30.4883 30.4883 30.4883 30.7437 31 
+  Bin 121: 31 31.243 31.243 31.243 31.243 31.4922 31.4922 31.4922 31.4922 31.7479 32 
+  Bin 122: 32 32 32.2442 32.2442 32.2442 32.2442 32.495 32.495 32.495 32.495 33 
+  Bin 123: 33 33.2423 33.7304 33.7304 33.7304 33.7304 33.7304 33.7304 33.985 33.985 34 
+  Bin 124: 34 34.3258 34.3258 34.3258 34.4912 34.8237 34.9908 34.9908 34.9908 34.9908 35 
+  Bin 125: 35 35 35.4907 35.4907 35.4907 35.4907 35.4907 35.4907 35.4907 35.4907 36 
+  Bin 126: 36 36.4874 36.4874 36.4874 36.7353 36.7353 36.7353 36.7353 36.7353 36.9904 37 
+  Bin 127: 37 37 37 37 37 37 37 37.5046 37.5046 37.76 38 
+  Bin 128: 38 38 38 38 38 38 38 38 38 38 39 
+  Bin 129: 39 39 39.4913 39.985 39.985 39.985 39.985 39.985 39.985 39.985 40 
+  Bin 130: 40 40 40 40.1645 40.3298 40.496 40.6631 40.6631 40.8321 40.8321 41 
+  Bin 131: 41 41.4876 41.4876 41.4876 41.4876 41.4876 41.4876 41.4876 41.9948 41.9948 42 
+  Bin 132: 42 42 42 42 42 42 42 43.0136 43.0136 43.0136 43 
+  Bin 133: 43 43 43 43 44.0059 44.0059 44.0059 44.0059 44.0059 44.0059 44 
+  Bin 134: 44 44.3391 44.6769 44.6769 45.0121 45.0121 45.0121 45.0121 45.0121 45.0121 45 
+  Bin 135: 45 45.6777 45.6777 45.6777 45.6777 45.6777 45.6777 45.6777 45.6777 46.0069 46 
+  Bin 136: 46 46 46.2531 46.5053 46.5053 46.5053 46.5053 46.754 46.754 46.754 47 
+  Bin 137: 47 47.9825 47.9825 47.9825 47.9825 47.9825 47.9825 47.9825 47.9825 47.9825 48 
+  Bin 138: 48 48 48 48 48 48 48 48.3371 48.3371 48.3371 49 
+  Bin 139: 49 49 49.1945 49.1945 49.3921 49.3921 49.3921 49.3921 49.5962 49.8021 50 
+  Bin 140: 50 50 50 50 50 50 50 50 50 50 51 
+  Bin 141: 51 51 51 51 51 51 51 51 52.0245 52.0245 52 
+  Bin 142: 52 -nan -nan -nan -nan -nan -nan -nan -nan -nan 53 
+  Bin 143: 53 53.7321 53.7321 53.7321 53.7321 53.7321 53.7321 53.7321 53.7321 53.7321 54 
+  Bin 144: 54 54.2437 54.4888 54.4888 54.4888 54.4888 54.7395 54.7395 54.7395 54.7395 55 
+  Bin 145: 55 -nan -nan -nan -nan -nan -nan -nan -nan -nan 56 
+  Bin 146: 56 -nan -nan -nan -nan -nan -nan -nan -nan -nan 57 
+  Bin 147: 57 57 57 57 57 57 57 57 57.9855 57.9855 58 
+  Bin 148: 58 58.6837 58.6837 58.6837 58.6837 58.6837 58.6837 58.6837 58.6837 58.6837 59 
+  Bin 149: 59 59 59 59 59 59 59 59 59 59 60 
+  Bin 150: 60 60.508 60.508 60.508 60.508 60.508 60.508 60.508 61.0022 61.0022 61 
+  Bin 151: 61 61.318 61.318 61.318 61.318 61.318 61.318 61.318 61.318 61.318 62 
+  Bin 152: 62 62 62 62.9708 62.9708 62.9708 62.9708 62.9708 62.9708 62.9708 63 
+  Bin 153: 63 63.9421 63.9421 63.9421 63.9421 63.9421 63.9421 63.9421 63.9421 63.9421 64 
+  Bin 154: 64 64 64 64 64 64.9922 64.9922 64.9922 64.9922 64.9922 65 
+  Bin 155: 65 65 65 65 65 65 65 65 65 66.0036 66 
+  Bin 156: 66 -nan -nan -nan -nan -nan -nan -nan -nan -nan 67 
+  Bin 157: 67 67 67.5 67.5 67.5 67.5 67.5 67.5 67.5 67.5 68 
+  Bin 158: 68 68 68 68 68 68 68 68 68 68 69 
+  Bin 159: 69 69 69 69 69 69 69 69 70.0009 70.0009 70 
+  Bin 160: 70 70 70 70 70 70 70 70 70 70 71 
+  Bin 161: 71 71 71 71 71 71 71 72.0408 72.0408 72.0408 72 
+  Bin 162: 72 72 72 72.9187 72.9187 72.9187 72.9187 72.9187 72.9187 72.9187 73 
+  Bin 163: 73 -nan -nan -nan -nan -nan -nan -nan -nan -nan 74 
+  Bin 164: 74 -nan -nan -nan -nan -nan -nan -nan -nan -nan 75 
+  Bin 165: 75 -nan -nan -nan -nan -nan -nan -nan -nan -nan 76 
+  Bin 166: 76 -nan -nan -nan -nan -nan -nan -nan -nan -nan 77 
+  Bin 167: 77 -nan -nan -nan -nan -nan -nan -nan -nan -nan 78 
+  Bin 168: 78 -nan -nan -nan -nan -nan -nan -nan -nan -nan 79 
+  Bin 169: 79 -nan -nan -nan -nan -nan -nan -nan -nan -nan 80 
+  Bin 170: 80 -nan -nan -nan -nan -nan -nan -nan -nan -nan 81 
+  Bin 171: 81 -nan -nan -nan -nan -nan -nan -nan -nan -nan 82 
+  Bin 172: 82 -nan -nan -nan -nan -nan -nan -nan -nan -nan 83 
+  Bin 173: 83 -nan -nan -nan -nan -nan -nan -nan -nan -nan 84 
+  Bin 174: 84 -nan -nan -nan -nan -nan -nan -nan -nan -nan 85 
+  Bin 175: 85 -nan -nan -nan -nan -nan -nan -nan -nan -nan 86 
+  Bin 176: 86 -nan -nan -nan -nan -nan -nan -nan -nan -nan 87 
+  Bin 177: 87 -nan -nan -nan -nan -nan -nan -nan -nan -nan 88 
+  Bin 178: 88 -nan -nan -nan -nan -nan -nan -nan -nan -nan 89 
+  Bin 179: 89 -nan -nan -nan -nan -nan -nan -nan -nan -nan 90 
+
+Det 3:
+  Bin 0: -90 -90 -90 -90 -90 -90 -90 -90 -90 -88.9402 -89 
+  Bin 1: -89 -nan -nan -nan -nan -nan -nan -nan -nan -nan -88 
+  Bin 2: -88 -nan -nan -nan -nan -nan -nan -nan -nan -nan -87 
+  Bin 3: -87 -nan -nan -nan -nan -nan -nan -nan -nan -nan -86 
+  Bin 4: -86 -nan -nan -nan -nan -nan -nan -nan -nan -nan -85 
+  Bin 5: -85 -nan -nan -nan -nan -nan -nan -nan -nan -nan -84 
+  Bin 6: -84 -nan -nan -nan -nan -nan -nan -nan -nan -nan -83 
+  Bin 7: -83 -nan -nan -nan -nan -nan -nan -nan -nan -nan -82 
+  Bin 8: -82 -nan -nan -nan -nan -nan -nan -nan -nan -nan -81 
+  Bin 9: -81 -nan -nan -nan -nan -nan -nan -nan -nan -nan -80 
+  Bin 10: -80 -nan -nan -nan -nan -nan -nan -nan -nan -nan -79 
+  Bin 11: -79 -nan -nan -nan -nan -nan -nan -nan -nan -nan -78 
+  Bin 12: -78 -nan -nan -nan -nan -nan -nan -nan -nan -nan -77 
+  Bin 13: -77 -nan -nan -nan -nan -nan -nan -nan -nan -nan -76 
+  Bin 14: -76 -nan -nan -nan -nan -nan -nan -nan -nan -nan -75 
+  Bin 15: -75 -nan -nan -nan -nan -nan -nan -nan -nan -nan -74 
+  Bin 16: -74 -73.6667 -73.6667 -73.6667 -73.6667 -73.6667 -73.6667 -73.6667 -73.6667 -73.3333 -73 
+  Bin 17: -73 -73 -73 -73 -73 -73 -73 -73 -73 -73 -72 
+  Bin 18: -72 -nan -nan -nan -nan -nan -nan -nan -nan -nan -71 
+  Bin 19: -71 -nan -nan -nan -nan -nan -nan -nan -nan -nan -70 
+  Bin 20: -70 -69.7678 -69.5356 -69.5356 -69.5356 -69.5356 -69.2837 -69.2837 -69.2837 -69.0123 -69 
+  Bin 21: -69 -nan -nan -nan -nan -nan -nan -nan -nan -nan -68 
+  Bin 22: -68 -nan -nan -nan -nan -nan -nan -nan -nan -nan -67 
+  Bin 23: -67 -nan -nan -nan -nan -nan -nan -nan -nan -nan -66 
+  Bin 24: -66 -nan -nan -nan -nan -nan -nan -nan -nan -nan -65 
+  Bin 25: -65 -nan -nan -nan -nan -nan -nan -nan -nan -nan -64 
+  Bin 26: -64 -nan -nan -nan -nan -nan -nan -nan -nan -nan -63 
+  Bin 27: -63 -nan -nan -nan -nan -nan -nan -nan -nan -nan -62 
+  Bin 28: -62 -62 -62 -62 -62 -62 -62 -62 -62 -62 -61 
+  Bin 29: -61 -61 -61 -61 -61 -61 -61 -61 -61 -61 -60 
+  Bin 30: -60 -nan -nan -nan -nan -nan -nan -nan -nan -nan -59 
+  Bin 31: -59 -nan -nan -nan -nan -nan -nan -nan -nan -nan -58 
+  Bin 32: -58 -nan -nan -nan -nan -nan -nan -nan -nan -nan -57 
+  Bin 33: -57 -nan -nan -nan -nan -nan -nan -nan -nan -nan -56 
+  Bin 34: -56 -54.8269 -54.8269 -54.8269 -54.8269 -54.8269 -54.8269 -54.8269 -54.8269 -54.8269 -55 
+  Bin 35: -55 -nan -nan -nan -nan -nan -nan -nan -nan -nan -54 
+  Bin 36: -54 -nan -nan -nan -nan -nan -nan -nan -nan -nan -53 
+  Bin 37: -53 -53 -51.9386 -51.9386 -51.9386 -51.9386 -51.9386 -51.9386 -51.9386 -51.9386 -52 
+  Bin 38: -52 -52 -52 -52 -52 -52 -52 -52 -52 -52 -51 
+  Bin 39: -51 -51 -51 -51 -51 -51 -51 -51 -51 -51 -50 
+  Bin 40: -50 -50 -50 -50 -50 -50 -50 -50 -50 -50 -49 
+  Bin 41: -49 -49 -47.9787 -47.9787 -47.9787 -47.9787 -47.9787 -47.9787 -47.9787 -47.9787 -48 
+  Bin 42: -48 -48 -48 -48 -48 -48 -47.0053 -47.0053 -47.0053 -47.0053 -47 
+  Bin 43: -47 -nan -nan -nan -nan -nan -nan -nan -nan -nan -46 
+  Bin 44: -46 -46 -46 -46 -46 -46 -46 -45 -45 -45 -45 
+  Bin 45: -45 -nan -nan -nan -nan -nan -nan -nan -nan -nan -44 
+  Bin 46: -44 -44 -43.5 -43.5 -43.5 -43.5 -43.5 -43.5 -43.5 -43.5 -43 
+  Bin 47: -43 -43 -43 -43 -43 -43 -43 -43 -43 -43 -42 
+  Bin 48: -42 -nan -nan -nan -nan -nan -nan -nan -nan -nan -41 
+  Bin 49: -41 -nan -nan -nan -nan -nan -nan -nan -nan -nan -40 
+  Bin 50: -40 -40 -38.9707 -38.9707 -38.9707 -38.9707 -38.9707 -38.9707 -38.9707 -38.9707 -39 
+  Bin 51: -39 -38.6573 -38.6573 -38.3199 -38.3199 -38.3199 -38.3199 -38.3199 -38.3199 -38.3199 -38 
+  Bin 52: -38 -38 -38 -38 -38 -38 -38 -38 -36.9799 -36.9799 -37 
+  Bin 53: -37 -37 -37 -37 -37 -37 -37 -37 -37 -35.9692 -36 
+  Bin 54: -36 -nan -nan -nan -nan -nan -nan -nan -nan -nan -35 
+  Bin 55: -35 -35 -35 -35 -35 -35 -35 -35 -35 -35 -34 
+  Bin 56: -34 1500.91 1500.91 1500.91 1500.91 1500.91 1500.91 1500.91 1500.91 1501.16 -33 
+  Bin 57: -33 -nan -nan -nan -nan -nan -nan -nan -nan -nan -32 
+  Bin 58: -32 -32 -32 -32 -32 -32 -32 -31.968 -31.7757 -31.5273 -31 
+  Bin 59: -31 -30.8823 -30.6848 -30.5048 -30.3913 -30.3126 -30.253 -30.1987 -30.1292 -30.0601 -30 
+  Bin 60: -30 -29.8906 -29.6938 -29.4966 -29.3795 -29.2947 -29.2299 -29.1812 -29.1216 -29.0568 -29 
+  Bin 61: -29 -28.8881 -28.6848 -28.4837 -28.362 -28.2748 -28.2091 -28.1492 -28.0998 -28.0425 -28 
+  Bin 62: -28 -27.895 -27.7032 -27.5075 -27.3846 -27.3013 -27.2355 -27.1808 -27.1266 -27.0612 -27 
+  Bin 63: -27 -26.8955 -26.7053 -26.5123 -26.3928 -26.3094 -26.2456 -26.1927 -26.134 -26.0677 -26 
+  Bin 64: -26 -25.8902 -25.6884 -25.506 -25.3906 -25.3091 -25.2455 -25.1888 -25.1358 -25.0702 -25 
+  Bin 65: -25 -24.8894 -24.6836 -24.4888 -24.3783 -24.3005 -24.2412 -24.1894 -24.1387 -24.0753 -24 
+  Bin 66: -24 -23.8954 -23.7009 -23.504 -23.3901 -23.3119 -23.2509 -23.2006 -23.1456 -23.0804 -23 
+  Bin 67: -23 -22.8873 -22.6846 -22.4959 -22.3851 -22.3057 -22.2435 -22.19 -22.1413 -22.0781 -22 
+  Bin 68: -22 -21.8868 -21.6862 -21.4869 -21.3739 -21.2946 -21.2352 -21.1883 -21.1363 -21.0744 -21 
+  Bin 69: -21 -20.8938 -20.7 -20.5039 -20.3901 -20.312 -20.2497 -20.1964 -20.1447 -20.0794 -20 
+  Bin 70: -20 -19.8798 -19.6708 -19.481 -19.3731 -19.297 -19.2384 -19.1882 -19.1397 -19.0768 -19 
+  Bin 71: -19 -18.8869 -18.6754 -18.4678 -18.3591 -18.2861 -18.2308 -18.1866 -18.1351 -18.0751 -18 
+  Bin 72: -18 -17.8876 -17.6916 -17.4961 -17.3822 -17.3009 -17.2397 -17.1869 -17.1383 -17.0768 -17 
+  Bin 73: -17 -16.8814 -16.6791 -16.4725 -16.3639 -16.2888 -16.2321 -16.1826 -16.1347 -16.0753 -16 
+  Bin 74: -16 -15.8856 -15.6819 -15.4772 -15.369 -15.2927 -15.2345 -15.1839 -15.1376 -15.0781 -15 
+  Bin 75: -15 -14.8876 -14.702 -14.4946 -14.3841 -14.3068 -14.2473 -14.2006 -14.1477 -14.084 -14 
+  Bin 76: -14 -13.8805 -13.6845 -13.4813 -13.3693 -13.2928 -13.2337 -13.1851 -13.1391 -13.0797 -13 
+  Bin 77: -13 -12.887 -12.6796 -12.4621 -12.3534 -12.2818 -12.2273 -12.1833 -12.1349 -12.0761 -12 
+  Bin 78: -12 -11.8841 -11.6956 -11.4829 -11.3662 -11.2873 -11.2283 -11.1786 -11.1327 -11.0752 -11 
+  Bin 79: -11 -10.886 -10.6927 -10.4787 -10.366 -10.2891 -10.2324 -10.1839 -10.1359 -10.0742 -10 
+  Bin 80: -10 -9.87691 -9.66361 -9.45801 -9.35267 -9.27937 -9.22454 -9.1804 -9.13152 -9.07233 -9 
+  Bin 81: -9 -8.88568 -8.69231 -8.47037 -8.35041 -8.27051 -8.21054 -8.16286 -8.12077 -8.06579 -8 
+  Bin 82: -8 -7.88896 -7.69131 -7.47276 -7.36187 -7.28721 -7.23166 -7.1884 -7.13731 -7.07637 -7 
+  Bin 83: -7 -6.87748 -6.67175 -6.46457 -6.35669 -6.28261 -6.2274 -6.18075 -6.13615 -6.0778 -6 
+  Bin 84: -6 -5.88686 -5.68075 -5.46317 -5.35297 -5.27816 -5.22359 -5.17977 -5.13231 -5.07589 -5 
+  Bin 85: -5 -4.88418 -4.68 -4.46654 -4.35861 -4.28561 -4.23156 -4.18496 -4.13828 -4.07861 -4 
+  Bin 86: -4 -3.88258 -3.66858 -3.45526 -3.34474 -3.27175 -3.21822 -3.17396 -3.1311 -3.07529 -3 
+  Bin 87: -3 -2.88499 -2.66966 -2.45763 -2.35315 -2.28287 -2.22955 -2.18613 -2.13818 -2.07842 -2 
+  Bin 88: -2 -1.88193 -1.67947 -1.48315 -1.37228 -1.29519 -1.23695 -1.18861 -1.13824 -1.07612 -1 
+  Bin 89: -1 -0.879525 -0.676274 -0.476634 -0.363601 -0.283688 -0.223241 -0.173715 -0.127139 -0.06959 0 
+  Bin 90: 0 0.111655 0.304528 0.498738 0.615067 0.696343 0.757693 0.806458 0.85941 0.923039 1 
+  Bin 91: 1 1.11665 1.32171 1.52191 1.63368 1.71124 1.77074 1.81766 1.86675 1.92698 2 
+  Bin 92: 2 2.10971 2.30657 2.4998 2.61544 2.69693 2.75845 2.80763 2.85825 2.91915 3 
+  Bin 93: 3 3.1125 3.31305 3.5021 3.61588 3.69645 3.75786 3.8079 3.85583 3.91739 4 
+  Bin 94: 4 4.11369 4.32316 4.51585 4.6283 4.70603 4.76635 4.81457 4.8623 4.92102 5 
+  Bin 95: 5 5.10937 5.29914 5.48906 5.60444 5.68599 5.7487 5.79723 5.8499 5.91439 6 
+  Bin 96: 6 6.11618 6.31932 6.50719 6.62268 6.70437 6.76646 6.81593 6.86309 6.92187 7 
+  Bin 97: 7 7.11023 7.31393 7.50919 7.62486 7.70572 7.7656 7.81272 7.86253 7.92316 8 
+  Bin 98: 8 8.11466 8.31252 8.49952 8.61302 8.69366 8.75515 8.80426 8.85429 8.91717 9 
+  Bin 99: 9 9.1186 9.34394 9.5377 9.64685 9.72301 9.77919 9.82319 9.86871 9.92551 10 
+  Bin 100: 10 10.1101 10.3117 10.5162 10.6334 10.7141 10.7739 10.8226 10.8675 10.9251 11 
+  Bin 101: 11 11.113 11.3231 11.5199 11.6284 11.7035 11.7611 11.8057 11.8533 11.9123 12 
+  Bin 102: 12 12.1117 12.3127 12.4978 12.6076 12.6849 12.7431 12.7907 12.8432 12.9071 13 
+  Bin 103: 13 13.1229 13.3261 13.4953 13.5993 13.6743 13.732 13.7778 13.8298 13.8978 14 
+  Bin 104: 14 14.134 14.3695 14.5425 14.6436 14.712 14.762 14.8027 14.8489 14.9081 15 
+  Bin 105: 15 15.1082 15.2993 15.5025 15.6127 15.6948 15.7564 15.8043 15.8509 15.9096 16 
+  Bin 106: 16 16.1219 16.3364 16.5348 16.641 16.7151 16.771 16.8154 16.8597 16.9151 17 
+  Bin 107: 17 17.1126 17.3134 17.5152 17.6241 17.7027 17.7607 17.8064 17.854 17.9127 18 
+  Bin 108: 18 18.1174 18.3202 18.512 18.62 18.6979 18.7566 18.8025 18.8508 18.9104 19 
+  Bin 109: 19 19.1142 19.3136 19.5262 19.6317 19.7127 19.772 19.8168 19.8614 19.9169 20 
+  Bin 110: 20 20.108 20.3064 20.5108 20.618 20.696 20.7542 20.8004 20.8483 20.9084 21 
+  Bin 111: 21 21.1194 21.3109 21.5014 21.6006 21.6782 21.7381 21.7865 21.8368 21.901 22 
+  Bin 112: 22 22.1255 22.3452 22.5417 22.638 22.7105 22.7647 22.8071 22.851 22.9081 23 
+  Bin 113: 23 23.1096 23.3003 23.5129 23.6157 23.6933 23.7506 23.7977 23.8433 23.9022 24 
+  Bin 114: 24 24.1136 24.3183 24.5229 24.6223 24.6967 24.7527 24.7963 24.8431 24.9013 25 
+  Bin 115: 25 25.1086 25.298 25.4967 25.6 25.6803 25.7386 25.7866 25.8344 25.8963 26 
+  Bin 116: 26 26.1136 26.3074 26.4968 26.5937 26.6685 26.7259 26.7727 26.8225 26.8871 27 
+  Bin 117: 27 27.1182 27.3185 27.5165 27.6191 27.6911 27.7496 27.7963 27.8375 27.8913 28 
+  Bin 118: 28 28.1156 28.3081 28.5572 28.7072 28.7997 28.8676 28.9161 28.9161 28.9161 29 
+  Bin 119: 29 29 29 29 29 29 29 29 29.536 30.0859 30 
+  Bin 120: 30 30 30.9014 30.9014 30.9014 30.9014 30.9014 30.9014 30.9014 30.9014 31 
+  Bin 121: 31 -nan -nan -nan -nan -nan -nan -nan -nan -nan 32 
+  Bin 122: 32 -nan -nan -nan -nan -nan -nan -nan -nan -nan 33 
+  Bin 123: 33 33.377 33.377 33.377 33.377 33.377 33.377 33.377 33.377 33.377 34 
+  Bin 124: 34 -nan -nan -nan -nan -nan -nan -nan -nan -nan 35 
+  Bin 125: 35 35 35 35 35 35 35 35 35 35.9474 36 
+  Bin 126: 36 -nan -nan -nan -nan -nan -nan -nan -nan -nan 37 
+  Bin 127: 37 38.0573 38.0573 38.0573 38.0573 38.0573 38.0573 38.0573 38.0573 38.0573 38 
+  Bin 128: 38 38 38.4659 38.9345 38.9345 38.9345 38.9345 38.9345 38.9345 38.9345 39 
+  Bin 129: 39 39 39 39 39 39 39 39 39 40.1228 40 
+  Bin 130: 40 -nan -nan -nan -nan -nan -nan -nan -nan -nan 41 
+  Bin 131: 41 -nan -nan -nan -nan -nan -nan -nan -nan -nan 42 
+  Bin 132: 42 -nan -nan -nan -nan -nan -nan -nan -nan -nan 43 
+  Bin 133: 43 -nan -nan -nan -nan -nan -nan -nan -nan -nan 44 
+  Bin 134: 44 -nan -nan -nan -nan -nan -nan -nan -nan -nan 45 
+  Bin 135: 45 -nan -nan -nan -nan -nan -nan -nan -nan -nan 46 
+  Bin 136: 46 46 46 46 46 46 46 46 46 46 47 
+  Bin 137: 47 -nan -nan -nan -nan -nan -nan -nan -nan -nan 48 
+  Bin 138: 48 48 48 48 48 48 48 48 48 48.9431 49 
+  Bin 139: 49 -nan -nan -nan -nan -nan -nan -nan -nan -nan 50 
+  Bin 140: 50 50.3537 50.3537 50.3537 50.3537 50.6892 50.6892 50.6892 50.6892 51.0082 51 
+  Bin 141: 51 -nan -nan -nan -nan -nan -nan -nan -nan -nan 52 
+  Bin 142: 52 52 52 52.4742 52.4742 52.9689 52.9689 52.9689 52.9689 52.9689 53 
+  Bin 143: 53 53 53 53 53 53 53 53 53 54.1077 54 
+  Bin 144: 54 -nan -nan -nan -nan -nan -nan -nan -nan -nan 55 
+  Bin 145: 55 55 55.8205 55.8205 55.8205 55.8205 55.8205 55.8205 55.8205 55.8205 56 
+  Bin 146: 56 -nan -nan -nan -nan -nan -nan -nan -nan -nan 57 
+  Bin 147: 57 -nan -nan -nan -nan -nan -nan -nan -nan -nan 58 
+  Bin 148: 58 58 58 58 58 58 58 58 58 58.4507 59 
+  Bin 149: 59 60.12 60.12 60.12 60.12 60.12 60.12 60.12 60.12 60.12 60 
+  Bin 150: 60 60.5417 60.5417 60.5417 60.5417 60.5417 60.5417 60.5417 61.019 61.019 61 
+  Bin 151: 61 61 61 61 61 61 61 61 61 61 62 
+  Bin 152: 62 -nan -nan -nan -nan -nan -nan -nan -nan -nan 63 
+  Bin 153: 63 -nan -nan -nan -nan -nan -nan -nan -nan -nan 64 
+  Bin 154: 64 64 64 64 64 64 64 64 64 64.5077 65 
+  Bin 155: 65 65 65 65 65 65 65 65 65.5004 65.5004 66 
+  Bin 156: 66 67 67 67 67 67 67 67 67 67 67 
+  Bin 157: 67 67 67 67 67 67 67.3333 67.3333 67.3333 67.6667 68 
+  Bin 158: 68 -nan -nan -nan -nan -nan -nan -nan -nan -nan 69 
+  Bin 159: 69 69.994 69.994 69.994 69.994 69.994 69.994 69.994 69.994 69.994 70 
+  Bin 160: 70 -nan -nan -nan -nan -nan -nan -nan -nan -nan 71 
+  Bin 161: 71 71.9268 71.9268 71.9268 71.9268 71.9268 71.9268 71.9268 71.9268 71.9268 72 
+  Bin 162: 72 72 72 72 72 72 72 72 73.0562 73.0562 73 
+  Bin 163: 73 -nan -nan -nan -nan -nan -nan -nan -nan -nan 74 
+  Bin 164: 74 74 74 74 74 74 74 74.9926 74.9926 74.9926 75 
+  Bin 165: 75 -nan -nan -nan -nan -nan -nan -nan -nan -nan 76 
+  Bin 166: 76 -nan -nan -nan -nan -nan -nan -nan -nan -nan 77 
+  Bin 167: 77 -nan -nan -nan -nan -nan -nan -nan -nan -nan 78 
+  Bin 168: 78 -nan -nan -nan -nan -nan -nan -nan -nan -nan 79 
+  Bin 169: 79 79 79 79 79.9754 79.9754 79.9754 79.9754 79.9754 79.9754 80 
+  Bin 170: 80 80 80 80 80 80 80 80 80 80 81 
+  Bin 171: 81 -nan -nan -nan -nan -nan -nan -nan -nan -nan 82 
+  Bin 172: 82 -nan -nan -nan -nan -nan -nan -nan -nan -nan 83 
+  Bin 173: 83 84.3458 84.3458 84.3458 84.3458 84.3458 84.3458 84.3458 84.3458 84.3458 84 
+  Bin 174: 84 -nan -nan -nan -nan -nan -nan -nan -nan -nan 85 
+  Bin 175: 85 -nan -nan -nan -nan -nan -nan -nan -nan -nan 86 
+  Bin 176: 86 86 86 86 86 86 86 86 86.9419 86.9419 87 
+  Bin 177: 87 87 87 87 87 87 87 87 87.4764 87.4764 88 
+  Bin 178: 88 89.0804 89.0804 89.0804 89.0804 89.0804 89.0804 89.0804 89.0804 89.0804 89 
+  Bin 179: 89 -nan -nan -nan -nan -nan -nan -nan -nan -nan 90 
+
+Det 4:
+  Bin 0: -90 -nan -nan -nan -nan -nan -nan -nan -nan -nan -89 
+  Bin 1: -89 -nan -nan -nan -nan -nan -nan -nan -nan -nan -88 
+  Bin 2: -88 -nan -nan -nan -nan -nan -nan -nan -nan -nan -87 
+  Bin 3: -87 -nan -nan -nan -nan -nan -nan -nan -nan -nan -86 
+  Bin 4: -86 -nan -nan -nan -nan -nan -nan -nan -nan -nan -85 
+  Bin 5: -85 -nan -nan -nan -nan -nan -nan -nan -nan -nan -84 
+  Bin 6: -84 -nan -nan -nan -nan -nan -nan -nan -nan -nan -83 
+  Bin 7: -83 -nan -nan -nan -nan -nan -nan -nan -nan -nan -82 
+  Bin 8: -82 -nan -nan -nan -nan -nan -nan -nan -nan -nan -81 
+  Bin 9: -81 -nan -nan -nan -nan -nan -nan -nan -nan -nan -80 
+  Bin 10: -80 -nan -nan -nan -nan -nan -nan -nan -nan -nan -79 
+  Bin 11: -79 -nan -nan -nan -nan -nan -nan -nan -nan -nan -78 
+  Bin 12: -78 -nan -nan -nan -nan -nan -nan -nan -nan -nan -77 
+  Bin 13: -77 -nan -nan -nan -nan -nan -nan -nan -nan -nan -76 
+  Bin 14: -76 -nan -nan -nan -nan -nan -nan -nan -nan -nan -75 
+  Bin 15: -75 -nan -nan -nan -nan -nan -nan -nan -nan -nan -74 
+  Bin 16: -74 -nan -nan -nan -nan -nan -nan -nan -nan -nan -73 
+  Bin 17: -73 -nan -nan -nan -nan -nan -nan -nan -nan -nan -72 
+  Bin 18: -72 -nan -nan -nan -nan -nan -nan -nan -nan -nan -71 
+  Bin 19: -71 -nan -nan -nan -nan -nan -nan -nan -nan -nan -70 
+  Bin 20: -70 -nan -nan -nan -nan -nan -nan -nan -nan -nan -69 
+  Bin 21: -69 -nan -nan -nan -nan -nan -nan -nan -nan -nan -68 
+  Bin 22: -68 -nan -nan -nan -nan -nan -nan -nan -nan -nan -67 
+  Bin 23: -67 -67 -67 -67 -67 -65.9846 -65.9846 -65.9846 -65.9846 -65.9846 -66 
+  Bin 24: -66 -nan -nan -nan -nan -nan -nan -nan -nan -nan -65 
+  Bin 25: -65 -nan -nan -nan -nan -nan -nan -nan -nan -nan -64 
+  Bin 26: -64 -nan -nan -nan -nan -nan -nan -nan -nan -nan -63 
+  Bin 27: -63 -63 -63 -63 -63 -63 -63 -62.0337 -62.0337 -62.0337 -62 
+  Bin 28: -62 -62 -62 -62 -62 -62 -62 -62 -62 -62 -61 
+  Bin 29: -61 -61 -61 -61 -61 -61 -61 -61 -60.0272 -60.0272 -60 
+  Bin 30: -60 -nan -nan -nan -nan -nan -nan -nan -nan -nan -59 
+  Bin 31: -59 -57.9585 -57.9585 -57.9585 -57.9585 -57.9585 -57.9585 -57.9585 -57.9585 -57.9585 -58 
+  Bin 32: -58 -58 -56.9707 -56.9707 -56.9707 -56.9707 -56.9707 -56.9707 -56.9707 -56.9707 -57 
+  Bin 33: -57 -57 -57 -57 -57 -57 -57 -57 -57 -57 -56 
+  Bin 34: -56 -55.0169 -55.0169 -55.0169 -55.0169 -55.0169 -55.0169 -55.0169 -55.0169 -55.0169 -55 
+  Bin 35: -55 -55 -55 -55 -55 -55 -55 -55 -55 -55 -54 
+  Bin 36: -54 -nan -nan -nan -nan -nan -nan -nan -nan -nan -53 
+  Bin 37: -53 -53 -53 -53 -53 -53 -53 -53 -53 -52.4923 -52 
+  Bin 38: -52 -52 -52 -52 -52 -50.7232 -50.7232 -50.7232 -50.7232 -50.7232 -51 
+  Bin 39: -51 -51 -50.3163 -50.3163 -50.3163 -50.3163 -50.3163 -50.3163 -50.3163 -50.3163 -50 
+  Bin 40: -50 -nan -nan -nan -nan -nan -nan -nan -nan -nan -49 
+  Bin 41: -49 -49 -49 -49 -49 -49 -49 -49 -48.0704 -48.0704 -48 
+  Bin 42: -48 -48 -48 -48 -46.7634 -46.7634 -46.7634 -46.7634 -46.7634 -46.7634 -47 
+  Bin 43: -47 -46.5563 -46.5563 -46.2263 -46.2263 -46.2263 -46.2263 -46.2263 -46.2263 -46.2263 -46 
+  Bin 44: -46 -46 -46 -46 -45.9999 -45.9999 -45.9999 -45.9999 -45.7728 -45.4874 -45 
+  Bin 45: -45 -44.8593 -44.722 -44.5328 -44.4004 -44.3077 -44.2506 -44.2097 -44.1519 -44.0726 -44 
+  Bin 46: -44 -43.8532 -43.7057 -43.5285 -43.3923 -43.2861 -43.2247 -43.182 -43.1412 -43.071 -43 
+  Bin 47: -43 -42.8618 -42.7197 -42.5458 -42.4154 -42.316 -42.2525 -42.21 -42.1651 -42.0959 -42 
+  Bin 48: -42 -41.8723 -41.7304 -41.5707 -41.4382 -41.3398 -41.2729 -41.2271 -41.1813 -41.1085 -41 
+  Bin 49: -41 -40.8627 -40.7159 -40.5621 -40.4333 -40.3283 -40.2596 -40.2145 -40.1718 -40.1031 -40 
+  Bin 50: -40 -39.8696 -39.7279 -39.5738 -39.4437 -39.3402 -39.2654 -39.2168 -39.1715 -39.1055 -39 
+  Bin 51: -39 -38.8615 -38.7034 -38.5518 -38.4236 -38.3177 -38.2508 -38.204 -38.1579 -38.0939 -38 
+  Bin 52: -38 -37.867 -37.7307 -37.5733 -37.4456 -37.3386 -37.2713 -37.2246 -37.1788 -37.1035 -37 
+  Bin 53: -37 -36.8532 -36.7022 -36.5458 -36.4148 -36.3114 -36.2445 -36.1957 -36.1507 -36.089 -36 
+  Bin 54: -36 -35.8678 -35.7132 -35.5596 -35.4342 -35.3262 -35.2549 -35.2071 -35.1609 -35.0977 -35 
+  Bin 55: -35 -34.855 -34.6975 -34.5538 -34.4233 -34.3199 -34.2491 -34.197 -34.1559 -34.0967 -34 
+  Bin 56: -34 -33.864 -33.7073 -33.5604 -33.4319 -33.3269 -33.2551 -33.2066 -33.1576 -33.0957 -33 
+  Bin 57: -33 -32.8604 -32.709 -32.5642 -32.4356 -32.3288 -32.2537 -32.1987 -32.1527 -32.0935 -32 
+  Bin 58: -32 -31.8615 -31.7071 -31.5675 -31.4375 -31.3294 -31.2538 -31.2018 -31.1507 -31.0917 -31 
+  Bin 59: -31 -30.8709 -30.7182 -30.583 -30.4584 -30.3463 -30.2622 -30.1991 -30.145 -30.0874 -30 
+  Bin 60: -30 -29.86 -29.696 -29.5578 -29.4209 -29.3126 -29.2368 -29.1815 -29.1327 -29.08 -29 
+  Bin 61: -29 -28.87 -28.7144 -28.5653 -28.436 -28.3255 -28.2518 -28.196 -28.1494 -28.0892 -28 
+  Bin 62: -28 -27.8589 -27.705 -27.5645 -27.4305 -27.321 -27.2455 -27.1918 -27.1379 -27.0813 -27 
+  Bin 63: -27 -26.8739 -26.7202 -26.5774 -26.4428 -26.3315 -26.2541 -26.2022 -26.1574 -26.0924 -26 
+  Bin 64: -26 -25.8559 -25.7036 -25.5871 -25.4528 -25.3418 -25.2612 -25.201 -25.1503 -25.0904 -25 
+  Bin 65: -25 -24.8677 -24.7157 -24.5801 -24.4609 -24.3432 -24.2575 -24.196 -24.1467 -24.0856 -24 
+  Bin 66: -24 -23.8575 -23.7026 -23.5734 -23.443 -23.3324 -23.2496 -23.1908 -23.1342 -23.0727 -23 
+  Bin 67: -23 -22.8788 -22.7144 -22.5655 -22.4427 -22.3412 -22.2694 -22.2115 -22.1585 -22.0952 -22 
+  Bin 68: -22 -21.8609 -21.6978 -21.5603 -21.424 -21.314 -21.2382 -21.1779 -21.129 -21.0784 -21 
+  Bin 69: -21 -20.8669 -20.7055 -20.5576 -20.4301 -20.3234 -20.2486 -20.1954 -20.1405 -20.0777 -20 
+  Bin 70: -20 -19.8659 -19.7022 -19.5555 -19.4229 -19.3138 -19.237 -19.1782 -19.1218 -19.0641 -19 
+  Bin 71: -19 -18.8744 -18.7076 -18.5539 -18.4136 -18.304 -18.2289 -18.1768 -18.1289 -18.0733 -18 
+  Bin 72: -18 -17.8749 -17.7146 -17.5729 -17.4457 -17.335 -17.2507 -17.1883 -17.1321 -17.0684 -17 
+  Bin 73: -17 -16.8879 -16.7318 -16.5683 -16.4176 -16.3089 -16.2344 -16.1824 -16.136 -16.077 -16 
+  Bin 74: -16 -15.867 -15.712 -15.5756 -15.4468 -15.3449 -15.2725 -15.2147 -15.1552 -15.0938 -15 
+  Bin 75: -15 -14.862 -14.7004 -14.563 -14.4386 -14.3284 -14.2473 -14.1833 -14.1281 -14.0804 -14 
+  Bin 76: -14 -13.877 -13.7198 -13.5939 -13.4699 -13.3569 -13.2677 -13.1986 -13.1476 -13.0862 -13 
+  Bin 77: -13 -12.8595 -12.7057 -12.5851 -12.4575 -12.3445 -12.2569 -12.1927 -12.1395 -12.0779 -12 
+  Bin 78: -12 -11.8896 -11.7463 -11.6133 -11.4994 -11.3993 -11.3107 -11.2393 -11.1703 -11.0881 -11 
+  Bin 79: -11 -10.8817 -10.7255 -10.5832 -10.4682 -10.3666 -10.2822 -10.2175 -10.1545 -10.0822 -10 
+  Bin 80: -10 -9.88624 -9.71774 -9.57421 -9.45865 -9.35569 -9.26379 -9.18893 -9.13172 -9.07619 -9 
+  Bin 81: -9 -8.86778 -8.7108 -8.56036 -8.44597 -8.36193 -8.29446 -8.23759 -8.17238 -8.09289 -8 
+  Bin 82: -8 -7.89236 -7.7501 -7.59359 -7.45634 -7.35424 -7.27013 -7.2046 -7.14743 -7.07842 -7 
+  Bin 83: -7 -6.87672 -6.72141 -6.57006 -6.4507 -6.35804 -6.27868 -6.21009 -6.15171 -6.08282 -6 
+  Bin 84: -6 -5.88847 -5.73452 -5.59867 -5.48249 -5.3778 -5.29016 -5.22157 -5.1572 -5.08584 -5 
+  Bin 85: -5 -4.87464 -4.71861 -4.57586 -4.45404 -4.34983 -4.26209 -4.19454 -4.13814 -4.08033 -4 
+  Bin 86: -4 -3.88952 -3.73791 -3.60173 -3.47667 -3.37066 -3.27966 -3.20913 -3.14988 -3.08597 -3 
+  Bin 87: -3 -2.88106 -2.73913 -2.59333 -2.47183 -2.37255 -2.29396 -2.22945 -2.1615 -2.08998 -2 
+  Bin 88: -2 -1.8841 -1.73637 -1.58073 -1.45353 -1.3617 -1.28237 -1.21376 -1.1539 -1.08576 -1 
+  Bin 89: -1 -0.894672 -0.741525 -0.597867 -0.470745 -0.371971 -0.290421 -0.219583 -0.155613 -0.087713 0 
+  Bin 90: 0 0.124763 0.27279 0.420294 0.541229 0.633351 0.711622 0.775313 0.841917 0.914742 1 
+  Bin 91: 1 1.11687 1.27296 1.43298 1.55209 1.64578 1.72856 1.79737 1.8532 1.91869 2 
+  Bin 92: 2 2.11526 2.26467 2.41758 2.53773 2.63645 2.71998 2.78802 2.85033 2.91853 3 
+  Bin 93: 3 3.10676 3.23587 3.3873 3.50716 3.60323 3.68392 3.75213 3.82147 3.90128 4 
+  Bin 94: 4 4.1168 4.2562 4.41481 4.53853 4.63528 4.71074 4.77527 4.83688 4.90631 5 
+  Bin 95: 5 5.11355 5.25317 5.4089 5.53556 5.63213 5.71602 5.78783 5.84691 5.91683 6 
+  Bin 96: 6 6.11388 6.26436 6.42841 6.55276 6.6497 6.73266 6.80052 6.85525 6.91889 7 
+  Bin 97: 7 7.10132 7.24128 7.40484 7.52986 7.62757 7.71037 7.77779 7.84221 7.91281 8 
+  Bin 98: 8 8.11382 8.26977 8.42556 8.54127 8.63754 8.72097 8.78825 8.84984 8.91749 9 
+  Bin 99: 9 9.10439 9.25292 9.41836 9.53757 9.63304 9.71869 9.79124 9.85192 9.91749 10 
+  Bin 100: 10 10.1082 10.2512 10.414 10.5329 10.6247 10.7027 10.7728 10.8405 10.9125 11 
+  Bin 101: 11 11.1076 11.2603 11.4337 11.5489 11.6362 11.7131 11.7799 11.8417 11.9117 12 
+  Bin 102: 12 12.1075 12.2547 12.4278 12.5526 12.6484 12.7316 12.7986 12.8532 12.9185 13 
+  Bin 103: 13 13.1027 13.2455 13.4153 13.5379 13.6301 13.7123 13.7793 13.8431 13.9119 14 
+  Bin 104: 14 14.0979 14.2478 14.4147 14.5302 14.6155 14.6914 14.7585 14.8251 14.9011 15 
+  Bin 105: 15 15.1057 15.2704 15.4341 15.5413 15.6244 15.6991 15.765 15.8318 15.9064 16 
+  Bin 106: 16 16.1159 16.2887 16.4678 16.5791 16.6594 16.7334 16.7963 16.8518 16.9169 17 
+  Bin 107: 17 17.0964 17.2365 17.4144 17.5369 17.629 17.7095 17.7785 17.8426 17.9131 18 
+  Bin 108: 18 18.0939 18.2434 18.4172 18.5388 18.6268 18.7011 18.7667 18.8334 18.9073 19 
+  Bin 109: 19 19.1034 19.2521 19.4355 19.5595 19.6434 19.7199 19.7869 19.8452 19.9128 20 
+  Bin 110: 20 20.0985 20.2437 20.4347 20.5637 20.6463 20.719 20.788 20.8453 20.9119 21 
+  Bin 111: 21 21.0946 21.2655 21.4455 21.5545 21.636 21.7127 21.7779 21.8401 21.9106 22 
+  Bin 112: 22 22.0922 22.2351 22.4242 22.5484 22.6296 22.7048 22.7732 22.8392 22.9116 23 
+  Bin 113: 23 23.0935 23.2374 23.4244 23.5495 23.629 23.6988 23.7666 23.8296 23.9054 24 
+  Bin 114: 24 24.0931 24.239 24.443 24.5675 24.6444 24.7183 24.784 24.8439 24.9132 25 
+  Bin 115: 25 25.0839 25.2251 25.4082 25.5357 25.6136 25.6889 25.7597 25.8249 25.9035 26 
+  Bin 116: 26 26.0937 26.2547 26.4513 26.5694 26.6531 26.7182 26.7825 26.842 26.9133 27 
+  Bin 117: 27 27.0878 27.2397 27.438 27.5592 27.6359 27.7077 27.773 27.8383 27.9139 28 
+  Bin 118: 28 28.0862 28.2196 28.4229 28.5587 28.6455 28.7142 28.7835 28.8436 28.9155 29 
+  Bin 119: 29 29.0834 29.2508 29.4481 29.564 29.6358 29.7034 29.7668 29.8337 29.9104 30 
+  Bin 120: 30 30.0807 30.2379 30.438 30.5577 30.6317 30.7003 30.764 30.8301 30.907 31 
+  Bin 121: 31 31.083 31.2208 31.4226 31.5544 31.6295 31.6925 31.7563 31.8218 31.9049 32 
+  Bin 122: 32 32.0838 32.2491 32.444 32.5559 32.6283 32.6943 32.7589 32.8263 32.9047 33 
+  Bin 123: 33 33.0788 33.2313 33.4323 33.554 33.63 33.7033 33.7738 33.8347 33.9101 34 
+  Bin 124: 34 34.0727 34.2379 34.452 34.5745 34.6476 34.7171 34.7831 34.8472 34.9208 35 
+  Bin 125: 35 35.075 35.2315 35.4378 35.559 35.6304 35.6999 35.7643 35.8284 35.9062 36 
+  Bin 126: 36 36.0808 36.219 36.4291 36.5725 36.6455 36.7107 36.7773 36.8391 36.9127 37 
+  Bin 127: 37 37.0801 37.2235 37.4287 37.5662 37.6452 37.7098 37.7727 37.8339 37.9098 38 
+  Bin 128: 38 38.0815 38.2059 38.4121 38.5364 38.6151 38.6902 38.7577 38.8244 38.9025 39 
+  Bin 129: 39 39.0741 39.2105 39.4083 39.5476 39.6267 39.6926 39.758 39.8226 39.8981 40 
+  Bin 130: 40 40.0732 40.1924 40.3859 40.5376 40.6266 40.6849 40.7462 40.8091 40.8871 41 
+  Bin 131: 41 41.0887 41.1931 41.3747 41.5437 41.6458 41.7048 41.7596 41.8137 41.8883 42 
+  Bin 132: 42 42.1171 42.2276 42.3587 42.556 42.7408 42.8788 42.9563 42.9563 42.9563 43 
+  Bin 133: 43 43 43 43 43 43 43.5068 43.5068 43.5068 43.5068 44 
+  Bin 134: 44 44 44 44 44 44 44.5094 44.5094 44.5094 45.0839 45 
+  Bin 135: 45 45.1977 45.1977 45.1977 45.1977 45.1977 45.4553 45.7294 45.7294 46.0442 46 
+  Bin 136: 46 46 46 46 46 46 46 46 47.5546 47.5546 47 
+  Bin 137: 47 -nan -nan -nan -nan -nan -nan -nan -nan -nan 48 
+  Bin 138: 48 48 48 48 48 48 48 48 48.5 48.75 49 
+  Bin 139: 49 49.5 49.5 50 50 50 50 50 50 50 50 
+  Bin 140: 50 50 50.5 50.5 51 51 51 51 51 51 51 
+  Bin 141: 51 51 51 51 51 51 51 51 51 51 52 
+  Bin 142: 52 52 52.2368 52.4772 52.4772 52.4772 52.7292 52.7292 52.7292 52.994 53 
+  Bin 143: 53 53 53.3126 53.6308 53.6308 53.6308 53.6308 53.6308 53.9807 53.9807 54 
+  Bin 144: 54 54 54 54 54 54 54 54 54 54 55 
+  Bin 145: 55 -nan -nan -nan -nan -nan -nan -nan -nan -nan 56 
+  Bin 146: 56 56 57.0757 57.0757 57.0757 57.0757 57.0757 57.0757 57.0757 57.0757 57 
+  Bin 147: 57 57 57 57 57 57 57 57 57 57 58 
+  Bin 148: 58 58 58 58 58 58.5043 58.5043 58.5043 58.5043 58.9763 59 
+  Bin 149: 59 59 59.3511 59.3511 59.3511 59.6869 59.6869 59.6869 59.6869 60.0042 60 
+  Bin 150: 60 60 60 60.5105 60.5105 60.5105 60.5105 60.5105 60.9956 60.9956 61 
+  Bin 151: 61 -nan -nan -nan -nan -nan -nan -nan -nan -nan 62 
+  Bin 152: 62 62.3111 62.3111 62.3111 62.3111 62.6418 62.6418 62.6418 62.6418 62.6418 63 
+  Bin 153: 63 63.9217 63.9217 63.9217 63.9217 63.9217 63.9217 63.9217 63.9217 63.9217 64 
+  Bin 154: 64 64.9053 64.9053 64.9053 64.9053 64.9053 64.9053 64.9053 64.9053 64.9053 65 
+  Bin 155: 65 65 65 65 65 65 65.5028 65.5028 65.5028 65.5028 66 
+  Bin 156: 66 -nan -nan -nan -nan -nan -nan -nan -nan -nan 67 
+  Bin 157: 67 67 67 67 67 67 67.5 67.5 67.5 67.5 68 
+  Bin 158: 68 -nan -nan -nan -nan -nan -nan -nan -nan -nan 69 
+  Bin 159: 69 69 69 69 69 69 69 69 70.0006 70.0006 70 
+  Bin 160: 70 -nan -nan -nan -nan -nan -nan -nan -nan -nan 71 
+  Bin 161: 71 71 71 71 71 71 71 71 71 71 72 
+  Bin 162: 72 72.4662 72.4662 72.4662 72.4662 72.4662 72.4662 72.4662 72.9872 72.9872 73 
+  Bin 163: 73 -nan -nan -nan -nan -nan -nan -nan -nan -nan 74 
+  Bin 164: 74 -nan -nan -nan -nan -nan -nan -nan -nan -nan 75 
+  Bin 165: 75 -nan -nan -nan -nan -nan -nan -nan -nan -nan 76 
+  Bin 166: 76 -nan -nan -nan -nan -nan -nan -nan -nan -nan 77 
+  Bin 167: 77 -nan -nan -nan -nan -nan -nan -nan -nan -nan 78 
+  Bin 168: 78 -nan -nan -nan -nan -nan -nan -nan -nan -nan 79 
+  Bin 169: 79 -nan -nan -nan -nan -nan -nan -nan -nan -nan 80 
+  Bin 170: 80 -nan -nan -nan -nan -nan -nan -nan -nan -nan 81 
+  Bin 171: 81 -nan -nan -nan -nan -nan -nan -nan -nan -nan 82 
+  Bin 172: 82 -nan -nan -nan -nan -nan -nan -nan -nan -nan 83 
+  Bin 173: 83 -nan -nan -nan -nan -nan -nan -nan -nan -nan 84 
+  Bin 174: 84 -nan -nan -nan -nan -nan -nan -nan -nan -nan 85 
+  Bin 175: 85 -nan -nan -nan -nan -nan -nan -nan -nan -nan 86 
+  Bin 176: 86 -nan -nan -nan -nan -nan -nan -nan -nan -nan 87 
+  Bin 177: 87 -nan -nan -nan -nan -nan -nan -nan -nan -nan 88 
+  Bin 178: 88 -nan -nan -nan -nan -nan -nan -nan -nan -nan 89 
+  Bin 179: 89 -nan -nan -nan -nan -nan -nan -nan -nan -nan 90 
+
+Det 5:
+  Bin 0: -1000 -nan -nan -nan -nan -nan -nan -nan -nan -nan -999 
+  Bin 1: -999 -nan -nan -nan -nan -nan -nan -nan -nan -nan -998 
+  Bin 2: -998 -nan -nan -nan -nan -nan -nan -nan -nan -nan -997 
+  Bin 3: -997 -nan -nan -nan -nan -nan -nan -nan -nan -nan -996 
+  Bin 4: -996 -nan -nan -nan -nan -nan -nan -nan -nan -nan -995 
+  Bin 5: -995 -nan -nan -nan -nan -nan -nan -nan -nan -nan -994 
+  Bin 6: -994 -nan -nan -nan -nan -nan -nan -nan -nan -nan -993 
+  Bin 7: -993 -nan -nan -nan -nan -nan -nan -nan -nan -nan -992 
+  Bin 8: -992 -nan -nan -nan -nan -nan -nan -nan -nan -nan -991 
+  Bin 9: -991 -nan -nan -nan -nan -nan -nan -nan -nan -nan -990 
+  Bin 10: -990 -nan -nan -nan -nan -nan -nan -nan -nan -nan -989 
+  Bin 11: -989 -nan -nan -nan -nan -nan -nan -nan -nan -nan -988 
+  Bin 12: -988 -nan -nan -nan -nan -nan -nan -nan -nan -nan -987 
+  Bin 13: -987 -nan -nan -nan -nan -nan -nan -nan -nan -nan -986 
+  Bin 14: -986 -nan -nan -nan -nan -nan -nan -nan -nan -nan -985 
+  Bin 15: -985 -nan -nan -nan -nan -nan -nan -nan -nan -nan -984 
+  Bin 16: -984 -nan -nan -nan -nan -nan -nan -nan -nan -nan -983 
+  Bin 17: -983 -nan -nan -nan -nan -nan -nan -nan -nan -nan -982 
+  Bin 18: -982 -nan -nan -nan -nan -nan -nan -nan -nan -nan -981 
+  Bin 19: -981 -nan -nan -nan -nan -nan -nan -nan -nan -nan -980 
+  Bin 20: -980 -nan -nan -nan -nan -nan -nan -nan -nan -nan -979 
+  Bin 21: -979 -nan -nan -nan -nan -nan -nan -nan -nan -nan -978 
+  Bin 22: -978 -nan -nan -nan -nan -nan -nan -nan -nan -nan -977 
+  Bin 23: -977 -nan -nan -nan -nan -nan -nan -nan -nan -nan -976 
+  Bin 24: -976 -nan -nan -nan -nan -nan -nan -nan -nan -nan -975 
+  Bin 25: -975 -nan -nan -nan -nan -nan -nan -nan -nan -nan -974 
+  Bin 26: -974 -nan -nan -nan -nan -nan -nan -nan -nan -nan -973 
+  Bin 27: -973 -nan -nan -nan -nan -nan -nan -nan -nan -nan -972 
+  Bin 28: -972 -nan -nan -nan -nan -nan -nan -nan -nan -nan -971 
+  Bin 29: -971 -nan -nan -nan -nan -nan -nan -nan -nan -nan -970 
+  Bin 30: -970 -nan -nan -nan -nan -nan -nan -nan -nan -nan -969 
+  Bin 31: -969 -nan -nan -nan -nan -nan -nan -nan -nan -nan -968 
+  Bin 32: -968 -nan -nan -nan -nan -nan -nan -nan -nan -nan -967 
+  Bin 33: -967 -nan -nan -nan -nan -nan -nan -nan -nan -nan -966 
+  Bin 34: -966 -nan -nan -nan -nan -nan -nan -nan -nan -nan -965 
+  Bin 35: -965 -nan -nan -nan -nan -nan -nan -nan -nan -nan -964 
+  Bin 36: -964 -nan -nan -nan -nan -nan -nan -nan -nan -nan -963 
+  Bin 37: -963 -nan -nan -nan -nan -nan -nan -nan -nan -nan -962 
+  Bin 38: -962 -nan -nan -nan -nan -nan -nan -nan -nan -nan -961 
+  Bin 39: -961 -nan -nan -nan -nan -nan -nan -nan -nan -nan -960 
+  Bin 40: -960 -nan -nan -nan -nan -nan -nan -nan -nan -nan -959 
+  Bin 41: -959 -nan -nan -nan -nan -nan -nan -nan -nan -nan -958 
+  Bin 42: -958 -nan -nan -nan -nan -nan -nan -nan -nan -nan -957 
+  Bin 43: -957 -nan -nan -nan -nan -nan -nan -nan -nan -nan -956 
+  Bin 44: -956 -nan -nan -nan -nan -nan -nan -nan -nan -nan -955 
+  Bin 45: -955 -nan -nan -nan -nan -nan -nan -nan -nan -nan -954 
+  Bin 46: -954 -nan -nan -nan -nan -nan -nan -nan -nan -nan -953 
+  Bin 47: -953 -nan -nan -nan -nan -nan -nan -nan -nan -nan -952 
+  Bin 48: -952 -nan -nan -nan -nan -nan -nan -nan -nan -nan -951 
+  Bin 49: -951 -nan -nan -nan -nan -nan -nan -nan -nan -nan -950 
+  Bin 50: -950 -nan -nan -nan -nan -nan -nan -nan -nan -nan -949 
+  Bin 51: -949 -nan -nan -nan -nan -nan -nan -nan -nan -nan -948 
+  Bin 52: -948 -nan -nan -nan -nan -nan -nan -nan -nan -nan -947 
+  Bin 53: -947 -nan -nan -nan -nan -nan -nan -nan -nan -nan -946 
+  Bin 54: -946 -nan -nan -nan -nan -nan -nan -nan -nan -nan -945 
+  Bin 55: -945 -nan -nan -nan -nan -nan -nan -nan -nan -nan -944 
+  Bin 56: -944 -nan -nan -nan -nan -nan -nan -nan -nan -nan -943 
+  Bin 57: -943 -nan -nan -nan -nan -nan -nan -nan -nan -nan -942 
+  Bin 58: -942 -nan -nan -nan -nan -nan -nan -nan -nan -nan -941 
+  Bin 59: -941 -nan -nan -nan -nan -nan -nan -nan -nan -nan -940 
+  Bin 60: -940 -nan -nan -nan -nan -nan -nan -nan -nan -nan -939 
+  Bin 61: -939 -nan -nan -nan -nan -nan -nan -nan -nan -nan -938 
+  Bin 62: -938 -nan -nan -nan -nan -nan -nan -nan -nan -nan -937 
+  Bin 63: -937 -nan -nan -nan -nan -nan -nan -nan -nan -nan -936 
+  Bin 64: -936 -nan -nan -nan -nan -nan -nan -nan -nan -nan -935 
+  Bin 65: -935 -nan -nan -nan -nan -nan -nan -nan -nan -nan -934 
+  Bin 66: -934 -nan -nan -nan -nan -nan -nan -nan -nan -nan -933 
+  Bin 67: -933 -nan -nan -nan -nan -nan -nan -nan -nan -nan -932 
+  Bin 68: -932 -nan -nan -nan -nan -nan -nan -nan -nan -nan -931 
+  Bin 69: -931 -nan -nan -nan -nan -nan -nan -nan -nan -nan -930 
+  Bin 70: -930 -nan -nan -nan -nan -nan -nan -nan -nan -nan -929 
+  Bin 71: -929 -nan -nan -nan -nan -nan -nan -nan -nan -nan -928 
+  Bin 72: -928 -nan -nan -nan -nan -nan -nan -nan -nan -nan -927 
+  Bin 73: -927 -nan -nan -nan -nan -nan -nan -nan -nan -nan -926 
+  Bin 74: -926 -nan -nan -nan -nan -nan -nan -nan -nan -nan -925 
+  Bin 75: -925 -nan -nan -nan -nan -nan -nan -nan -nan -nan -924 
+  Bin 76: -924 -nan -nan -nan -nan -nan -nan -nan -nan -nan -923 
+  Bin 77: -923 -nan -nan -nan -nan -nan -nan -nan -nan -nan -922 
+  Bin 78: -922 -nan -nan -nan -nan -nan -nan -nan -nan -nan -921 
+  Bin 79: -921 -nan -nan -nan -nan -nan -nan -nan -nan -nan -920 
+  Bin 80: -920 -nan -nan -nan -nan -nan -nan -nan -nan -nan -919 
+  Bin 81: -919 -nan -nan -nan -nan -nan -nan -nan -nan -nan -918 
+  Bin 82: -918 -nan -nan -nan -nan -nan -nan -nan -nan -nan -917 
+  Bin 83: -917 -nan -nan -nan -nan -nan -nan -nan -nan -nan -916 
+  Bin 84: -916 -nan -nan -nan -nan -nan -nan -nan -nan -nan -915 
+  Bin 85: -915 -nan -nan -nan -nan -nan -nan -nan -nan -nan -914 
+  Bin 86: -914 -nan -nan -nan -nan -nan -nan -nan -nan -nan -913 
+  Bin 87: -913 -nan -nan -nan -nan -nan -nan -nan -nan -nan -912 
+  Bin 88: -912 -nan -nan -nan -nan -nan -nan -nan -nan -nan -911 
+  Bin 89: -911 -nan -nan -nan -nan -nan -nan -nan -nan -nan -910 
+  Bin 90: -910 -nan -nan -nan -nan -nan -nan -nan -nan -nan -909 
+  Bin 91: -909 -nan -nan -nan -nan -nan -nan -nan -nan -nan -908 
+  Bin 92: -908 -nan -nan -nan -nan -nan -nan -nan -nan -nan -907 
+  Bin 93: -907 -nan -nan -nan -nan -nan -nan -nan -nan -nan -906 
+  Bin 94: -906 -nan -nan -nan -nan -nan -nan -nan -nan -nan -905 
+  Bin 95: -905 -nan -nan -nan -nan -nan -nan -nan -nan -nan -904 
+  Bin 96: -904 -nan -nan -nan -nan -nan -nan -nan -nan -nan -903 
+  Bin 97: -903 -nan -nan -nan -nan -nan -nan -nan -nan -nan -902 
+  Bin 98: -902 -nan -nan -nan -nan -nan -nan -nan -nan -nan -901 
+  Bin 99: -901 -nan -nan -nan -nan -nan -nan -nan -nan -nan -900 
+  Bin 100: -900 -nan -nan -nan -nan -nan -nan -nan -nan -nan -899 
+  Bin 101: -899 -nan -nan -nan -nan -nan -nan -nan -nan -nan -898 
+  Bin 102: -898 -nan -nan -nan -nan -nan -nan -nan -nan -nan -897 
+  Bin 103: -897 -nan -nan -nan -nan -nan -nan -nan -nan -nan -896 
+  Bin 104: -896 -nan -nan -nan -nan -nan -nan -nan -nan -nan -895 
+  Bin 105: -895 -nan -nan -nan -nan -nan -nan -nan -nan -nan -894 
+  Bin 106: -894 -nan -nan -nan -nan -nan -nan -nan -nan -nan -893 
+  Bin 107: -893 -nan -nan -nan -nan -nan -nan -nan -nan -nan -892 
+  Bin 108: -892 -nan -nan -nan -nan -nan -nan -nan -nan -nan -891 
+  Bin 109: -891 -nan -nan -nan -nan -nan -nan -nan -nan -nan -890 
+  Bin 110: -890 -nan -nan -nan -nan -nan -nan -nan -nan -nan -889 
+  Bin 111: -889 -nan -nan -nan -nan -nan -nan -nan -nan -nan -888 
+  Bin 112: -888 -nan -nan -nan -nan -nan -nan -nan -nan -nan -887 
+  Bin 113: -887 -nan -nan -nan -nan -nan -nan -nan -nan -nan -886 
+  Bin 114: -886 -nan -nan -nan -nan -nan -nan -nan -nan -nan -885 
+  Bin 115: -885 -nan -nan -nan -nan -nan -nan -nan -nan -nan -884 
+  Bin 116: -884 -nan -nan -nan -nan -nan -nan -nan -nan -nan -883 
+  Bin 117: -883 -nan -nan -nan -nan -nan -nan -nan -nan -nan -882 
+  Bin 118: -882 -nan -nan -nan -nan -nan -nan -nan -nan -nan -881 
+  Bin 119: -881 -nan -nan -nan -nan -nan -nan -nan -nan -nan -880 
+  Bin 120: -880 -nan -nan -nan -nan -nan -nan -nan -nan -nan -879 
+  Bin 121: -879 -nan -nan -nan -nan -nan -nan -nan -nan -nan -878 
+  Bin 122: -878 -nan -nan -nan -nan -nan -nan -nan -nan -nan -877 
+  Bin 123: -877 -nan -nan -nan -nan -nan -nan -nan -nan -nan -876 
+  Bin 124: -876 -nan -nan -nan -nan -nan -nan -nan -nan -nan -875 
+  Bin 125: -875 -nan -nan -nan -nan -nan -nan -nan -nan -nan -874 
+  Bin 126: -874 -nan -nan -nan -nan -nan -nan -nan -nan -nan -873 
+  Bin 127: -873 -nan -nan -nan -nan -nan -nan -nan -nan -nan -872 
+  Bin 128: -872 -nan -nan -nan -nan -nan -nan -nan -nan -nan -871 
+  Bin 129: -871 -nan -nan -nan -nan -nan -nan -nan -nan -nan -870 
+  Bin 130: -870 -nan -nan -nan -nan -nan -nan -nan -nan -nan -869 
+  Bin 131: -869 -nan -nan -nan -nan -nan -nan -nan -nan -nan -868 
+  Bin 132: -868 -nan -nan -nan -nan -nan -nan -nan -nan -nan -867 
+  Bin 133: -867 -nan -nan -nan -nan -nan -nan -nan -nan -nan -866 
+  Bin 134: -866 -nan -nan -nan -nan -nan -nan -nan -nan -nan -865 
+  Bin 135: -865 -nan -nan -nan -nan -nan -nan -nan -nan -nan -864 
+  Bin 136: -864 -nan -nan -nan -nan -nan -nan -nan -nan -nan -863 
+  Bin 137: -863 -nan -nan -nan -nan -nan -nan -nan -nan -nan -862 
+  Bin 138: -862 -nan -nan -nan -nan -nan -nan -nan -nan -nan -861 
+  Bin 139: -861 -nan -nan -nan -nan -nan -nan -nan -nan -nan -860 
+  Bin 140: -860 -nan -nan -nan -nan -nan -nan -nan -nan -nan -859 
+  Bin 141: -859 -nan -nan -nan -nan -nan -nan -nan -nan -nan -858 
+  Bin 142: -858 -nan -nan -nan -nan -nan -nan -nan -nan -nan -857 
+  Bin 143: -857 -nan -nan -nan -nan -nan -nan -nan -nan -nan -856 
+  Bin 144: -856 -nan -nan -nan -nan -nan -nan -nan -nan -nan -855 
+  Bin 145: -855 -nan -nan -nan -nan -nan -nan -nan -nan -nan -854 
+  Bin 146: -854 -nan -nan -nan -nan -nan -nan -nan -nan -nan -853 
+  Bin 147: -853 -nan -nan -nan -nan -nan -nan -nan -nan -nan -852 
+  Bin 148: -852 -nan -nan -nan -nan -nan -nan -nan -nan -nan -851 
+  Bin 149: -851 -nan -nan -nan -nan -nan -nan -nan -nan -nan -850 
+  Bin 150: -850 -nan -nan -nan -nan -nan -nan -nan -nan -nan -849 
+  Bin 151: -849 -nan -nan -nan -nan -nan -nan -nan -nan -nan -848 
+  Bin 152: -848 -nan -nan -nan -nan -nan -nan -nan -nan -nan -847 
+  Bin 153: -847 -nan -nan -nan -nan -nan -nan -nan -nan -nan -846 
+  Bin 154: -846 -nan -nan -nan -nan -nan -nan -nan -nan -nan -845 
+  Bin 155: -845 -nan -nan -nan -nan -nan -nan -nan -nan -nan -844 
+  Bin 156: -844 -nan -nan -nan -nan -nan -nan -nan -nan -nan -843 
+  Bin 157: -843 -nan -nan -nan -nan -nan -nan -nan -nan -nan -842 
+  Bin 158: -842 -nan -nan -nan -nan -nan -nan -nan -nan -nan -841 
+  Bin 159: -841 -nan -nan -nan -nan -nan -nan -nan -nan -nan -840 
+  Bin 160: -840 -nan -nan -nan -nan -nan -nan -nan -nan -nan -839 
+  Bin 161: -839 -nan -nan -nan -nan -nan -nan -nan -nan -nan -838 
+  Bin 162: -838 -nan -nan -nan -nan -nan -nan -nan -nan -nan -837 
+  Bin 163: -837 -nan -nan -nan -nan -nan -nan -nan -nan -nan -836 
+  Bin 164: -836 -nan -nan -nan -nan -nan -nan -nan -nan -nan -835 
+  Bin 165: -835 -nan -nan -nan -nan -nan -nan -nan -nan -nan -834 
+  Bin 166: -834 -nan -nan -nan -nan -nan -nan -nan -nan -nan -833 
+  Bin 167: -833 -nan -nan -nan -nan -nan -nan -nan -nan -nan -832 
+  Bin 168: -832 -nan -nan -nan -nan -nan -nan -nan -nan -nan -831 
+  Bin 169: -831 -nan -nan -nan -nan -nan -nan -nan -nan -nan -830 
+  Bin 170: -830 -nan -nan -nan -nan -nan -nan -nan -nan -nan -829 
+  Bin 171: -829 -nan -nan -nan -nan -nan -nan -nan -nan -nan -828 
+  Bin 172: -828 -nan -nan -nan -nan -nan -nan -nan -nan -nan -827 
+  Bin 173: -827 -nan -nan -nan -nan -nan -nan -nan -nan -nan -826 
+  Bin 174: -826 -nan -nan -nan -nan -nan -nan -nan -nan -nan -825 
+  Bin 175: -825 -nan -nan -nan -nan -nan -nan -nan -nan -nan -824 
+  Bin 176: -824 -nan -nan -nan -nan -nan -nan -nan -nan -nan -823 
+  Bin 177: -823 -nan -nan -nan -nan -nan -nan -nan -nan -nan -822 
+  Bin 178: -822 -nan -nan -nan -nan -nan -nan -nan -nan -nan -821 
+  Bin 179: -821 -nan -nan -nan -nan -nan -nan -nan -nan -nan -820 
+  Bin 180: -820 -nan -nan -nan -nan -nan -nan -nan -nan -nan -819 
+  Bin 181: -819 -nan -nan -nan -nan -nan -nan -nan -nan -nan -818 
+  Bin 182: -818 -nan -nan -nan -nan -nan -nan -nan -nan -nan -817 
+  Bin 183: -817 -nan -nan -nan -nan -nan -nan -nan -nan -nan -816 
+  Bin 184: -816 -nan -nan -nan -nan -nan -nan -nan -nan -nan -815 
+  Bin 185: -815 -nan -nan -nan -nan -nan -nan -nan -nan -nan -814 
+  Bin 186: -814 -nan -nan -nan -nan -nan -nan -nan -nan -nan -813 
+  Bin 187: -813 -nan -nan -nan -nan -nan -nan -nan -nan -nan -812 
+  Bin 188: -812 -nan -nan -nan -nan -nan -nan -nan -nan -nan -811 
+  Bin 189: -811 -nan -nan -nan -nan -nan -nan -nan -nan -nan -810 
+  Bin 190: -810 -nan -nan -nan -nan -nan -nan -nan -nan -nan -809 
+  Bin 191: -809 -nan -nan -nan -nan -nan -nan -nan -nan -nan -808 
+  Bin 192: -808 -nan -nan -nan -nan -nan -nan -nan -nan -nan -807 
+  Bin 193: -807 -nan -nan -nan -nan -nan -nan -nan -nan -nan -806 
+  Bin 194: -806 -nan -nan -nan -nan -nan -nan -nan -nan -nan -805 
+  Bin 195: -805 -nan -nan -nan -nan -nan -nan -nan -nan -nan -804 
+  Bin 196: -804 -nan -nan -nan -nan -nan -nan -nan -nan -nan -803 
+  Bin 197: -803 -nan -nan -nan -nan -nan -nan -nan -nan -nan -802 
+  Bin 198: -802 -nan -nan -nan -nan -nan -nan -nan -nan -nan -801 
+  Bin 199: -801 -nan -nan -nan -nan -nan -nan -nan -nan -nan -800 
+  Bin 200: -800 -nan -nan -nan -nan -nan -nan -nan -nan -nan -799 
+  Bin 201: -799 -nan -nan -nan -nan -nan -nan -nan -nan -nan -798 
+  Bin 202: -798 -nan -nan -nan -nan -nan -nan -nan -nan -nan -797 
+  Bin 203: -797 -nan -nan -nan -nan -nan -nan -nan -nan -nan -796 
+  Bin 204: -796 -nan -nan -nan -nan -nan -nan -nan -nan -nan -795 
+  Bin 205: -795 -nan -nan -nan -nan -nan -nan -nan -nan -nan -794 
+  Bin 206: -794 -nan -nan -nan -nan -nan -nan -nan -nan -nan -793 
+  Bin 207: -793 -nan -nan -nan -nan -nan -nan -nan -nan -nan -792 
+  Bin 208: -792 -nan -nan -nan -nan -nan -nan -nan -nan -nan -791 
+  Bin 209: -791 -nan -nan -nan -nan -nan -nan -nan -nan -nan -790 
+  Bin 210: -790 -nan -nan -nan -nan -nan -nan -nan -nan -nan -789 
+  Bin 211: -789 -nan -nan -nan -nan -nan -nan -nan -nan -nan -788 
+  Bin 212: -788 -nan -nan -nan -nan -nan -nan -nan -nan -nan -787 
+  Bin 213: -787 -nan -nan -nan -nan -nan -nan -nan -nan -nan -786 
+  Bin 214: -786 -nan -nan -nan -nan -nan -nan -nan -nan -nan -785 
+  Bin 215: -785 -nan -nan -nan -nan -nan -nan -nan -nan -nan -784 
+  Bin 216: -784 -nan -nan -nan -nan -nan -nan -nan -nan -nan -783 
+  Bin 217: -783 -nan -nan -nan -nan -nan -nan -nan -nan -nan -782 
+  Bin 218: -782 -nan -nan -nan -nan -nan -nan -nan -nan -nan -781 
+  Bin 219: -781 -nan -nan -nan -nan -nan -nan -nan -nan -nan -780 
+  Bin 220: -780 -nan -nan -nan -nan -nan -nan -nan -nan -nan -779 
+  Bin 221: -779 -nan -nan -nan -nan -nan -nan -nan -nan -nan -778 
+  Bin 222: -778 -nan -nan -nan -nan -nan -nan -nan -nan -nan -777 
+  Bin 223: -777 -nan -nan -nan -nan -nan -nan -nan -nan -nan -776 
+  Bin 224: -776 -nan -nan -nan -nan -nan -nan -nan -nan -nan -775 
+  Bin 225: -775 -nan -nan -nan -nan -nan -nan -nan -nan -nan -774 
+  Bin 226: -774 -nan -nan -nan -nan -nan -nan -nan -nan -nan -773 
+  Bin 227: -773 -nan -nan -nan -nan -nan -nan -nan -nan -nan -772 
+  Bin 228: -772 -nan -nan -nan -nan -nan -nan -nan -nan -nan -771 
+  Bin 229: -771 -nan -nan -nan -nan -nan -nan -nan -nan -nan -770 
+  Bin 230: -770 -nan -nan -nan -nan -nan -nan -nan -nan -nan -769 
+  Bin 231: -769 -nan -nan -nan -nan -nan -nan -nan -nan -nan -768 
+  Bin 232: -768 -nan -nan -nan -nan -nan -nan -nan -nan -nan -767 
+  Bin 233: -767 -nan -nan -nan -nan -nan -nan -nan -nan -nan -766 
+  Bin 234: -766 -nan -nan -nan -nan -nan -nan -nan -nan -nan -765 
+  Bin 235: -765 -nan -nan -nan -nan -nan -nan -nan -nan -nan -764 
+  Bin 236: -764 -nan -nan -nan -nan -nan -nan -nan -nan -nan -763 
+  Bin 237: -763 -nan -nan -nan -nan -nan -nan -nan -nan -nan -762 
+  Bin 238: -762 -nan -nan -nan -nan -nan -nan -nan -nan -nan -761 
+  Bin 239: -761 -nan -nan -nan -nan -nan -nan -nan -nan -nan -760 
+  Bin 240: -760 -nan -nan -nan -nan -nan -nan -nan -nan -nan -759 
+  Bin 241: -759 -nan -nan -nan -nan -nan -nan -nan -nan -nan -758 
+  Bin 242: -758 -nan -nan -nan -nan -nan -nan -nan -nan -nan -757 
+  Bin 243: -757 -nan -nan -nan -nan -nan -nan -nan -nan -nan -756 
+  Bin 244: -756 -nan -nan -nan -nan -nan -nan -nan -nan -nan -755 
+  Bin 245: -755 -nan -nan -nan -nan -nan -nan -nan -nan -nan -754 
+  Bin 246: -754 -nan -nan -nan -nan -nan -nan -nan -nan -nan -753 
+  Bin 247: -753 -nan -nan -nan -nan -nan -nan -nan -nan -nan -752 
+  Bin 248: -752 -nan -nan -nan -nan -nan -nan -nan -nan -nan -751 
+  Bin 249: -751 -nan -nan -nan -nan -nan -nan -nan -nan -nan -750 
+  Bin 250: -750 -nan -nan -nan -nan -nan -nan -nan -nan -nan -749 
+  Bin 251: -749 -nan -nan -nan -nan -nan -nan -nan -nan -nan -748 
+  Bin 252: -748 -nan -nan -nan -nan -nan -nan -nan -nan -nan -747 
+  Bin 253: -747 -nan -nan -nan -nan -nan -nan -nan -nan -nan -746 
+  Bin 254: -746 -nan -nan -nan -nan -nan -nan -nan -nan -nan -745 
+  Bin 255: -745 -nan -nan -nan -nan -nan -nan -nan -nan -nan -744 
+  Bin 256: -744 -nan -nan -nan -nan -nan -nan -nan -nan -nan -743 
+  Bin 257: -743 -nan -nan -nan -nan -nan -nan -nan -nan -nan -742 
+  Bin 258: -742 -nan -nan -nan -nan -nan -nan -nan -nan -nan -741 
+  Bin 259: -741 -nan -nan -nan -nan -nan -nan -nan -nan -nan -740 
+  Bin 260: -740 -nan -nan -nan -nan -nan -nan -nan -nan -nan -739 
+  Bin 261: -739 -nan -nan -nan -nan -nan -nan -nan -nan -nan -738 
+  Bin 262: -738 -nan -nan -nan -nan -nan -nan -nan -nan -nan -737 
+  Bin 263: -737 -nan -nan -nan -nan -nan -nan -nan -nan -nan -736 
+  Bin 264: -736 -nan -nan -nan -nan -nan -nan -nan -nan -nan -735 
+  Bin 265: -735 -nan -nan -nan -nan -nan -nan -nan -nan -nan -734 
+  Bin 266: -734 -nan -nan -nan -nan -nan -nan -nan -nan -nan -733 
+  Bin 267: -733 -nan -nan -nan -nan -nan -nan -nan -nan -nan -732 
+  Bin 268: -732 -nan -nan -nan -nan -nan -nan -nan -nan -nan -731 
+  Bin 269: -731 -nan -nan -nan -nan -nan -nan -nan -nan -nan -730 
+  Bin 270: -730 -nan -nan -nan -nan -nan -nan -nan -nan -nan -729 
+  Bin 271: -729 -nan -nan -nan -nan -nan -nan -nan -nan -nan -728 
+  Bin 272: -728 -nan -nan -nan -nan -nan -nan -nan -nan -nan -727 
+  Bin 273: -727 -nan -nan -nan -nan -nan -nan -nan -nan -nan -726 
+  Bin 274: -726 -nan -nan -nan -nan -nan -nan -nan -nan -nan -725 
+  Bin 275: -725 -nan -nan -nan -nan -nan -nan -nan -nan -nan -724 
+  Bin 276: -724 -nan -nan -nan -nan -nan -nan -nan -nan -nan -723 
+  Bin 277: -723 -nan -nan -nan -nan -nan -nan -nan -nan -nan -722 
+  Bin 278: -722 -nan -nan -nan -nan -nan -nan -nan -nan -nan -721 
+  Bin 279: -721 -nan -nan -nan -nan -nan -nan -nan -nan -nan -720 
+  Bin 280: -720 -nan -nan -nan -nan -nan -nan -nan -nan -nan -719 
+  Bin 281: -719 -nan -nan -nan -nan -nan -nan -nan -nan -nan -718 
+  Bin 282: -718 -nan -nan -nan -nan -nan -nan -nan -nan -nan -717 
+  Bin 283: -717 -nan -nan -nan -nan -nan -nan -nan -nan -nan -716 
+  Bin 284: -716 -nan -nan -nan -nan -nan -nan -nan -nan -nan -715 
+  Bin 285: -715 -nan -nan -nan -nan -nan -nan -nan -nan -nan -714 
+  Bin 286: -714 -nan -nan -nan -nan -nan -nan -nan -nan -nan -713 
+  Bin 287: -713 -nan -nan -nan -nan -nan -nan -nan -nan -nan -712 
+  Bin 288: -712 -nan -nan -nan -nan -nan -nan -nan -nan -nan -711 
+  Bin 289: -711 -nan -nan -nan -nan -nan -nan -nan -nan -nan -710 
+  Bin 290: -710 -nan -nan -nan -nan -nan -nan -nan -nan -nan -709 
+  Bin 291: -709 -nan -nan -nan -nan -nan -nan -nan -nan -nan -708 
+  Bin 292: -708 -nan -nan -nan -nan -nan -nan -nan -nan -nan -707 
+  Bin 293: -707 -nan -nan -nan -nan -nan -nan -nan -nan -nan -706 
+  Bin 294: -706 -nan -nan -nan -nan -nan -nan -nan -nan -nan -705 
+  Bin 295: -705 -nan -nan -nan -nan -nan -nan -nan -nan -nan -704 
+  Bin 296: -704 -nan -nan -nan -nan -nan -nan -nan -nan -nan -703 
+  Bin 297: -703 -nan -nan -nan -nan -nan -nan -nan -nan -nan -702 
+  Bin 298: -702 -nan -nan -nan -nan -nan -nan -nan -nan -nan -701 
+  Bin 299: -701 -nan -nan -nan -nan -nan -nan -nan -nan -nan -700 
+  Bin 300: -700 -nan -nan -nan -nan -nan -nan -nan -nan -nan -699 
+  Bin 301: -699 -nan -nan -nan -nan -nan -nan -nan -nan -nan -698 
+  Bin 302: -698 -nan -nan -nan -nan -nan -nan -nan -nan -nan -697 
+  Bin 303: -697 -nan -nan -nan -nan -nan -nan -nan -nan -nan -696 
+  Bin 304: -696 -nan -nan -nan -nan -nan -nan -nan -nan -nan -695 
+  Bin 305: -695 -nan -nan -nan -nan -nan -nan -nan -nan -nan -694 
+  Bin 306: -694 -nan -nan -nan -nan -nan -nan -nan -nan -nan -693 
+  Bin 307: -693 -nan -nan -nan -nan -nan -nan -nan -nan -nan -692 
+  Bin 308: -692 -nan -nan -nan -nan -nan -nan -nan -nan -nan -691 
+  Bin 309: -691 -nan -nan -nan -nan -nan -nan -nan -nan -nan -690 
+  Bin 310: -690 -nan -nan -nan -nan -nan -nan -nan -nan -nan -689 
+  Bin 311: -689 -nan -nan -nan -nan -nan -nan -nan -nan -nan -688 
+  Bin 312: -688 -nan -nan -nan -nan -nan -nan -nan -nan -nan -687 
+  Bin 313: -687 -nan -nan -nan -nan -nan -nan -nan -nan -nan -686 
+  Bin 314: -686 -nan -nan -nan -nan -nan -nan -nan -nan -nan -685 
+  Bin 315: -685 -nan -nan -nan -nan -nan -nan -nan -nan -nan -684 
+  Bin 316: -684 -nan -nan -nan -nan -nan -nan -nan -nan -nan -683 
+  Bin 317: -683 -nan -nan -nan -nan -nan -nan -nan -nan -nan -682 
+  Bin 318: -682 -nan -nan -nan -nan -nan -nan -nan -nan -nan -681 
+  Bin 319: -681 -nan -nan -nan -nan -nan -nan -nan -nan -nan -680 
+  Bin 320: -680 -nan -nan -nan -nan -nan -nan -nan -nan -nan -679 
+  Bin 321: -679 -nan -nan -nan -nan -nan -nan -nan -nan -nan -678 
+  Bin 322: -678 -nan -nan -nan -nan -nan -nan -nan -nan -nan -677 
+  Bin 323: -677 -nan -nan -nan -nan -nan -nan -nan -nan -nan -676 
+  Bin 324: -676 -nan -nan -nan -nan -nan -nan -nan -nan -nan -675 
+  Bin 325: -675 -nan -nan -nan -nan -nan -nan -nan -nan -nan -674 
+  Bin 326: -674 -nan -nan -nan -nan -nan -nan -nan -nan -nan -673 
+  Bin 327: -673 -nan -nan -nan -nan -nan -nan -nan -nan -nan -672 
+  Bin 328: -672 -nan -nan -nan -nan -nan -nan -nan -nan -nan -671 
+  Bin 329: -671 -nan -nan -nan -nan -nan -nan -nan -nan -nan -670 
+  Bin 330: -670 -nan -nan -nan -nan -nan -nan -nan -nan -nan -669 
+  Bin 331: -669 -nan -nan -nan -nan -nan -nan -nan -nan -nan -668 
+  Bin 332: -668 -nan -nan -nan -nan -nan -nan -nan -nan -nan -667 
+  Bin 333: -667 -nan -nan -nan -nan -nan -nan -nan -nan -nan -666 
+  Bin 334: -666 -nan -nan -nan -nan -nan -nan -nan -nan -nan -665 
+  Bin 335: -665 -nan -nan -nan -nan -nan -nan -nan -nan -nan -664 
+  Bin 336: -664 -nan -nan -nan -nan -nan -nan -nan -nan -nan -663 
+  Bin 337: -663 -nan -nan -nan -nan -nan -nan -nan -nan -nan -662 
+  Bin 338: -662 -nan -nan -nan -nan -nan -nan -nan -nan -nan -661 
+  Bin 339: -661 -nan -nan -nan -nan -nan -nan -nan -nan -nan -660 
+  Bin 340: -660 -nan -nan -nan -nan -nan -nan -nan -nan -nan -659 
+  Bin 341: -659 -nan -nan -nan -nan -nan -nan -nan -nan -nan -658 
+  Bin 342: -658 -nan -nan -nan -nan -nan -nan -nan -nan -nan -657 
+  Bin 343: -657 -nan -nan -nan -nan -nan -nan -nan -nan -nan -656 
+  Bin 344: -656 -nan -nan -nan -nan -nan -nan -nan -nan -nan -655 
+  Bin 345: -655 -nan -nan -nan -nan -nan -nan -nan -nan -nan -654 
+  Bin 346: -654 -nan -nan -nan -nan -nan -nan -nan -nan -nan -653 
+  Bin 347: -653 -nan -nan -nan -nan -nan -nan -nan -nan -nan -652 
+  Bin 348: -652 -nan -nan -nan -nan -nan -nan -nan -nan -nan -651 
+  Bin 349: -651 -nan -nan -nan -nan -nan -nan -nan -nan -nan -650 
+  Bin 350: -650 -nan -nan -nan -nan -nan -nan -nan -nan -nan -649 
+  Bin 351: -649 -nan -nan -nan -nan -nan -nan -nan -nan -nan -648 
+  Bin 352: -648 -nan -nan -nan -nan -nan -nan -nan -nan -nan -647 
+  Bin 353: -647 -nan -nan -nan -nan -nan -nan -nan -nan -nan -646 
+  Bin 354: -646 -nan -nan -nan -nan -nan -nan -nan -nan -nan -645 
+  Bin 355: -645 -nan -nan -nan -nan -nan -nan -nan -nan -nan -644 
+  Bin 356: -644 -nan -nan -nan -nan -nan -nan -nan -nan -nan -643 
+  Bin 357: -643 -nan -nan -nan -nan -nan -nan -nan -nan -nan -642 
+  Bin 358: -642 -nan -nan -nan -nan -nan -nan -nan -nan -nan -641 
+  Bin 359: -641 -nan -nan -nan -nan -nan -nan -nan -nan -nan -640 
+  Bin 360: -640 -nan -nan -nan -nan -nan -nan -nan -nan -nan -639 
+  Bin 361: -639 -nan -nan -nan -nan -nan -nan -nan -nan -nan -638 
+  Bin 362: -638 -nan -nan -nan -nan -nan -nan -nan -nan -nan -637 
+  Bin 363: -637 -nan -nan -nan -nan -nan -nan -nan -nan -nan -636 
+  Bin 364: -636 -nan -nan -nan -nan -nan -nan -nan -nan -nan -635 
+  Bin 365: -635 -nan -nan -nan -nan -nan -nan -nan -nan -nan -634 
+  Bin 366: -634 -nan -nan -nan -nan -nan -nan -nan -nan -nan -633 
+  Bin 367: -633 -nan -nan -nan -nan -nan -nan -nan -nan -nan -632 
+  Bin 368: -632 -nan -nan -nan -nan -nan -nan -nan -nan -nan -631 
+  Bin 369: -631 -nan -nan -nan -nan -nan -nan -nan -nan -nan -630 
+  Bin 370: -630 -nan -nan -nan -nan -nan -nan -nan -nan -nan -629 
+  Bin 371: -629 -nan -nan -nan -nan -nan -nan -nan -nan -nan -628 
+  Bin 372: -628 -nan -nan -nan -nan -nan -nan -nan -nan -nan -627 
+  Bin 373: -627 -nan -nan -nan -nan -nan -nan -nan -nan -nan -626 
+  Bin 374: -626 -nan -nan -nan -nan -nan -nan -nan -nan -nan -625 
+  Bin 375: -625 -nan -nan -nan -nan -nan -nan -nan -nan -nan -624 
+  Bin 376: -624 -nan -nan -nan -nan -nan -nan -nan -nan -nan -623 
+  Bin 377: -623 -nan -nan -nan -nan -nan -nan -nan -nan -nan -622 
+  Bin 378: -622 -nan -nan -nan -nan -nan -nan -nan -nan -nan -621 
+  Bin 379: -621 -nan -nan -nan -nan -nan -nan -nan -nan -nan -620 
+  Bin 380: -620 -nan -nan -nan -nan -nan -nan -nan -nan -nan -619 
+  Bin 381: -619 -nan -nan -nan -nan -nan -nan -nan -nan -nan -618 
+  Bin 382: -618 -nan -nan -nan -nan -nan -nan -nan -nan -nan -617 
+  Bin 383: -617 -nan -nan -nan -nan -nan -nan -nan -nan -nan -616 
+  Bin 384: -616 -nan -nan -nan -nan -nan -nan -nan -nan -nan -615 
+  Bin 385: -615 -nan -nan -nan -nan -nan -nan -nan -nan -nan -614 
+  Bin 386: -614 -nan -nan -nan -nan -nan -nan -nan -nan -nan -613 
+  Bin 387: -613 -nan -nan -nan -nan -nan -nan -nan -nan -nan -612 
+  Bin 388: -612 -nan -nan -nan -nan -nan -nan -nan -nan -nan -611 
+  Bin 389: -611 -nan -nan -nan -nan -nan -nan -nan -nan -nan -610 
+  Bin 390: -610 -nan -nan -nan -nan -nan -nan -nan -nan -nan -609 
+  Bin 391: -609 -nan -nan -nan -nan -nan -nan -nan -nan -nan -608 
+  Bin 392: -608 -nan -nan -nan -nan -nan -nan -nan -nan -nan -607 
+  Bin 393: -607 -nan -nan -nan -nan -nan -nan -nan -nan -nan -606 
+  Bin 394: -606 -nan -nan -nan -nan -nan -nan -nan -nan -nan -605 
+  Bin 395: -605 -nan -nan -nan -nan -nan -nan -nan -nan -nan -604 
+  Bin 396: -604 -nan -nan -nan -nan -nan -nan -nan -nan -nan -603 
+  Bin 397: -603 -nan -nan -nan -nan -nan -nan -nan -nan -nan -602 
+  Bin 398: -602 -nan -nan -nan -nan -nan -nan -nan -nan -nan -601 
+  Bin 399: -601 -nan -nan -nan -nan -nan -nan -nan -nan -nan -600 
+  Bin 400: -600 -nan -nan -nan -nan -nan -nan -nan -nan -nan -599 
+  Bin 401: -599 -nan -nan -nan -nan -nan -nan -nan -nan -nan -598 
+  Bin 402: -598 -nan -nan -nan -nan -nan -nan -nan -nan -nan -597 
+  Bin 403: -597 -nan -nan -nan -nan -nan -nan -nan -nan -nan -596 
+  Bin 404: -596 -nan -nan -nan -nan -nan -nan -nan -nan -nan -595 
+  Bin 405: -595 -nan -nan -nan -nan -nan -nan -nan -nan -nan -594 
+  Bin 406: -594 -nan -nan -nan -nan -nan -nan -nan -nan -nan -593 
+  Bin 407: -593 -nan -nan -nan -nan -nan -nan -nan -nan -nan -592 
+  Bin 408: -592 -nan -nan -nan -nan -nan -nan -nan -nan -nan -591 
+  Bin 409: -591 -nan -nan -nan -nan -nan -nan -nan -nan -nan -590 
+  Bin 410: -590 -nan -nan -nan -nan -nan -nan -nan -nan -nan -589 
+  Bin 411: -589 -nan -nan -nan -nan -nan -nan -nan -nan -nan -588 
+  Bin 412: -588 -nan -nan -nan -nan -nan -nan -nan -nan -nan -587 
+  Bin 413: -587 -nan -nan -nan -nan -nan -nan -nan -nan -nan -586 
+  Bin 414: -586 -nan -nan -nan -nan -nan -nan -nan -nan -nan -585 
+  Bin 415: -585 -nan -nan -nan -nan -nan -nan -nan -nan -nan -584 
+  Bin 416: -584 -nan -nan -nan -nan -nan -nan -nan -nan -nan -583 
+  Bin 417: -583 -nan -nan -nan -nan -nan -nan -nan -nan -nan -582 
+  Bin 418: -582 -nan -nan -nan -nan -nan -nan -nan -nan -nan -581 
+  Bin 419: -581 -nan -nan -nan -nan -nan -nan -nan -nan -nan -580 
+  Bin 420: -580 -nan -nan -nan -nan -nan -nan -nan -nan -nan -579 
+  Bin 421: -579 -nan -nan -nan -nan -nan -nan -nan -nan -nan -578 
+  Bin 422: -578 -nan -nan -nan -nan -nan -nan -nan -nan -nan -577 
+  Bin 423: -577 -nan -nan -nan -nan -nan -nan -nan -nan -nan -576 
+  Bin 424: -576 -nan -nan -nan -nan -nan -nan -nan -nan -nan -575 
+  Bin 425: -575 -nan -nan -nan -nan -nan -nan -nan -nan -nan -574 
+  Bin 426: -574 -nan -nan -nan -nan -nan -nan -nan -nan -nan -573 
+  Bin 427: -573 -nan -nan -nan -nan -nan -nan -nan -nan -nan -572 
+  Bin 428: -572 -nan -nan -nan -nan -nan -nan -nan -nan -nan -571 
+  Bin 429: -571 -nan -nan -nan -nan -nan -nan -nan -nan -nan -570 
+  Bin 430: -570 -nan -nan -nan -nan -nan -nan -nan -nan -nan -569 
+  Bin 431: -569 -nan -nan -nan -nan -nan -nan -nan -nan -nan -568 
+  Bin 432: -568 -nan -nan -nan -nan -nan -nan -nan -nan -nan -567 
+  Bin 433: -567 -nan -nan -nan -nan -nan -nan -nan -nan -nan -566 
+  Bin 434: -566 -nan -nan -nan -nan -nan -nan -nan -nan -nan -565 
+  Bin 435: -565 -nan -nan -nan -nan -nan -nan -nan -nan -nan -564 
+  Bin 436: -564 -nan -nan -nan -nan -nan -nan -nan -nan -nan -563 
+  Bin 437: -563 -nan -nan -nan -nan -nan -nan -nan -nan -nan -562 
+  Bin 438: -562 -nan -nan -nan -nan -nan -nan -nan -nan -nan -561 
+  Bin 439: -561 -nan -nan -nan -nan -nan -nan -nan -nan -nan -560 
+  Bin 440: -560 -nan -nan -nan -nan -nan -nan -nan -nan -nan -559 
+  Bin 441: -559 -nan -nan -nan -nan -nan -nan -nan -nan -nan -558 
+  Bin 442: -558 -nan -nan -nan -nan -nan -nan -nan -nan -nan -557 
+  Bin 443: -557 -nan -nan -nan -nan -nan -nan -nan -nan -nan -556 
+  Bin 444: -556 -nan -nan -nan -nan -nan -nan -nan -nan -nan -555 
+  Bin 445: -555 -nan -nan -nan -nan -nan -nan -nan -nan -nan -554 
+  Bin 446: -554 -nan -nan -nan -nan -nan -nan -nan -nan -nan -553 
+  Bin 447: -553 -nan -nan -nan -nan -nan -nan -nan -nan -nan -552 
+  Bin 448: -552 -552 -552 -552 -552 -552 -551.916 -551.827 -551.723 -551.572 -551 
+  Bin 449: -551 -550.837 -550.743 -550.692 -550.645 -550.598 -550.57 -550.531 -550.472 -550.369 -550 
+  Bin 450: -550 -549.851 -549.764 -549.709 -549.671 -549.642 -549.582 -549.536 -549.477 -549.396 -549 
+  Bin 451: -549 -548.838 -548.758 -548.696 -548.66 -548.607 -548.576 -548.535 -548.474 -548.381 -548 
+  Bin 452: -548 -547.837 -547.742 -547.67 -547.627 -547.571 -547.539 -547.495 -547.44 -547.344 -547 
+  Bin 453: -547 -546.822 -546.727 -546.662 -546.611 -546.58 -546.524 -546.474 -546.406 -546.305 -546 
+  Bin 454: -546 -545.852 -545.769 -545.712 -545.666 -545.615 -545.576 -545.532 -545.467 -545.36 -545 
+  Bin 455: -545 -544.872 -544.783 -544.723 -544.676 -544.619 -544.58 -544.537 -544.482 -544.373 -544 
+  Bin 456: -544 -543.853 -543.78 -543.728 -543.683 -543.628 -543.592 -543.541 -543.482 -543.383 -543 
+  Bin 457: -543 -542.826 -542.735 -542.676 -542.63 -542.594 -542.545 -542.501 -542.45 -542.365 -542 
+  Bin 458: -542 -541.837 -541.748 -541.688 -541.649 -541.589 -541.555 -541.506 -541.448 -541.348 -541 
+  Bin 459: -541 -540.866 -540.782 -540.716 -540.674 -540.614 -540.579 -540.537 -540.475 -540.38 -540 
+  Bin 460: -540 -539.847 -539.758 -539.695 -539.647 -539.607 -539.547 -539.501 -539.435 -539.34 -539 
+  Bin 461: -539 -538.833 -538.759 -538.704 -538.661 -538.609 -538.572 -538.527 -538.466 -538.368 -538 
+  Bin 462: -538 -537.857 -537.777 -537.715 -537.67 -537.613 -537.579 -537.537 -537.481 -537.363 -537 
+  Bin 463: -537 -536.872 -536.793 -536.739 -536.705 -536.676 -536.611 -536.565 -536.498 -536.4 -536 
+  Bin 464: -536 -535.87 -535.784 -535.732 -535.69 -535.636 -535.6 -535.552 -535.472 -535.372 -535 
+  Bin 465: -535 -534.855 -534.765 -534.705 -534.667 -534.636 -534.584 -534.536 -534.466 -534.362 -534 
+  Bin 466: -534 -533.824 -533.737 -533.672 -533.63 -533.596 -533.535 -533.497 -533.441 -533.362 -533 
+  Bin 467: -533 -532.846 -532.755 -532.691 -532.648 -532.594 -532.559 -532.52 -532.466 -532.375 -532 
+  Bin 468: -532 -531.864 -531.778 -531.725 -531.679 -531.626 -531.597 -531.557 -531.498 -531.417 -531 
+  Bin 469: -531 -530.828 -530.745 -530.679 -530.63 -530.562 -530.529 -530.488 -530.434 -530.357 -530 
+  Bin 470: -530 -529.827 -529.747 -529.697 -529.657 -529.63 -529.565 -529.52 -529.462 -529.364 -529 
+  Bin 471: -529 -528.86 -528.788 -528.731 -528.692 -528.647 -528.61 -528.566 -528.499 -528.381 -528 
+  Bin 472: -528 -527.829 -527.735 -527.67 -527.621 -527.562 -527.533 -527.491 -527.436 -527.356 -527 
+  Bin 473: -527 -526.818 -526.73 -526.674 -526.635 -526.605 -526.556 -526.509 -526.451 -526.36 -526 
+  Bin 474: -526 -525.839 -525.752 -525.689 -525.646 -525.598 -525.566 -525.522 -525.458 -525.357 -525 
+  Bin 475: -525 -524.844 -524.752 -524.687 -524.637 -524.581 -524.549 -524.508 -524.447 -524.353 -524 
+  Bin 476: -524 -523.84 -523.755 -523.696 -523.661 -523.632 -523.579 -523.532 -523.467 -523.383 -523 
+  Bin 477: -523 -522.861 -522.786 -522.737 -522.691 -522.63 -522.602 -522.563 -522.504 -522.402 -522 
+  Bin 478: -522 -521.849 -521.765 -521.711 -521.672 -521.607 -521.573 -521.53 -521.464 -521.375 -521 
+  Bin 479: -521 -520.814 -520.725 -520.668 -520.628 -520.6 -520.548 -520.504 -520.446 -520.373 -520 
+  Bin 480: -520 -519.835 -519.741 -519.681 -519.639 -519.581 -519.553 -519.514 -519.457 -519.371 -519 
+  Bin 481: -519 -518.849 -518.763 -518.704 -518.664 -518.604 -518.57 -518.528 -518.468 -518.388 -518 
+  Bin 482: -518 -517.828 -517.732 -517.67 -517.629 -517.598 -517.541 -517.502 -517.445 -517.354 -517 
+  Bin 483: -517 -516.832 -516.742 -516.68 -516.637 -516.605 -516.547 -516.505 -516.446 -516.36 -516 
+  Bin 484: -516 -515.818 -515.734 -515.678 -515.641 -515.588 -515.553 -515.51 -515.451 -515.362 -515 
+  Bin 485: -515 -514.847 -514.76 -514.698 -514.659 -514.599 -514.566 -514.525 -514.469 -514.383 -514 
+  Bin 486: -514 -513.839 -513.751 -513.693 -513.651 -513.598 -513.563 -513.521 -513.461 -513.386 -513 
+  Bin 487: -513 -512.828 -512.745 -512.687 -512.645 -512.62 -512.562 -512.517 -512.464 -512.37 -512 
+  Bin 488: -512 -511.852 -511.764 -511.703 -511.652 -511.6 -511.57 -511.532 -511.476 -511.387 -511 
+  Bin 489: -511 -510.825 -510.753 -510.699 -510.662 -510.631 -510.57 -510.523 -510.45 -510.335 -510 
+  Bin 490: -510 -509.828 -509.747 -509.685 -509.641 -509.581 -509.549 -509.51 -509.452 -509.357 -509 
+  Bin 491: -509 -508.821 -508.747 -508.698 -508.664 -508.606 -508.574 -508.535 -508.476 -508.369 -508 
+  Bin 492: -508 -507.818 -507.749 -507.695 -507.655 -507.623 -507.569 -507.52 -507.467 -507.362 -507 
+  Bin 493: -507 -506.832 -506.755 -506.702 -506.66 -506.604 -506.571 -506.53 -506.468 -506.369 -506 
+  Bin 494: -506 -505.842 -505.77 -505.722 -505.688 -505.659 -505.602 -505.554 -505.483 -505.373 -505 
+  Bin 495: -505 -504.836 -504.763 -504.716 -504.673 -504.62 -504.589 -504.546 -504.488 -504.378 -504 
+  Bin 496: -504 -503.832 -503.751 -503.708 -503.667 -503.639 -503.585 -503.532 -503.469 -503.355 -503 
+  Bin 497: -503 -502.819 -502.737 -502.676 -502.631 -502.58 -502.552 -502.516 -502.459 -502.361 -502 
+  Bin 498: -502 -501.851 -501.779 -501.726 -501.689 -501.656 -501.607 -501.565 -501.498 -501.389 -501 
+  Bin 499: -501 -500.837 -500.762 -500.71 -500.673 -500.615 -500.582 -500.539 -500.483 -500.378 -500 
+  Bin 500: -500 -499.845 -499.764 -499.705 -499.665 -499.613 -499.582 -499.54 -499.484 -499.379 -499 
+  Bin 501: -499 -498.828 -498.751 -498.689 -498.65 -498.593 -498.559 -498.514 -498.45 -498.355 -498 
+  Bin 502: -498 -497.835 -497.763 -497.71 -497.671 -497.616 -497.582 -497.539 -497.475 -497.37 -497 
+  Bin 503: -497 -496.806 -496.727 -496.676 -496.634 -496.602 -496.555 -496.519 -496.456 -496.349 -496 
+  Bin 504: -496 -495.831 -495.75 -495.703 -495.668 -495.641 -495.579 -495.538 -495.468 -495.354 -495 
+  Bin 505: -495 -494.832 -494.741 -494.679 -494.638 -494.583 -494.552 -494.512 -494.45 -494.346 -494 
+  Bin 506: -494 -493.808 -493.729 -493.671 -493.635 -493.602 -493.544 -493.493 -493.425 -493.31 -493 
+  Bin 507: -493 -492.834 -492.766 -492.719 -492.675 -492.618 -492.589 -492.545 -492.483 -492.359 -492 
+  Bin 508: -492 -491.875 -491.793 -491.744 -491.697 -491.643 -491.604 -491.557 -491.488 -491.377 -491 
+  Bin 509: -491 -490.826 -490.767 -490.715 -490.675 -490.644 -490.584 -490.537 -490.475 -490.346 -490 
+  Bin 510: -490 -489.788 -489.719 -489.676 -489.641 -489.611 -489.557 -489.517 -489.454 -489.33 -489 
+  Bin 511: -489 -488.804 -488.739 -488.695 -488.658 -488.602 -488.574 -488.526 -488.465 -488.353 -488 
+  Bin 512: -488 -487.817 -487.734 -487.683 -487.64 -487.613 -487.562 -487.518 -487.457 -487.339 -487 
+  Bin 513: -487 -486.809 -486.734 -486.678 -486.637 -486.584 -486.55 -486.508 -486.445 -486.33 -486 
+  Bin 514: -486 -485.82 -485.75 -485.698 -485.662 -485.633 -485.576 -485.528 -485.464 -485.355 -485 
+  Bin 515: -485 -484.808 -484.729 -484.675 -484.639 -484.586 -484.55 -484.505 -484.439 -484.322 -484 
+  Bin 516: -484 -483.834 -483.759 -483.709 -483.669 -483.644 -483.591 -483.542 -483.474 -483.357 -483 
+  Bin 517: -483 -482.802 -482.73 -482.675 -482.635 -482.577 -482.547 -482.504 -482.448 -482.341 -482 
+  Bin 518: -482 -481.832 -481.769 -481.716 -481.676 -481.618 -481.586 -481.551 -481.486 -481.368 -481 
+  Bin 519: -481 -480.841 -480.768 -480.718 -480.683 -480.651 -480.592 -480.545 -480.477 -480.365 -480 
+  Bin 520: -480 -479.809 -479.737 -479.684 -479.643 -479.585 -479.558 -479.515 -479.447 -479.337 -479 
+  Bin 521: -479 -478.788 -478.736 -478.692 -478.66 -478.611 -478.578 -478.535 -478.46 -478.331 -478 
+  Bin 522: -478 -477.815 -477.744 -477.692 -477.651 -477.593 -477.559 -477.512 -477.448 -477.331 -477 
+  Bin 523: -477 -476.828 -476.75 -476.695 -476.658 -476.604 -476.567 -476.523 -476.462 -476.354 -476 
+  Bin 524: -476 -475.824 -475.745 -475.696 -475.659 -475.632 -475.572 -475.529 -475.461 -475.342 -475 
+  Bin 525: -475 -474.812 -474.736 -474.689 -474.655 -474.598 -474.566 -474.525 -474.458 -474.354 -474 
+  Bin 526: -474 -473.851 -473.776 -473.723 -473.684 -473.628 -473.594 -473.547 -473.479 -473.369 -473 
+  Bin 527: -473 -472.83 -472.764 -472.719 -472.681 -472.653 -472.6 -472.55 -472.487 -472.368 -472 
+  Bin 528: -472 -471.832 -471.756 -471.705 -471.665 -471.612 -471.578 -471.537 -471.474 -471.355 -471 
+  Bin 529: -471 -470.785 -470.725 -470.679 -470.644 -470.615 -470.563 -470.518 -470.458 -470.344 -470 
+  Bin 530: -470 -469.803 -469.728 -469.675 -469.637 -469.581 -469.55 -469.509 -469.452 -469.341 -469 
+  Bin 531: -469 -468.811 -468.75 -468.703 -468.671 -468.643 -468.587 -468.546 -468.479 -468.363 -468 
+  Bin 532: -468 -467.815 -467.755 -467.71 -467.669 -467.614 -467.586 -467.548 -467.491 -467.367 -467 
+  Bin 533: -467 -466.843 -466.771 -466.72 -466.683 -466.63 -466.598 -466.551 -466.486 -466.365 -466 
+  Bin 534: -466 -465.795 -465.735 -465.684 -465.65 -465.622 -465.569 -465.525 -465.458 -465.342 -465 
+  Bin 535: -465 -464.766 -464.703 -464.649 -464.612 -464.56 -464.529 -464.494 -464.43 -464.325 -464 
+  Bin 536: -464 -463.731 -463.677 -463.638 -463.605 -463.583 -463.531 -463.489 -463.424 -463.32 -463 
+  Bin 537: -463 -462.793 -462.731 -462.682 -462.649 -462.601 -462.574 -462.537 -462.481 -462.366 -462 
+  Bin 538: -462 -461.851 -461.794 -461.755 -461.72 -461.676 -461.641 -461.591 -461.524 -461.387 -461 
+  Bin 539: -461 -460.815 -460.744 -460.69 -460.652 -460.594 -460.564 -460.522 -460.46 -460.356 -460 
+  Bin 540: -460 -459.775 -459.725 -459.68 -459.65 -459.599 -459.571 -459.534 -459.472 -459.347 -459 
+  Bin 541: -459 -458.816 -458.747 -458.694 -458.656 -458.606 -458.572 -458.526 -458.462 -458.346 -458 
+  Bin 542: -458 -457.809 -457.743 -457.693 -457.658 -457.63 -457.58 -457.536 -457.471 -457.354 -457 
+  Bin 543: -457 -456.816 -456.766 -456.715 -456.654 -456.622 -456.587 -456.539 -456.469 -456.33 -456 
+  Bin 544: -456 -455.814 -455.757 -455.713 -455.681 -455.655 -455.6 -455.552 -455.478 -455.342 -455 
+  Bin 545: -455 -454.853 -454.788 -454.73 -454.691 -454.643 -454.607 -454.556 -454.477 -454.334 -454 
+  Bin 546: -454 -453.857 -453.806 -453.756 -453.712 -453.66 -453.626 -453.576 -453.493 -453.344 -453 
+  Bin 547: -453 -452.829 -452.774 -452.727 -452.689 -452.662 -452.598 -452.543 -452.465 -452.327 -452 
+  Bin 548: -452 -451.831 -451.782 -451.733 -451.698 -451.64 -451.607 -451.557 -451.474 -451.331 -451 
+  Bin 549: -451 -450.862 -450.806 -450.755 -450.719 -450.663 -450.623 -450.57 -450.495 -450.354 -450 
+  Bin 550: -450 -449.824 -449.767 -449.717 -449.679 -449.621 -449.589 -449.539 -449.469 -449.343 -449 
+  Bin 551: -449 -448.858 -448.786 -448.732 -448.694 -448.651 -448.598 -448.546 -448.471 -448.346 -448 
+  Bin 552: -448 -447.859 -447.79 -447.742 -447.703 -447.653 -447.616 -447.562 -447.484 -447.362 -447 
+  Bin 553: -447 -446.859 -446.777 -446.725 -446.678 -446.618 -446.584 -446.536 -446.461 -446.33 -446 
+  Bin 554: -446 -445.843 -445.79 -445.746 -445.713 -445.677 -445.62 -445.564 -445.484 -445.344 -445 
+  Bin 555: -445 -444.847 -444.788 -444.738 -444.698 -444.641 -444.607 -444.559 -444.485 -444.345 -444 
+  Bin 556: -444 -443.875 -443.803 -443.744 -443.704 -443.647 -443.608 -443.563 -443.49 -443.358 -443 
+  Bin 557: -443 -442.848 -442.789 -442.741 -442.706 -442.679 -442.616 -442.572 -442.499 -442.369 -442 
+  Bin 558: -442 -441.863 -441.795 -441.743 -441.705 -441.646 -441.614 -441.571 -441.499 -441.368 -441 
+  Bin 559: -441 -440.827 -440.768 -440.717 -440.674 -440.646 -440.593 -440.547 -440.481 -440.346 -440 
+  Bin 560: -440 -439.816 -439.749 -439.7 -439.663 -439.607 -439.575 -439.537 -439.48 -439.357 -439 
+  Bin 561: -439 -438.815 -438.76 -438.711 -438.676 -438.634 -438.6 -438.552 -438.489 -438.37 -438 
+  Bin 562: -438 -437.831 -437.767 -437.723 -437.686 -437.641 -437.608 -437.571 -437.51 -437.371 -437 
+  Bin 563: -437 -436.846 -436.784 -436.745 -436.712 -436.66 -436.631 -436.586 -436.521 -436.389 -436 
+  Bin 564: -436 -435.829 -435.77 -435.726 -435.693 -435.634 -435.608 -435.567 -435.508 -435.38 -435 
+  Bin 565: -435 -434.805 -434.75 -434.705 -434.674 -434.655 -434.599 -434.557 -434.487 -434.358 -434 
+  Bin 566: -434 -433.847 -433.798 -433.76 -433.732 -433.685 -433.65 -433.595 -433.471 -433.165 -433 
+  Bin 567: -433 -432.585 -432.352 -432.198 -432.099 -432.045 -432.039 -432.034 -432.026 -432.019 -432 
+  Bin 568: -432 -431.997 -431.992 -431.971 -431.933 -431.663 -431.169 -431.056 -431.023 -431.008 -431 
+  Bin 569: -431 -430.983 -430.972 -430.96 -430.952 -430.947 -430.895 -430.825 -430.728 -430.539 -430 
+  Bin 570: -430 -429.69 -429.584 -429.536 -429.501 -429.45 -429.429 -429.399 -429.351 -429.258 -429 
+  Bin 571: -429 -428.855 -428.795 -428.757 -428.724 -428.674 -428.645 -428.599 -428.53 -428.391 -428 
+  Bin 572: -428 -427.875 -427.809 -427.765 -427.735 -427.683 -427.652 -427.606 -427.539 -427.409 -427 
+  Bin 573: -427 -426.866 -426.796 -426.746 -426.709 -426.657 -426.628 -426.586 -426.523 -426.391 -426 
+  Bin 574: -426 -425.842 -425.779 -425.729 -425.697 -425.667 -425.616 -425.568 -425.505 -425.382 -425 
+  Bin 575: -425 -424.818 -424.756 -424.707 -424.671 -424.621 -424.593 -424.555 -424.499 -424.38 -424 
+  Bin 576: -424 -423.877 -423.803 -423.753 -423.718 -423.692 -423.63 -423.589 -423.53 -423.414 -423 
+  Bin 577: -423 -422.842 -422.768 -422.717 -422.68 -422.628 -422.6 -422.562 -422.507 -422.4 -422 
+  Bin 578: -422 -421.845 -421.78 -421.732 -421.695 -421.638 -421.61 -421.574 -421.512 -421.408 -421 
+  Bin 579: -421 -420.842 -420.776 -420.731 -420.699 -420.642 -420.611 -420.572 -420.515 -420.409 -420 
+  Bin 580: -420 -419.82 -419.76 -419.713 -419.679 -419.653 -419.596 -419.551 -419.487 -419.379 -419 
+  Bin 581: -419 -418.855 -418.788 -418.742 -418.701 -418.649 -418.621 -418.579 -418.518 -418.41 -418 
+  Bin 582: -418 -417.828 -417.761 -417.71 -417.674 -417.649 -417.594 -417.554 -417.488 -417.381 -417 
+  Bin 583: -417 -416.818 -416.749 -416.703 -416.668 -416.607 -416.585 -416.543 -416.485 -416.394 -416 
+  Bin 584: -416 -415.86 -415.786 -415.74 -415.704 -415.647 -415.618 -415.577 -415.515 -415.404 -415 
+  Bin 585: -415 -414.836 -414.767 -414.714 -414.681 -414.654 -414.599 -414.56 -414.505 -414.393 -414 
+  Bin 586: -414 -413.838 -413.766 -413.72 -413.68 -413.628 -413.593 -413.551 -413.488 -413.382 -413 
+  Bin 587: -413 -412.852 -412.791 -412.742 -412.707 -412.65 -412.616 -412.57 -412.503 -412.359 -412 
+  Bin 588: -412 -411.848 -411.773 -411.72 -411.68 -411.649 -411.594 -411.552 -411.486 -411.343 -411 
+  Bin 589: -411 -410.845 -410.781 -410.726 -410.691 -410.644 -410.606 -410.562 -410.5 -410.368 -410 
+  Bin 590: -410 -409.86 -409.791 -409.74 -409.704 -409.643 -409.613 -409.569 -409.504 -409.368 -409 
+  Bin 591: -409 -408.858 -408.795 -408.745 -408.707 -408.657 -408.62 -408.578 -408.51 -408.386 -408 
+  Bin 592: -408 -407.814 -407.741 -407.688 -407.647 -407.618 -407.566 -407.526 -407.464 -407.351 -407 
+  Bin 593: -407 -406.803 -406.733 -406.68 -406.642 -406.587 -406.555 -406.519 -406.458 -406.349 -406 
+  Bin 594: -406 -405.832 -405.766 -405.718 -405.684 -405.661 -405.612 -405.568 -405.501 -405.38 -405 
+  Bin 595: -405 -404.792 -404.74 -404.697 -404.665 -404.614 -404.586 -404.551 -404.497 -404.387 -404 
+  Bin 596: -404 -403.799 -403.717 -403.659 -403.623 -403.596 -403.546 -403.507 -403.443 -403.333 -403 
+  Bin 597: -403 -402.79 -402.711 -402.661 -402.626 -402.574 -402.544 -402.501 -402.446 -402.33 -402 
+  Bin 598: -402 -401.855 -401.8 -401.761 -401.728 -401.68 -401.648 -401.606 -401.543 -401.403 -401 
+  Bin 599: -401 -400.852 -400.776 -400.725 -400.684 -400.635 -400.608 -400.565 -400.501 -400.404 -400 
+  Bin 600: -400 -399.855 -399.778 -399.72 -399.684 -399.634 -399.604 -399.555 -399.485 -399.361 -399 
+  Bin 601: -399 -398.863 -398.784 -398.73 -398.694 -398.643 -398.611 -398.572 -398.506 -398.416 -398 
+  Bin 602: -398 -397.82 -397.743 -397.695 -397.655 -397.596 -397.568 -397.523 -397.463 -397.368 -397 
+  Bin 603: -397 -396.82 -396.745 -396.696 -396.664 -396.611 -396.581 -396.545 -396.483 -396.39 -396 
+  Bin 604: -396 -395.833 -395.758 -395.711 -395.672 -395.617 -395.585 -395.546 -395.484 -395.377 -395 
+  Bin 605: -395 -394.824 -394.755 -394.705 -394.668 -394.605 -394.576 -394.535 -394.472 -394.365 -394 
+  Bin 606: -394 -393.781 -393.716 -393.668 -393.628 -393.603 -393.548 -393.507 -393.451 -393.346 -393 
+  Bin 607: -393 -392.877 -392.821 -392.786 -392.755 -392.721 -392.686 -392.632 -392.466 -392.142 -392 
+  Bin 608: -392 -391.622 -391.382 -391.216 -391.084 -391.04 -391.035 -391.029 -391.021 -391.01 -391 
+  Bin 609: -391 -390.998 -390.994 -390.987 -390.966 -390.836 -390.277 -390.101 -390.042 -390.014 -390 
+  Bin 610: -390 -389.97 -389.947 -389.928 -389.917 -389.901 -389.794 -389.681 -389.572 -389.388 -389 
+  Bin 611: -389 -388.732 -388.556 -388.5 -388.463 -388.414 -388.39 -388.359 -388.312 -388.238 -388 
+  Bin 612: -388 -387.869 -387.788 -387.738 -387.699 -387.649 -387.621 -387.577 -387.501 -387.376 -387 
+  Bin 613: -387 -386.835 -386.768 -386.72 -386.685 -386.655 -386.597 -386.55 -386.48 -386.353 -386 
+  Bin 614: -386 -385.893 -385.838 -385.798 -385.766 -385.717 -385.679 -385.619 -385.488 -385.176 -385 
+  Bin 615: -385 -384.611 -384.383 -384.219 -384.11 -384.028 -384.024 -384.018 -384.014 -384.008 -384 
+  Bin 616: -384 -383.997 -383.993 -383.985 -383.964 -383.846 -383.266 -383.089 -383.038 -383.013 -383 
+  Bin 617: -383 -382.966 -382.947 -382.934 -382.924 -382.913 -382.791 -382.677 -382.55 -382.377 -382 
+  Bin 618: -382 -381.722 -381.552 -381.493 -381.462 -381.415 -381.395 -381.368 -381.324 -381.237 -381 
+  Bin 619: -381 -380.879 -380.8 -380.744 -380.704 -380.648 -380.612 -380.57 -380.497 -380.379 -380 
+  Bin 620: -380 -379.838 -379.754 -379.696 -379.655 -379.596 -379.568 -379.524 -379.454 -379.333 -379 
+  Bin 621: -379 -378.798 -378.732 -378.689 -378.654 -378.604 -378.572 -378.532 -378.465 -378.352 -378 
+  Bin 622: -378 -377.844 -377.777 -377.724 -377.685 -377.634 -377.603 -377.562 -377.497 -377.373 -377 
+  Bin 623: -377 -376.829 -376.757 -376.7 -376.662 -376.637 -376.583 -376.537 -376.47 -376.343 -376 
+  Bin 624: -376 -375.832 -375.755 -375.707 -375.67 -375.638 -375.579 -375.528 -375.458 -375.34 -375 
+  Bin 625: -375 -374.842 -374.757 -374.699 -374.661 -374.612 -374.578 -374.53 -374.469 -374.355 -374 
+  Bin 626: -374 -373.806 -373.733 -373.678 -373.64 -373.612 -373.548 -373.501 -373.437 -373.326 -373 
+  Bin 627: -373 -372.801 -372.714 -372.664 -372.625 -372.575 -372.542 -372.501 -372.438 -372.337 -372 
+  Bin 628: -372 -371.835 -371.768 -371.717 -371.685 -371.639 -371.608 -371.564 -371.493 -371.374 -371 
+  Bin 629: -371 -370.868 -370.788 -370.738 -370.699 -370.646 -370.615 -370.57 -370.506 -370.382 -370 
+  Bin 630: -370 -369.803 -369.729 -369.676 -369.64 -369.611 -369.55 -369.503 -369.441 -369.333 -369 
+  Bin 631: -369 -368.782 -368.714 -368.661 -368.623 -368.568 -368.539 -368.497 -368.439 -368.33 -368 
+  Bin 632: -368 -367.807 -367.722 -367.66 -367.623 -367.596 -367.543 -367.501 -367.438 -367.331 -367 
+  Bin 633: -367 -366.783 -366.71 -366.654 -366.618 -366.562 -366.53 -366.49 -366.428 -366.322 -366 
+  Bin 634: -366 -365.828 -365.752 -365.696 -365.66 -365.632 -365.58 -365.536 -365.459 -365.339 -365 
+  Bin 635: -365 -364.827 -364.759 -364.707 -364.663 -364.613 -364.58 -364.536 -364.467 -364.351 -364 
+  Bin 636: -364 -363.848 -363.776 -363.727 -363.69 -363.66 -363.604 -363.557 -363.49 -363.359 -363 
+  Bin 637: -363 -362.779 -362.696 -362.637 -362.594 -362.53 -362.502 -362.465 -362.404 -362.291 -362 
+  Bin 638: -362 -361.732 -361.674 -361.628 -361.594 -361.571 -361.519 -361.471 -361.408 -361.299 -361 
+  Bin 639: -361 -360.799 -360.72 -360.657 -360.61 -360.564 -360.535 -360.493 -360.431 -360.326 -360 
+  Bin 640: -360 -359.814 -359.739 -359.689 -359.652 -359.624 -359.574 -359.528 -359.464 -359.355 -359 
+  Bin 641: -359 -358.843 -358.758 -358.699 -358.659 -358.599 -358.566 -358.518 -358.454 -358.348 -358 
+  Bin 642: -358 -357.864 -357.799 -357.747 -357.715 -357.67 -357.636 -357.591 -357.521 -357.394 -357 
+  Bin 643: -357 -356.833 -356.749 -356.693 -356.657 -356.627 -356.571 -356.531 -356.473 -356.388 -356 
+  Bin 644: -356 -355.835 -355.746 -355.691 -355.656 -355.6 -355.569 -355.531 -355.48 -355.388 -355 
+  Bin 645: -355 -354.859 -354.775 -354.722 -354.682 -354.62 -354.589 -354.549 -354.483 -354.382 -354 
+  Bin 646: -354 -353.837 -353.752 -353.694 -353.657 -353.602 -353.572 -353.532 -353.47 -353.376 -353 
+  Bin 647: -353 -352.843 -352.77 -352.721 -352.684 -352.655 -352.6 -352.559 -352.494 -352.38 -352 
+  Bin 648: -352 -351.831 -351.743 -351.69 -351.65 -351.592 -351.565 -351.526 -351.461 -351.374 -351 
+  Bin 649: -351 -350.856 -350.771 -350.718 -350.683 -350.636 -350.596 -350.554 -350.491 -350.397 -350 
+  Bin 650: -350 -349.839 -349.754 -349.699 -349.66 -349.631 -349.577 -349.537 -349.469 -349.382 -349 
+  Bin 651: -349 -348.853 -348.766 -348.712 -348.669 -348.615 -348.586 -348.546 -348.475 -348.39 -348 
+  Bin 652: -348 -347.856 -347.777 -347.723 -347.688 -347.662 -347.604 -347.563 -347.493 -347.401 -347 
+  Bin 653: -347 -346.851 -346.76 -346.704 -346.665 -346.608 -346.575 -346.539 -346.481 -346.384 -346 
+  Bin 654: -346 -345.851 -345.775 -345.723 -345.683 -345.656 -345.597 -345.555 -345.489 -345.378 -345 
+  Bin 655: -345 -344.853 -344.774 -344.722 -344.686 -344.636 -344.603 -344.555 -344.485 -344.367 -344 
+  Bin 656: -344 -343.843 -343.741 -343.678 -343.642 -343.61 -343.548 -343.499 -343.43 -343.318 -343 
+  Bin 657: -343 -342.793 -342.711 -342.647 -342.607 -342.575 -342.513 -342.471 -342.401 -342.315 -342 
+  Bin 658: -342 -341.862 -341.774 -341.72 -341.678 -341.624 -341.591 -341.546 -341.478 -341.386 -341 
+  Bin 659: -341 -340.872 -340.782 -340.726 -340.685 -340.66 -340.593 -340.549 -340.479 -340.386 -340 
+  Bin 660: -340 -339.848 -339.759 -339.704 -339.664 -339.622 -339.581 -339.537 -339.475 -339.371 -339 
+  Bin 661: -339 -338.839 -338.742 -338.679 -338.643 -338.588 -338.556 -338.519 -338.453 -338.358 -338 
+  Bin 662: -338 -337.834 -337.745 -337.687 -337.649 -337.622 -337.561 -337.519 -337.449 -337.348 -337 
+  Bin 663: -337 -336.841 -336.764 -336.706 -336.666 -336.607 -336.576 -336.531 -336.466 -336.367 -336 
+  Bin 664: -336 -335.843 -335.749 -335.693 -335.654 -335.623 -335.569 -335.531 -335.473 -335.389 -335 
+  Bin 665: -335 -334.844 -334.747 -334.683 -334.641 -334.581 -334.549 -334.512 -334.442 -334.356 -334 
+  Bin 666: -334 -333.859 -333.767 -333.709 -333.666 -333.607 -333.574 -333.529 -333.458 -333.352 -333 
+  Bin 667: -333 -332.825 -332.731 -332.675 -332.63 -332.598 -332.544 -332.5 -332.436 -332.34 -332 
+  Bin 668: -332 -331.846 -331.753 -331.685 -331.644 -331.587 -331.555 -331.511 -331.449 -331.357 -331 
+  Bin 669: -331 -330.828 -330.743 -330.682 -330.642 -330.589 -330.553 -330.508 -330.438 -330.322 -330 
+  Bin 670: -330 -329.802 -329.74 -329.692 -329.656 -329.625 -329.567 -329.524 -329.459 -329.33 -329 
+  Bin 671: -329 -328.824 -328.774 -328.722 -328.689 -328.632 -328.597 -328.545 -328.469 -328.33 -328 
+  Bin 672: -328 -327.844 -327.778 -327.721 -327.685 -327.652 -327.586 -327.531 -327.46 -327.33 -327 
+  Bin 673: -327 -326.797 -326.742 -326.685 -326.641 -326.612 -326.554 -326.512 -326.442 -326.318 -326 
+  Bin 674: -326 -325.796 -325.732 -325.677 -325.64 -325.588 -325.556 -325.512 -325.441 -325.315 -325 
+  Bin 675: -325 -324.791 -324.735 -324.683 -324.641 -324.585 -324.558 -324.517 -324.45 -324.324 -324 
+  Bin 676: -324 -323.783 -323.737 -323.687 -323.654 -323.619 -323.566 -323.524 -323.454 -323.324 -323 
+  Bin 677: -323 -322.824 -322.763 -322.711 -322.67 -322.614 -322.584 -322.535 -322.468 -322.344 -322 
+  Bin 678: -322 -321.811 -321.735 -321.678 -321.638 -321.605 -321.546 -321.502 -321.434 -321.32 -321 
+  Bin 679: -321 -320.837 -320.768 -320.709 -320.673 -320.611 -320.577 -320.53 -320.457 -320.32 -320 
+  Bin 680: -320 -319.814 -319.765 -319.723 -319.691 -319.639 -319.607 -319.565 -319.493 -319.353 -319 
+  Bin 681: -319 -318.764 -318.727 -318.688 -318.657 -318.616 -318.578 -318.531 -318.462 -318.329 -318 
+  Bin 682: -318 -317.782 -317.737 -317.69 -317.654 -317.599 -317.568 -317.527 -317.464 -317.325 -317 
+  Bin 683: -317 -316.802 -316.754 -316.708 -316.672 -316.614 -316.58 -316.537 -316.464 -316.316 -316 
+  Bin 684: -316 -315.755 -315.711 -315.678 -315.654 -315.63 -315.566 -315.524 -315.458 -315.315 -315 
+  Bin 685: -315 -314.741 -314.669 -314.643 -314.621 -314.565 -314.542 -314.502 -314.433 -314.298 -314 
+  Bin 686: -314 -313.749 -313.713 -313.68 -313.654 -313.632 -313.581 -313.538 -313.473 -313.347 -313 
+  Bin 687: -313 -312.763 -312.681 -312.623 -312.586 -312.549 -312.509 -312.469 -312.417 -312.319 -312 
+  Bin 688: -312 -311.817 -311.742 -311.694 -311.662 -311.61 -311.579 -311.54 -311.476 -311.37 -311 
+  Bin 689: -311 -310.87 -310.796 -310.753 -310.719 -310.666 -310.638 -310.6 -310.53 -310.404 -310 
+  Bin 690: -310 -309.828 -309.753 -309.7 -309.651 -309.599 -309.568 -309.527 -309.456 -309.342 -309 
+  Bin 691: -309 -308.807 -308.734 -308.682 -308.646 -308.618 -308.559 -308.513 -308.447 -308.317 -308 
+  Bin 692: -308 -307.773 -307.707 -307.659 -307.625 -307.571 -307.545 -307.503 -307.437 -307.314 -307 
+  Bin 693: -307 -306.788 -306.731 -306.681 -306.644 -306.616 -306.565 -306.521 -306.453 -306.338 -306 
+  Bin 694: -306 -305.748 -305.701 -305.667 -305.637 -305.612 -305.563 -305.524 -305.463 -305.35 -305 
+  Bin 695: -305 -304.765 -304.724 -304.694 -304.664 -304.615 -304.59 -304.548 -304.489 -304.366 -304 
+  Bin 696: -304 -303.765 -303.73 -303.703 -303.677 -303.622 -303.597 -303.568 -303.505 -303.385 -303 
+  Bin 697: -303 -302.727 -302.687 -302.666 -302.644 -302.624 -302.571 -302.54 -302.483 -302.359 -302 
+  Bin 698: -302 -301.797 -301.751 -301.71 -301.679 -301.63 -301.603 -301.566 -301.505 -301.367 -301 
+  Bin 699: -301 -300.782 -300.743 -300.716 -300.692 -300.671 -300.622 -300.581 -300.512 -300.387 -300 
+  Bin 700: -300 -299.723 -299.667 -299.62 -299.584 -299.535 -299.509 -299.474 -299.418 -299.321 -299 
+  Bin 701: -299 -298.738 -298.693 -298.657 -298.628 -298.604 -298.549 -298.51 -298.447 -298.335 -298 
+  Bin 702: -298 -297.816 -297.75 -297.704 -297.667 -297.622 -297.597 -297.557 -297.499 -297.386 -297 
+  Bin 703: -297 -296.862 -296.786 -296.736 -296.704 -296.681 -296.631 -296.587 -296.532 -296.409 -296 
+  Bin 704: -296 -295.818 -295.745 -295.701 -295.669 -295.641 -295.587 -295.547 -295.492 -295.384 -295 
+  Bin 705: -295 -294.828 -294.759 -294.715 -294.681 -294.637 -294.608 -294.572 -294.511 -294.39 -294 
+  Bin 706: -294 -293.838 -293.76 -293.71 -293.676 -293.624 -293.594 -293.553 -293.496 -293.379 -293 
+  Bin 707: -293 -292.791 -292.735 -292.692 -292.658 -292.604 -292.58 -292.547 -292.486 -292.374 -292 
+  Bin 708: -292 -291.809 -291.75 -291.703 -291.671 -291.644 -291.589 -291.552 -291.491 -291.377 -291 
+  Bin 709: -291 -290.766 -290.708 -290.665 -290.633 -290.608 -290.559 -290.522 -290.472 -290.367 -290 
+  Bin 710: -290 -289.824 -289.749 -289.7 -289.668 -289.618 -289.591 -289.554 -289.498 -289.403 -289 
+  Bin 711: -289 -288.822 -288.749 -288.707 -288.669 -288.62 -288.591 -288.554 -288.498 -288.38 -288 
+  Bin 712: -288 -287.82 -287.749 -287.701 -287.667 -287.614 -287.59 -287.553 -287.496 -287.384 -287 
+  Bin 713: -287 -286.806 -286.74 -286.694 -286.664 -286.609 -286.582 -286.546 -286.489 -286.383 -286 
+  Bin 714: -286 -285.795 -285.734 -285.689 -285.657 -285.608 -285.581 -285.543 -285.488 -285.377 -285 
+  Bin 715: -285 -284.802 -284.729 -284.684 -284.648 -284.595 -284.567 -284.531 -284.476 -284.371 -284 
+  Bin 716: -284 -283.801 -283.715 -283.665 -283.625 -283.574 -283.55 -283.514 -283.462 -283.351 -283 
+  Bin 717: -283 -282.701 -282.653 -282.615 -282.59 -282.574 -282.526 -282.487 -282.445 -282.359 -282 
+  Bin 718: -282 -281.786 -281.705 -281.656 -281.622 -281.584 -281.557 -281.524 -281.477 -281.391 -281 
+  Bin 719: -281 -280.824 -280.755 -280.713 -280.684 -280.66 -280.605 -280.569 -280.508 -280.399 -280 
+  Bin 720: -280 -279.824 -279.749 -279.708 -279.675 -279.624 -279.594 -279.551 -279.492 -279.384 -279 
+  Bin 721: -279 -278.816 -278.741 -278.688 -278.658 -278.605 -278.577 -278.541 -278.481 -278.365 -278 
+  Bin 722: -278 -277.77 -277.697 -277.651 -277.621 -277.594 -277.531 -277.493 -277.443 -277.337 -277 
+  Bin 723: -277 -276.762 -276.698 -276.654 -276.624 -276.574 -276.548 -276.513 -276.456 -276.358 -276 
+  Bin 724: -276 -275.817 -275.739 -275.689 -275.656 -275.605 -275.577 -275.539 -275.482 -275.383 -275 
+  Bin 725: -275 -274.808 -274.732 -274.682 -274.648 -274.614 -274.568 -274.528 -274.472 -274.379 -274 
+  Bin 726: -274 -273.805 -273.719 -273.666 -273.632 -273.58 -273.55 -273.508 -273.455 -273.358 -273 
+  Bin 727: -273 -272.826 -272.742 -272.693 -272.657 -272.607 -272.579 -272.538 -272.476 -272.366 -272 
+  Bin 728: -272 -271.762 -271.705 -271.661 -271.63 -271.578 -271.553 -271.514 -271.451 -271.344 -271 
+  Bin 729: -271 -270.737 -270.698 -270.66 -270.634 -270.612 -270.561 -270.527 -270.468 -270.347 -270 
+  Bin 730: -270 -269.768 -269.715 -269.679 -269.647 -269.598 -269.575 -269.534 -269.479 -269.36 -269 
+  Bin 731: -269 -268.78 -268.713 -268.665 -268.629 -268.605 -268.559 -268.524 -268.466 -268.355 -268 
+  Bin 732: -268 -267.745 -267.688 -267.642 -267.61 -267.583 -267.532 -267.496 -267.445 -267.337 -267 
+  Bin 733: -267 -266.716 -266.672 -266.638 -266.614 -266.568 -266.544 -266.508 -266.452 -266.341 -266 
+  Bin 734: -266 -265.822 -265.74 -265.685 -265.648 -265.619 -265.565 -265.522 -265.464 -265.358 -265 
+  Bin 735: -265 -264.874 -264.803 -264.746 -264.696 -264.665 -264.63 -264.577 -264.498 -264.369 -264 
+  Bin 736: -264 -263.859 -263.796 -263.742 -263.702 -263.676 -263.621 -263.565 -263.49 -263.341 -263 
+  Bin 737: -263 -262.823 -262.749 -262.69 -262.648 -262.591 -262.559 -262.509 -262.436 -262.315 -262 
+  Bin 738: -262 -261.844 -261.76 -261.702 -261.658 -261.603 -261.569 -261.522 -261.452 -261.316 -261 
+  Bin 739: -261 -260.777 -260.737 -260.688 -260.653 -260.628 -260.569 -260.523 -260.45 -260.317 -260 
+  Bin 740: -260 -259.776 -259.737 -259.701 -259.668 -259.614 -259.579 -259.543 -259.477 -259.353 -259 
+  Bin 741: -259 -258.846 -258.757 -258.701 -258.657 -258.61 -258.576 -258.53 -258.47 -258.363 -258 
+  Bin 742: -258 -257.788 -257.743 -257.702 -257.664 -257.637 -257.583 -257.539 -257.465 -257.334 -257 
+  Bin 743: -257 -256.809 -256.747 -256.695 -256.653 -256.595 -256.567 -256.517 -256.443 -256.312 -256 
+  Bin 744: -256 -255.785 -255.748 -255.709 -255.678 -255.654 -255.603 -255.555 -255.488 -255.344 -255 
+  Bin 745: -255 -254.8 -254.753 -254.698 -254.652 -254.612 -254.581 -254.535 -254.466 -254.314 -254 
+  Bin 746: -254 -253.829 -253.776 -253.724 -253.69 -253.662 -253.602 -253.556 -253.483 -253.339 -253 
+  Bin 747: -253 -252.795 -252.737 -252.683 -252.646 -252.62 -252.568 -252.529 -252.464 -252.331 -252 
+  Bin 748: -252 -251.832 -251.782 -251.735 -251.698 -251.645 -251.613 -251.573 -251.505 -251.371 -251 
+  Bin 749: -251 -250.803 -250.765 -250.726 -250.695 -250.672 -250.62 -250.576 -250.504 -250.366 -250 
+  Bin 750: -250 -249.832 -249.772 -249.718 -249.676 -249.622 -249.591 -249.549 -249.474 -249.338 -249 
+  Bin 751: -249 -248.792 -248.758 -248.722 -248.692 -248.651 -248.615 -248.564 -248.491 -248.34 -248 
+  Bin 752: -248 -247.844 -247.783 -247.729 -247.689 -247.633 -247.602 -247.554 -247.483 -247.354 -247 
+  Bin 753: -247 -246.82 -246.76 -246.705 -246.669 -246.637 -246.574 -246.525 -246.454 -246.327 -246 
+  Bin 754: -246 -245.742 -245.704 -245.663 -245.631 -245.575 -245.545 -245.505 -245.443 -245.316 -245 
+  Bin 755: -245 -244.787 -244.747 -244.708 -244.675 -244.625 -244.596 -244.555 -244.491 -244.35 -244 
+  Bin 756: -244 -243.803 -243.757 -243.708 -243.669 -243.639 -243.578 -243.535 -243.47 -243.341 -243 
+  Bin 757: -243 -242.8 -242.755 -242.709 -242.675 -242.644 -242.578 -242.533 -242.467 -242.342 -242 
+  Bin 758: -242 -241.855 -241.777 -241.722 -241.684 -241.634 -241.604 -241.558 -241.492 -241.365 -241 
+  Bin 759: -241 -240.844 -240.767 -240.713 -240.674 -240.618 -240.587 -240.542 -240.469 -240.344 -240 
+  Bin 760: -240 -239.742 -239.702 -239.681 -239.658 -239.636 -239.583 -239.542 -239.481 -239.344 -239 
+  Bin 761: -239 -238.833 -238.764 -238.71 -238.67 -238.621 -238.592 -238.551 -238.482 -238.349 -238 
+  Bin 762: -238 -237.865 -237.803 -237.753 -237.715 -237.665 -237.638 -237.599 -237.526 -237.368 -237 
+  Bin 763: -237 -236.797 -236.748 -236.702 -236.666 -236.637 -236.575 -236.532 -236.467 -236.334 -236 
+  Bin 764: -236 -235.798 -235.738 -235.69 -235.656 -235.631 -235.576 -235.534 -235.468 -235.358 -235 
+  Bin 765: -235 -234.832 -234.757 -234.708 -234.67 -234.615 -234.58 -234.539 -234.466 -234.341 -234 
+  Bin 766: -234 -233.838 -233.765 -233.713 -233.674 -233.648 -233.591 -233.55 -233.482 -233.349 -233 
+  Bin 767: -233 -232.824 -232.749 -232.699 -232.662 -232.634 -232.578 -232.538 -232.477 -232.364 -232 
+  Bin 768: -232 -231.82 -231.749 -231.704 -231.667 -231.645 -231.591 -231.555 -231.498 -231.386 -231 
+  Bin 769: -231 -230.799 -230.739 -230.699 -230.667 -230.622 -230.593 -230.562 -230.507 -230.391 -230 
+  Bin 770: -230 -229.849 -229.783 -229.736 -229.703 -229.649 -229.624 -229.589 -229.532 -229.415 -229 
+  Bin 771: -229 -228.802 -228.755 -228.717 -228.688 -228.666 -228.613 -228.58 -228.525 -228.401 -228 
+  Bin 772: -228 -227.814 -227.755 -227.711 -227.678 -227.634 -227.609 -227.576 -227.517 -227.393 -227 
+  Bin 773: -227 -226.831 -226.774 -226.734 -226.702 -226.676 -226.627 -226.591 -226.524 -226.409 -226 
+  Bin 774: -226 -225.777 -225.727 -225.683 -225.65 -225.629 -225.575 -225.539 -225.48 -225.369 -225 
+  Bin 775: -225 -224.788 -224.733 -224.689 -224.661 -224.606 -224.583 -224.545 -224.49 -224.376 -224 
+  Bin 776: -224 -223.784 -223.723 -223.677 -223.649 -223.614 -223.566 -223.53 -223.473 -223.361 -223 
+  Bin 777: -223 -222.809 -222.752 -222.701 -222.653 -222.609 -222.576 -222.536 -222.474 -222.331 -222 
+  Bin 778: -222 -221.743 -221.618 -221.551 -221.513 -221.486 -221.439 -221.413 -221.387 -221.332 -221 
+  Bin 779: -221 -220.747 -220.693 -220.654 -220.625 -220.602 -220.556 -220.519 -220.463 -220.349 -220 
+  Bin 780: -220 -219.839 -219.783 -219.74 -219.706 -219.661 -219.635 -219.598 -219.533 -219.4 -219 
+  Bin 781: -219 -218.813 -218.763 -218.723 -218.69 -218.666 -218.607 -218.57 -218.509 -218.382 -218 
+  Bin 782: -218 -217.794 -217.741 -217.7 -217.672 -217.646 -217.594 -217.549 -217.481 -217.34 -217 
+  Bin 783: -217 -216.819 -216.784 -216.74 -216.687 -216.657 -216.624 -216.58 -216.507 -216.349 -216 
+  Bin 784: -216 -215.769 -215.653 -215.587 -215.544 -215.516 -215.465 -215.424 -215.389 -215.344 -215 
+  Bin 785: -215 -214.723 -214.671 -214.623 -214.583 -214.554 -214.507 -214.463 -214.402 -214.277 -214 
+  Bin 786: -214 -213.742 -213.702 -213.663 -213.631 -213.609 -213.556 -213.516 -213.449 -213.32 -213 
+  Bin 787: -213 -212.779 -212.738 -212.704 -212.658 -212.624 -212.596 -212.549 -212.48 -212.331 -212 
+  Bin 788: -212 -211.763 -211.65 -211.585 -211.552 -211.504 -211.486 -211.465 -211.447 -211.37 -211 
+  Bin 789: -211 -210.749 -210.703 -210.658 -210.623 -210.596 -210.544 -210.498 -210.428 -210.305 -210 
+  Bin 790: -210 -209.706 -209.669 -209.637 -209.608 -209.581 -209.527 -209.494 -209.437 -209.322 -209 
+  Bin 791: -209 -208.768 -208.731 -208.695 -208.665 -208.609 -208.582 -208.546 -208.488 -208.361 -208 
+  Bin 792: -208 -207.802 -207.754 -207.713 -207.68 -207.624 -207.597 -207.559 -207.496 -207.373 -207 
+  Bin 793: -207 -206.808 -206.728 -206.677 -206.644 -206.593 -206.566 -206.53 -206.471 -206.35 -206 
+  Bin 794: -206 -205.814 -205.759 -205.708 -205.675 -205.651 -205.593 -205.554 -205.495 -205.383 -205 
+  Bin 795: -205 -204.793 -204.726 -204.684 -204.653 -204.605 -204.575 -204.532 -204.473 -204.358 -204 
+  Bin 796: -204 -203.801 -203.746 -203.706 -203.673 -203.622 -203.594 -203.554 -203.49 -203.366 -203 
+  Bin 797: -203 -202.756 -202.718 -202.678 -202.648 -202.621 -202.572 -202.535 -202.471 -202.355 -202 
+  Bin 798: -202 -201.758 -201.727 -201.693 -201.664 -201.641 -201.589 -201.543 -201.481 -201.347 -201 
+  Bin 799: -201 -200.809 -200.763 -200.723 -200.685 -200.649 -200.622 -200.587 -200.52 -200.391 -200 
+  Bin 800: -200 -199.817 -199.747 -199.688 -199.648 -199.617 -199.566 -199.516 -199.445 -199.321 -199 
+  Bin 801: -199 -198.748 -198.711 -198.673 -198.643 -198.589 -198.562 -198.523 -198.457 -198.333 -198 
+  Bin 802: -198 -197.782 -197.73 -197.679 -197.645 -197.585 -197.558 -197.516 -197.448 -197.342 -197 
+  Bin 803: -197 -196.821 -196.749 -196.693 -196.657 -196.599 -196.569 -196.523 -196.453 -196.338 -196 
+  Bin 804: -196 -195.835 -195.757 -195.698 -195.658 -195.6 -195.566 -195.52 -195.446 -195.324 -195 
+  Bin 805: -195 -194.806 -194.737 -194.682 -194.644 -194.614 -194.56 -194.517 -194.45 -194.334 -194 
+  Bin 806: -194 -193.814 -193.728 -193.667 -193.627 -193.578 -193.546 -193.504 -193.438 -193.33 -193 
+  Bin 807: -193 -192.82 -192.739 -192.681 -192.642 -192.611 -192.561 -192.51 -192.434 -192.315 -192 
+  Bin 808: -192 -191.803 -191.727 -191.67 -191.629 -191.575 -191.548 -191.502 -191.437 -191.314 -191 
+  Bin 809: -191 -190.75 -190.701 -190.653 -190.618 -190.589 -190.533 -190.486 -190.417 -190.295 -190 
+  Bin 810: -190 -189.781 -189.731 -189.679 -189.64 -189.591 -189.559 -189.517 -189.444 -189.318 -189 
+  Bin 811: -189 -188.748 -188.659 -188.63 -188.617 -188.569 -188.557 -188.538 -188.493 -188.376 -188 
+  Bin 812: -188 -187.745 -187.668 -187.611 -187.573 -187.544 -187.497 -187.447 -187.387 -187.294 -187 
+  Bin 813: -187 -186.796 -186.711 -186.659 -186.616 -186.568 -186.538 -186.499 -186.439 -186.342 -186 
+  Bin 814: -186 -185.851 -185.763 -185.707 -185.666 -185.636 -185.575 -185.537 -185.473 -185.382 -185 
+  Bin 815: -185 -184.831 -184.742 -184.683 -184.649 -184.621 -184.569 -184.525 -184.463 -184.355 -184 
+  Bin 816: -184 -183.796 -183.721 -183.672 -183.637 -183.614 -183.554 -183.518 -183.459 -183.356 -183 
+  Bin 817: -183 -182.825 -182.75 -182.694 -182.663 -182.607 -182.583 -182.55 -182.496 -182.399 -182 
+  Bin 818: -182 -181.799 -181.722 -181.675 -181.637 -181.609 -181.555 -181.515 -181.457 -181.358 -181 
+  Bin 819: -181 -180.786 -180.703 -180.649 -180.613 -180.586 -180.534 -180.497 -180.442 -180.341 -180 
+  Bin 820: -180 -179.817 -179.741 -179.691 -179.656 -179.622 -179.58 -179.542 -179.488 -179.386 -179 
+  Bin 821: -179 -178.845 -178.755 -178.705 -178.667 -178.616 -178.59 -178.555 -178.499 -178.393 -178 
+  Bin 822: -178 -177.823 -177.741 -177.692 -177.654 -177.625 -177.579 -177.54 -177.476 -177.369 -177 
+  Bin 823: -177 -176.818 -176.746 -176.697 -176.662 -176.614 -176.588 -176.552 -176.494 -176.381 -176 
+  Bin 824: -176 -175.794 -175.723 -175.67 -175.634 -175.607 -175.552 -175.515 -175.458 -175.347 -175 
+  Bin 825: -175 -174.778 -174.731 -174.692 -174.66 -174.611 -174.585 -174.552 -174.5 -174.382 -174 
+  Bin 826: -174 -173.789 -173.726 -173.68 -173.649 -173.621 -173.574 -173.534 -173.483 -173.378 -173 
+  Bin 827: -173 -172.77 -172.708 -172.661 -172.625 -172.578 -172.552 -172.521 -172.469 -172.363 -172 
+  Bin 828: -172 -171.793 -171.731 -171.689 -171.66 -171.634 -171.586 -171.55 -171.491 -171.381 -171 
+  Bin 829: -171 -170.818 -170.745 -170.696 -170.654 -170.603 -170.581 -170.546 -170.487 -170.376 -170 
+  Bin 830: -170 -169.748 -169.691 -169.648 -169.619 -169.599 -169.557 -169.522 -169.467 -169.364 -169 
+  Bin 831: -169 -168.859 -168.791 -168.75 -168.715 -168.67 -168.641 -168.596 -168.533 -168.414 -168 
+  Bin 832: -168 -167.848 -167.774 -167.726 -167.695 -167.668 -167.622 -167.576 -167.518 -167.404 -167 
+  Bin 833: -167 -166.814 -166.769 -166.73 -166.7 -166.652 -166.627 -166.591 -166.532 -166.395 -166 
+  Bin 834: -166 -165.859 -165.812 -165.772 -165.742 -165.719 -165.667 -165.63 -165.565 -165.437 -165 
+  Bin 835: -165 -164.857 -164.786 -164.74 -164.702 -164.653 -164.627 -164.591 -164.532 -164.407 -164 
+  Bin 836: -164 -163.845 -163.791 -163.749 -163.717 -163.67 -163.64 -163.599 -163.537 -163.404 -163 
+  Bin 837: -163 -162.858 -162.774 -162.725 -162.688 -162.642 -162.609 -162.569 -162.506 -162.383 -162 
+  Bin 838: -162 -161.812 -161.755 -161.708 -161.678 -161.625 -161.597 -161.562 -161.498 -161.367 -161 
+  Bin 839: -161 -160.758 -160.711 -160.696 -160.679 -160.66 -160.612 -160.579 -160.521 -160.39 -160 
+  Bin 840: -160 -159.791 -159.761 -159.728 -159.701 -159.66 -159.633 -159.597 -159.536 -159.407 -159 
+  Bin 841: -159 -158.806 -158.768 -158.73 -158.699 -158.652 -158.628 -158.593 -158.53 -158.389 -158 
+  Bin 842: -158 -157.836 -157.784 -157.743 -157.711 -157.685 -157.637 -157.596 -157.534 -157.401 -157 
+  Bin 843: -157 -156.86 -156.822 -156.786 -156.759 -156.72 -156.684 -156.631 -156.485 -156.13 -156 
+  Bin 844: -156 -155.549 -155.296 -155.128 -155.025 -155.009 -155.008 -155.006 -155.005 -155.004 -155 
+  Bin 845: -155 -154.999 -154.998 -154.993 -154.984 -154.918 -154.499 -154.15 -154.056 -154.021 -154 
+  Bin 846: -154 -153.961 -153.929 -153.909 -153.893 -153.883 -153.747 -153.543 -153.394 -153.26 -153 
+  Bin 847: -153 -152.701 -152.554 -152.513 -152.489 -152.449 -152.433 -152.408 -152.366 -152.275 -152 
+  Bin 848: -152 -151.915 -151.873 -151.839 -151.812 -151.77 -151.743 -151.707 -151.649 -151.519 -151 
+  Bin 849: -151 -150.884 -150.826 -150.786 -150.755 -150.716 -150.693 -150.659 -150.605 -150.491 -150 
+  Bin 850: -150 -149.85 -149.804 -149.767 -149.739 -149.72 -149.677 -149.644 -149.596 -149.48 -149 
+  Bin 851: -149 -148.828 -148.781 -148.744 -148.71 -148.674 -148.649 -148.618 -148.567 -148.462 -148 
+  Bin 852: -148 -147.871 -147.821 -147.784 -147.757 -147.713 -147.689 -147.655 -147.605 -147.492 -147 
+  Bin 853: -147 -146.857 -146.804 -146.763 -146.734 -146.689 -146.669 -146.636 -146.584 -146.465 -146 
+  Bin 854: -146 -145.862 -145.808 -145.771 -145.744 -145.702 -145.677 -145.644 -145.591 -145.479 -145 
+  Bin 855: -145 -144.872 -144.817 -144.777 -144.743 -144.705 -144.684 -144.649 -144.592 -144.483 -144 
+  Bin 856: -144 -143.835 -143.788 -143.75 -143.722 -143.698 -143.652 -143.619 -143.573 -143.461 -143 
+  Bin 857: -143 -142.789 -142.756 -142.728 -142.704 -142.664 -142.645 -142.615 -142.568 -142.464 -142 
+  Bin 858: -142 -141.841 -141.786 -141.747 -141.717 -141.694 -141.652 -141.622 -141.564 -141.466 -141 
+  Bin 859: -141 -140.799 -140.761 -140.728 -140.702 -140.661 -140.639 -140.613 -140.563 -140.461 -140 
+  Bin 860: -140 -139.811 -139.78 -139.753 -139.731 -139.692 -139.664 -139.632 -139.58 -139.473 -139 
+  Bin 861: -139 -138.843 -138.807 -138.772 -138.745 -138.703 -138.682 -138.649 -138.592 -138.468 -138 
+  Bin 862: -138 -137.865 -137.813 -137.772 -137.742 -137.722 -137.676 -137.644 -137.592 -137.477 -137 
+  Bin 863: -137 -136.806 -136.773 -136.74 -136.715 -136.672 -136.646 -136.613 -136.557 -136.433 -136 
+  Bin 864: -136 -135.819 -135.785 -135.747 -135.716 -135.693 -135.644 -135.605 -135.54 -135.428 -135 
+  Bin 865: -135 -134.775 -134.744 -134.713 -134.687 -134.642 -134.615 -134.579 -134.52 -134.403 -134 
+  Bin 866: -134 -133.818 -133.776 -133.741 -133.713 -133.689 -133.637 -133.598 -133.541 -133.411 -133 
+  Bin 867: -133 -132.792 -132.752 -132.713 -132.683 -132.632 -132.606 -132.571 -132.515 -132.398 -132 
+  Bin 868: -132 -131.768 -131.731 -131.698 -131.666 -131.646 -131.598 -131.559 -131.506 -131.393 -131 
+  Bin 869: -131 -130.801 -130.75 -130.704 -130.674 -130.633 -130.604 -130.569 -130.512 -130.392 -130 
+  Bin 870: -130 -129.812 -129.761 -129.72 -129.693 -129.649 -129.623 -129.585 -129.529 -129.41 -129 
+  Bin 871: -129 -128.808 -128.749 -128.704 -128.672 -128.646 -128.602 -128.563 -128.51 -128.388 -128 
+  Bin 872: -128 -127.837 -127.786 -127.746 -127.715 -127.668 -127.641 -127.602 -127.539 -127.411 -127 
+  Bin 873: -127 -126.859 -126.795 -126.753 -126.715 -126.668 -126.644 -126.607 -126.545 -126.423 -126 
+  Bin 874: -126 -125.81 -125.752 -125.712 -125.681 -125.658 -125.61 -125.572 -125.515 -125.397 -125 
+  Bin 875: -125 -124.806 -124.755 -124.715 -124.682 -124.637 -124.611 -124.577 -124.514 -124.393 -124 
+  Bin 876: -124 -123.829 -123.768 -123.727 -123.697 -123.648 -123.622 -123.583 -123.526 -123.411 -123 
+  Bin 877: -123 -122.803 -122.756 -122.714 -122.683 -122.657 -122.611 -122.568 -122.513 -122.391 -122 
+  Bin 878: -122 -121.788 -121.749 -121.71 -121.678 -121.638 -121.613 -121.578 -121.524 -121.409 -121 
+  Bin 879: -121 -120.78 -120.733 -120.692 -120.655 -120.627 -120.577 -120.538 -120.482 -120.373 -120 
+  Bin 880: -120 -119.723 -119.687 -119.671 -119.654 -119.637 -119.596 -119.565 -119.519 -119.417 -119 
+  Bin 881: -119 -118.786 -118.751 -118.724 -118.699 -118.664 -118.643 -118.615 -118.564 -118.463 -118 
+  Bin 882: -118 -117.767 -117.733 -117.703 -117.678 -117.658 -117.62 -117.588 -117.539 -117.435 -117 
+  Bin 883: -117 -116.821 -116.774 -116.735 -116.706 -116.662 -116.638 -116.607 -116.558 -116.451 -116 
+  Bin 884: -116 -115.865 -115.813 -115.774 -115.743 -115.698 -115.675 -115.643 -115.589 -115.469 -115 
+  Bin 885: -115 -114.777 -114.733 -114.701 -114.672 -114.654 -114.612 -114.58 -114.526 -114.418 -114 
+  Bin 886: -114 -113.78 -113.745 -113.711 -113.685 -113.645 -113.623 -113.592 -113.542 -113.434 -113 
+  Bin 887: -113 -112.815 -112.766 -112.727 -112.702 -112.681 -112.638 -112.604 -112.55 -112.437 -112 
+  Bin 888: -112 -111.834 -111.791 -111.751 -111.725 -111.686 -111.663 -111.628 -111.578 -111.456 -111 
+  Bin 889: -111 -110.832 -110.793 -110.756 -110.729 -110.68 -110.656 -110.621 -110.567 -110.448 -110 
+  Bin 890: -110 -109.771 -109.737 -109.708 -109.679 -109.638 -109.616 -109.585 -109.534 -109.421 -109 
+  Bin 891: -109 -108.773 -108.736 -108.707 -108.678 -108.658 -108.614 -108.584 -108.534 -108.429 -108 
+  Bin 892: -108 -107.783 -107.738 -107.707 -107.68 -107.64 -107.617 -107.582 -107.528 -107.418 -107 
+  Bin 893: -107 -106.823 -106.782 -106.744 -106.719 -106.68 -106.655 -106.622 -106.568 -106.461 -106 
+  Bin 894: -106 -105.805 -105.752 -105.71 -105.681 -105.659 -105.614 -105.578 -105.522 -105.415 -105 
+  Bin 895: -105 -104.841 -104.788 -104.752 -104.718 -104.679 -104.655 -104.616 -104.555 -104.428 -104 
+  Bin 896: -104 -103.848 -103.8 -103.761 -103.73 -103.707 -103.653 -103.609 -103.541 -103.411 -103 
+  Bin 897: -103 -102.751 -102.71 -102.67 -102.638 -102.612 -102.568 -102.529 -102.474 -102.37 -102 
+  Bin 898: -102 -101.768 -101.722 -101.685 -101.657 -101.634 -101.588 -101.555 -101.504 -101.388 -101 
+  Bin 899: -101 -100.837 -100.78 -100.735 -100.705 -100.663 -100.633 -100.595 -100.537 -100.42 -100 
+  Bin 900: -100 -99.7859 -99.7446 -99.7092 -99.6775 -99.6357 -99.612 -99.5757 -99.5219 -99.4134 -99 
+  Bin 901: -99 -98.6741 -98.6228 -98.5748 -98.536 -98.5031 -98.4512 -98.4139 -98.3706 -98.2763 -98 
+  Bin 902: -98 -97.6798 -97.6282 -97.5991 -97.5751 -97.5571 -97.5316 -97.4948 -97.4479 -97.3541 -97 
+  Bin 903: -97 -96.4444 -96.3168 -96.2046 -96.0839 -96.0142 -96.0049 -96.0006 -95.9994 -95.9994 -96 
+  Bin 904: -96 -95.4996 -95.4996 -95.4996 -95.4996 -95.4996 -95.4996 -95.4996 -95.4996 -95.4996 -95 
+  Bin 905: -95 -nan -nan -nan -nan -nan -nan -nan -nan -nan -94 
+  Bin 906: -94 -94 -93.9999 -93.8147 -93.7267 -93.713 -93.6951 -93.6472 -93.5882 -93.4646 -93 
+  Bin 907: -93 -92.7511 -92.719 -92.6959 -92.6586 -92.6352 -92.6124 -92.5771 -92.517 -92.3506 -92 
+  Bin 908: -92 -91.8885 -91.8617 -91.8365 -91.8124 -91.7917 -91.7398 -91.6996 -91.6315 -91.492 -91 
+  Bin 909: -91 -90.7418 -90.7084 -90.6891 -90.6674 -90.6485 -90.602 -90.5707 -90.5132 -90.3916 -90 
+  Bin 910: -90 -89.7639 -89.7267 -89.7033 -89.6814 -89.6432 -89.622 -89.5871 -89.5367 -89.4346 -89 
+  Bin 911: -89 -88.7559 -88.7265 -88.6949 -88.6662 -88.643 -88.6013 -88.559 -88.5018 -88.3865 -88 
+  Bin 912: -88 -87.7509 -87.7163 -87.6919 -87.6718 -87.6268 -87.6049 -87.5703 -87.515 -87.3974 -87 
+  Bin 913: -87 -86.7495 -86.7194 -86.6941 -86.6703 -86.6295 -86.6066 -86.572 -86.5202 -86.4021 -86 
+  Bin 914: -86 -85.7407 -85.7049 -85.6682 -85.6385 -85.5888 -85.5614 -85.5268 -85.4702 -85.3669 -85 
+  Bin 915: -85 -84.6809 -84.6459 -84.6134 -84.5884 -84.5655 -84.5272 -84.4915 -84.4408 -84.342 -84 
+  Bin 916: -84 -83.8015 -83.7748 -83.7501 -83.7253 -83.6955 -83.6674 -83.618 -83.5121 -83.1655 -83 
+  Bin 917: -83 -82.5964 -82.3526 -82.1906 -82.0764 -82.0267 -82.0231 -82.02 -82.014 -82.0077 -82 
+  Bin 918: -82 -81.9983 -81.9936 -81.9835 -81.9468 -81.6751 -81.2598 -81.096 -81.038 -81.0133 -81 
+  Bin 919: -81 -80.9644 -80.9397 -80.9171 -80.8999 -80.8895 -80.7773 -80.5883 -80.4391 -80.2706 -80 
+  Bin 920: -80 -79.7879 -79.5963 -79.55 -79.529 -79.4967 -79.4743 -79.4334 -79.3428 -79.1018 -79 
+  Bin 921: -79 -78.6999 -78.488 -78.3283 -78.1767 -78.0871 -78.0756 -78.0598 -78.0435 -78.0259 -78 
+  Bin 922: -78 -77.9907 -77.9759 -77.9482 -77.8778 -77.603 -77.1434 -77.0616 -77.0281 -77.0106 -77 
+  Bin 923: -77 -76.958 -76.9262 -76.9003 -76.8739 -76.8574 -76.7055 -76.5564 -76.4049 -76.2279 -76 
+  Bin 924: -76 -75.8536 -75.558 -75.4641 -75.4377 -75.4184 -75.3966 -75.3677 -75.3312 -75.257 -75 
+  Bin 925: -75 -74.4134 -74.3138 -74.2085 -74.0745 -73.9972 -73.9972 -73.9972 -73.997 -73.997 -74 
+  Bin 926: -74 -74 -74 -74 -74 -74 -74 -73.0013 -73.0013 -73.0013 -73 
+  Bin 927: -73 -72.6654 -72.6654 -72.6654 -72.6654 -72.6654 -72.6654 -72.6654 -72.3328 -72.3328 -72 
+  Bin 928: -72 -71.9998 -71.9998 -71.9998 -71.9998 -71.9998 -71.9693 -71.893 -71.803 -71.6303 -71 
+  Bin 929: -71 -70.7225 -70.679 -70.6545 -70.6198 -70.5931 -70.5722 -70.5425 -70.4855 -70.344 -70 
+  Bin 930: -70 -69.906 -69.8819 -69.854 -69.8327 -69.8155 -69.7657 -69.7238 -69.6525 -69.4957 -69 
+  Bin 931: -69 -68.8796 -68.8323 -68.7883 -68.7516 -68.7087 -68.6802 -68.6437 -68.5815 -68.4409 -68 
+  Bin 932: -68 -67.7997 -67.7669 -67.7448 -67.7239 -67.7044 -67.6621 -67.6241 -67.5656 -67.4454 -67 
+  Bin 933: -67 -66.7668 -66.7269 -66.7045 -66.6816 -66.6397 -66.6184 -66.5869 -66.5347 -66.4113 -66 
+  Bin 934: -66 -65.8086 -65.7806 -65.7509 -65.7237 -65.6831 -65.6584 -65.6234 -65.5649 -65.4362 -65 
+  Bin 935: -65 -64.7928 -64.759 -64.7363 -64.7114 -64.6708 -64.648 -64.612 -64.5567 -64.4407 -64 
+  Bin 936: -64 -63.8039 -63.7752 -63.7486 -63.7208 -63.6993 -63.6534 -63.618 -63.5545 -63.4294 -63 
+  Bin 937: -63 -62.816 -62.7879 -62.7604 -62.7351 -62.691 -62.666 -62.6327 -62.5731 -62.4519 -62 
+  Bin 938: -62 -61.7716 -61.7377 -61.7129 -61.6894 -61.669 -61.628 -61.5939 -61.5358 -61.41 -61 
+  Bin 939: -61 -60.7831 -60.7512 -60.7313 -60.7095 -60.6694 -60.6465 -60.6138 -60.5547 -60.4252 -60 
+  Bin 940: -60 -59.7872 -59.7551 -59.735 -59.7138 -59.6947 -59.6558 -59.6224 -59.566 -59.4465 -59 
+  Bin 941: -59 -58.777 -58.7448 -58.7211 -58.695 -58.6558 -58.6335 -58.6015 -58.5488 -58.4318 -58 
+  Bin 942: -58 -57.7887 -57.7514 -57.722 -57.6931 -57.6697 -57.6243 -57.5905 -57.5354 -57.4167 -57 
+  Bin 943: -57 -56.8123 -56.7709 -56.74 -56.7088 -56.6732 -56.6417 -56.5995 -56.5281 -56.3872 -56 
+  Bin 944: -56 -55.8144 -55.78 -55.7565 -55.73 -55.6909 -55.6597 -55.6181 -55.5526 -55.4151 -55 
+  Bin 945: -55 -54.7432 -54.651 -54.6148 -54.6017 -54.5959 -54.5652 -54.5451 -54.496 -54.3772 -54 
+  Bin 946: -54 -53.7648 -53.6925 -53.6726 -53.6653 -53.633 -53.619 -53.5891 -53.5391 -53.3985 -53 
+  Bin 947: -53 -52.7752 -52.6976 -52.6658 -52.6546 -52.626 -52.6202 -52.6014 -52.5529 -52.4196 -52 
+  Bin 948: -52 -51.7905 -51.7149 -51.6847 -51.6736 -51.6518 -51.6396 -51.6188 -51.5671 -51.4344 -51 
+  Bin 949: -51 -50.7726 -50.6872 -50.6448 -50.6203 -50.5899 -50.5846 -50.578 -50.5397 -50.424 -50 
+  Bin 950: -50 -49.7742 -49.6899 -49.6496 -49.6267 -49.5965 -49.5887 -49.5808 -49.5427 -49.4123 -49 
+  Bin 951: -49 -48.7748 -48.6893 -48.6462 -48.622 -48.591 -48.5844 -48.5754 -48.5354 -48.4135 -48 
+  Bin 952: -48 -47.7695 -47.6772 -47.6305 -47.6039 -47.5647 -47.5475 -47.5383 -47.512 -47.3986 -47 
+  Bin 953: -47 -46.7796 -46.6967 -46.6543 -46.6299 -46.593 -46.5856 -46.5768 -46.5478 -46.4266 -46 
+  Bin 954: -46 -45.7702 -45.69 -45.6482 -45.6259 -45.6156 -45.5892 -45.5782 -45.5417 -45.4196 -45 
+  Bin 955: -45 -44.7097 -44.6163 -44.5805 -44.5669 -44.5386 -44.5308 -44.5113 -44.4714 -44.3792 -44 
+  Bin 956: -44 -43.7301 -43.6299 -43.5824 -43.5626 -43.5515 -43.5361 -43.5149 -43.4788 -43.3732 -43 
+  Bin 957: -43 -42.3932 -42.1961 -42.0982 -42.0255 -41.9974 -41.9974 -41.9974 -41.9974 -41.9974 -42 
+  Bin 958: -42 -nan -nan -nan -nan -nan -nan -nan -nan -nan -41 
+  Bin 959: -41 -40.4985 -40.4985 -39.9976 -39.9976 -39.9976 -39.9976 -39.9976 -39.9976 -39.9976 -40 
+  Bin 960: -40 -39.9999 -39.9999 -39.9999 -39.9999 -39.9997 -39.9745 -39.9231 -39.8796 -39.7259 -39 
+  Bin 961: -39 -38.735 -38.6567 -38.6288 -38.6129 -38.5946 -38.5838 -38.5573 -38.5035 -38.3094 -38 
+  Bin 962: -38 -37.8654 -37.8108 -37.7897 -37.7762 -37.748 -37.7384 -37.7235 -37.6693 -37.5271 -37 
+  Bin 963: -37 -36.7823 -36.7071 -36.67 -36.6515 -36.6212 -36.6149 -36.6034 -36.5657 -36.4481 -36 
+  Bin 964: -36 -35.7664 -35.6914 -35.6593 -35.6446 -35.6158 -35.6077 -35.5904 -35.5458 -35.4198 -35 
+  Bin 965: -35 -34.7826 -34.7016 -34.6647 -34.6464 -34.6138 -34.6057 -34.5943 -34.5619 -34.4577 -34 
+  Bin 966: -34 -33.7494 -33.6558 -33.6128 -33.5857 -33.5703 -33.5368 -33.5262 -33.5035 -33.4072 -33 
+  Bin 967: -33 -32.7635 -32.6806 -32.6421 -32.6203 -32.6104 -32.5774 -32.569 -32.5417 -32.4383 -32 
+  Bin 968: -32 -31.7579 -31.6771 -31.6387 -31.6179 -31.5892 -31.5761 -31.5629 -31.5366 -31.4411 -31 
+  Bin 969: -31 -30.7676 -30.6958 -30.6677 -30.6553 -30.6282 -30.6215 -30.6037 -30.5602 -30.4442 -30 
+  Bin 970: -30 -29.7511 -29.6731 -29.6485 -29.6399 -29.6352 -29.6077 -29.5907 -29.5509 -29.4494 -29 
+  Bin 971: -29 -28.7465 -28.681 -28.6627 -28.6561 -28.6352 -28.6123 -28.5867 -28.5403 -28.4214 -28 
+  Bin 972: -28 -27.7855 -27.727 -27.7109 -27.7005 -27.6695 -27.6548 -27.6268 -27.5756 -27.4577 -27 
+  Bin 973: -27 -26.7668 -26.7119 -26.6979 -26.6868 -26.6742 -26.6336 -26.6044 -26.5514 -26.4264 -26 
+  Bin 974: -26 -25.7702 -25.7225 -25.7071 -25.6931 -25.6562 -25.6301 -25.5999 -25.5458 -25.4067 -25 
+  Bin 975: -25 -24.7858 -24.7192 -24.7021 -24.6905 -24.663 -24.6465 -24.6182 -24.5637 -24.4286 -24 
+  Bin 976: -24 -23.7671 -23.6952 -23.6744 -23.6676 -23.6585 -23.6187 -23.5855 -23.5203 -23.3848 -23 
+  Bin 977: -23 -22.7505 -22.6882 -22.673 -22.6572 -22.619 -22.5986 -22.5629 -22.5047 -22.3826 -22 
+  Bin 978: -22 -21.7203 -21.6362 -21.6103 -21.6024 -21.5929 -21.5596 -21.5272 -21.4758 -21.3662 -21 
+  Bin 979: -21 -20.7422 -20.6631 -20.6398 -20.6306 -20.5962 -20.578 -20.5475 -20.49 -20.3584 -20 
+  Bin 980: -20 -19.7796 -19.7275 -19.7115 -19.6912 -19.6525 -19.626 -19.5899 -19.5253 -19.3876 -19 
+  Bin 981: -19 -18.7431 -18.6681 -18.6506 -18.6408 -18.6278 -18.5865 -18.5529 -18.4938 -18.3656 -18 
+  Bin 982: -18 -17.7578 -17.6939 -17.6791 -17.6616 -17.624 -17.6025 -17.5661 -17.5068 -17.37 -17 
+  Bin 983: -17 -16.7478 -16.6694 -16.6476 -16.6394 -16.6289 -16.5905 -16.5565 -16.5019 -16.3844 -16 
+  Bin 984: -16 -15.7375 -15.6593 -15.6367 -15.6276 -15.6162 -15.575 -15.5433 -15.4846 -15.3561 -15 
+  Bin 985: -15 -14.7655 -14.7035 -14.6892 -14.6706 -14.6309 -14.6083 -14.5716 -14.5093 -14.3752 -14 
+  Bin 986: -14 -13.7386 -13.6532 -13.6263 -13.6197 -13.5916 -13.5748 -13.5418 -13.4865 -13.3657 -13 
+  Bin 987: -13 -12.7282 -12.6403 -12.6071 -12.5988 -12.5926 -12.5618 -12.5356 -12.4784 -12.3562 -12 
+  Bin 988: -12 -11.7439 -11.6623 -11.6331 -11.6234 -11.592 -11.5786 -11.553 -11.5012 -11.3708 -11 
+  Bin 989: -11 -10.7578 -10.6731 -10.6422 -10.6324 -10.6255 -10.5925 -10.565 -10.5079 -10.3808 -10 
+  Bin 990: -10 -9.75263 -9.67593 -9.65519 -9.64425 -9.60812 -9.58942 -9.56201 -9.50382 -9.37883 -9 
+  Bin 991: -9 -8.7136 -8.62565 -8.59305 -8.58387 -8.57637 -8.54833 -8.52117 -8.4736 -8.3622 -8 
+  Bin 992: -8 -7.72358 -7.64465 -7.62074 -7.61178 -7.58523 -7.57439 -7.55011 -7.50336 -7.39512 -7 
+  Bin 993: -7 -6.75084 -6.68583 -6.6698 -6.65998 -6.62914 -6.61203 -6.58352 -6.52999 -6.41318 -6 
+  Bin 994: -6 -5.7571 -5.68628 -5.66382 -5.65493 -5.64871 -5.618 -5.59346 -5.54679 -5.43593 -5 
+  Bin 995: -5 -4.74345 -4.66605 -4.63998 -4.63186 -4.62574 -4.59801 -4.57494 -4.53201 -4.42125 -4 
+  Bin 996: -4 -3.74385 -3.67135 -3.65039 -3.64274 -3.61481 -3.60067 -3.57591 -3.52848 -3.42884 -3 
+  Bin 997: -3 -2.74908 -2.68373 -2.6659 -2.65715 -2.62848 -2.61313 -2.5851 -2.53483 -2.41661 -2 
+  Bin 998: -2 -1.74032 -1.67658 -1.66238 -1.64652 -1.61025 -1.59122 -1.56123 -1.51639 -1.4062 -1 
+  Bin 999: -1 -0.732216 -0.655046 -0.634542 -0.625904 -0.618536 -0.585297 -0.558074 -0.508709 -0.394938 0 
+  Bin 1000: 0 0.262514 0.323888 0.339741 0.351582 0.383934 0.401723 0.429292 0.476092 0.586101 1 
+  Bin 1001: 1 1.25253 1.31677 1.33001 1.33885 1.36973 1.38684 1.41422 1.46299 1.57585 2 
+  Bin 1002: 2 2.27545 2.35314 2.37343 2.38242 2.39157 2.42517 2.44989 2.49508 2.60107 3 
+  Bin 1003: 3 3.25699 3.32317 3.33925 3.35212 3.38429 3.40209 3.43101 3.48143 3.59588 4 
+  Bin 1004: 4 4.2455 4.30708 4.32415 4.33347 4.34453 4.38116 4.4119 4.46387 4.58114 5 
+  Bin 1005: 5 5.25995 5.32538 5.34115 5.35321 5.38243 5.3992 5.42545 5.47853 5.59564 6 
+  Bin 1006: 6 6.25656 6.30692 6.32374 6.34364 6.36229 6.4036 6.43516 6.48607 6.59137 7 
+  Bin 1007: 7 7.25904 7.32243 7.34084 7.35195 7.38171 7.40008 7.42824 7.47663 7.59089 8 
+  Bin 1008: 8 8.21834 8.25513 8.27626 8.29657 8.33733 8.36096 8.39393 8.44753 8.56503 9 
+  Bin 1009: 9 9.27112 9.33247 9.34735 9.35854 9.37054 9.40722 9.43575 9.4836 9.5901 10 
+  Bin 1010: 10 10.2624 10.3066 10.3232 10.344 10.3841 10.4043 10.4359 10.4848 10.5869 11 
+  Bin 1011: 11 11.2719 11.3194 11.3341 11.3533 11.3701 11.4088 11.4396 11.4902 11.5896 12 
+  Bin 1012: 12 12.2818 12.3422 12.3585 12.3718 12.4052 12.4252 12.4503 12.4993 12.6032 13 
+  Bin 1013: 13 13.2659 13.3319 13.3478 13.3558 13.3654 13.4007 13.4262 13.4723 13.5839 14 
+  Bin 1014: 14 14.2573 14.3129 14.3277 14.3451 14.3777 14.3968 14.4243 14.4728 14.576 15 
+  Bin 1015: 15 15.2662 15.3322 15.3506 15.3574 15.3653 15.3952 15.4237 15.4728 15.5848 16 
+  Bin 1016: 16 16.2702 16.3307 16.3457 16.3643 16.3973 16.4157 16.4455 16.4942 16.604 17 
+  Bin 1017: 17 17.2594 17.3237 17.338 17.3456 17.3564 17.3907 17.4225 17.4746 17.5901 18 
+  Bin 1018: 18 18.2603 18.323 18.3366 18.3455 18.377 18.395 18.4232 18.4693 18.5788 19 
+  Bin 1019: 19 19.2715 19.3344 19.3475 19.36 19.3731 19.4102 19.4389 19.4891 19.5972 20 
+  Bin 1020: 20 20.268 20.3045 20.3269 20.351 20.3911 20.4137 20.4444 20.4965 20.6053 21 
+  Bin 1021: 21 21.2752 21.3184 21.3345 21.354 21.3714 21.4092 21.4397 21.4905 21.5949 22 
+  Bin 1022: 22 22.2592 22.2926 22.3197 22.3463 22.3688 22.4118 22.4508 22.5071 22.6303 23 
+  Bin 1023: 23 23.2127 23.2669 23.2871 23.3085 23.3239 23.3468 23.3824 23.4468 23.6027 24 
+  Bin 1024: 24 24.2427 24.3184 24.3449 24.3566 24.3919 24.4204 24.4603 24.5273 24.6755 25 
+  Bin 1025: 25 25.2353 25.3259 25.3609 25.3708 25.3987 25.4201 25.4579 25.5255 25.6669 26 
+  Bin 1026: 26 26.2338 26.3197 26.3687 26.391 26.399 26.4235 26.4506 26.5126 26.6579 27 
+  Bin 1027: 27 27.2318 27.3179 27.3583 27.3688 27.3941 27.4132 27.4448 27.5068 27.6403 28 
+  Bin 1028: 28 28.2441 28.3341 28.3742 28.3868 28.3935 28.4264 28.4605 28.5221 28.6551 29 
+  Bin 1029: 29 29.2419 29.3226 29.3525 29.3627 29.3922 29.4147 29.4515 29.5127 29.6511 30 
+  Bin 1030: 30 30.2266 30.3083 30.3432 30.3556 30.3817 30.4001 30.4338 30.4944 30.6402 31 
+  Bin 1031: 31 31.2343 31.3177 31.3563 31.3686 31.3765 31.4075 31.4408 31.5072 31.6496 32 
+  Bin 1032: 32 32.2461 32.334 32.3753 32.389 32.4158 32.4295 32.4612 32.5227 32.6607 33 
+  Bin 1033: 33 33.2367 33.3193 33.3514 33.3608 33.3701 33.4069 33.4419 33.503 33.6499 34 
+  Bin 1034: 34 34.2426 34.3295 34.367 34.3787 34.4029 34.4194 34.4514 34.5141 34.6535 35 
+  Bin 1035: 35 35.246 35.3399 35.3869 35.4106 35.4392 35.4466 35.4698 35.5259 35.6581 36 
+  Bin 1036: 36 36.2395 36.3283 36.3741 36.3917 36.4209 36.4321 36.4624 36.5261 36.6819 37 
+  Bin 1037: 37 37.2211 37.2992 37.3292 37.3408 37.3687 37.3917 37.4301 37.4977 37.6441 38 
+  Bin 1038: 38 38.2544 38.3563 38.4066 38.4285 38.4377 38.4626 38.4905 38.5446 38.6614 39 
+  Bin 1039: 39 39.2717 39.358 39.3878 39.3973 39.4116 39.4462 39.48 39.5396 39.663 40 
+  Bin 1040: 40 40.2433 40.3192 40.3597 40.3784 40.3875 40.4108 40.4304 40.4759 40.5889 41 
+  Bin 1041: 41 41.2773 41.3648 41.3978 41.4096 41.4315 41.4411 41.4611 41.5072 41.6002 42 
+  Bin 1042: 42 42.27 42.3554 42.3991 42.4175 42.4249 42.4451 42.4648 42.5051 42.5996 43 
+  Bin 1043: 43 43.2032 43.2633 43.2888 43.3005 43.3183 43.3366 43.3872 43.5091 43.8412 44 
+  Bin 1044: 44 44.2692 44.5028 44.6864 44.8324 44.9251 44.934 44.9449 44.9586 44.9748 45 
+  Bin 1045: 45 45.0067 45.0203 45.0438 45.1113 45.4565 45.8612 45.9454 45.9753 45.9903 46 
+  Bin 1046: 46 46.0223 46.0401 46.056 46.0686 46.0777 46.1712 46.2946 46.462 46.6824 47 
+  Bin 1047: 47 47.2784 47.4582 47.5361 47.5723 47.597 47.6006 47.6119 47.6421 47.7282 48 
+  Bin 1048: 48 48.2033 48.2736 48.3059 48.3201 48.3402 48.3486 48.371 48.4255 48.5747 49 
+  Bin 1049: 49 49.2077 49.2787 49.3152 49.331 49.3379 49.3595 49.3761 49.4268 49.5542 50 
+  Bin 1050: 50 50.2225 50.3018 50.3464 50.3698 50.3955 50.401 50.4121 50.452 50.5655 51 
+  Bin 1051: 51 51.2468 51.3307 51.3692 51.3882 51.3954 51.4181 51.434 51.4755 51.5874 52 
+  Bin 1052: 52 52.2521 52.3341 52.365 52.375 52.3984 52.4101 52.4334 52.4806 52.5967 53 
+  Bin 1053: 53 53.2285 53.2919 53.3067 53.3163 53.3474 53.3689 53.3993 53.4595 53.5958 54 
+  Bin 1054: 54 54.2261 54.2929 54.3127 54.3202 54.3362 54.3645 54.3975 54.4503 54.5774 55 
+  Bin 1055: 55 55.2317 55.3117 55.3457 55.3591 55.3818 55.3959 55.426 55.48 55.6129 56 
+  Bin 1056: 56 56.2367 56.3221 56.3611 56.3772 56.3833 56.4106 56.4382 56.4943 56.6263 57 
+  Bin 1057: 57 57.2538 57.3445 57.3875 57.4029 57.4247 57.4366 57.4637 57.5177 57.6427 58 
+  Bin 1058: 58 58.2495 58.3348 58.3667 58.3748 58.3966 58.4139 58.4452 58.5039 58.6317 59 
+  Bin 1059: 59 59.2501 59.3471 59.3961 59.4261 59.4437 59.4723 59.4817 59.5179 59.6298 60 
+  Bin 1060: 60 60.2431 60.3127 60.3322 60.3504 60.3851 60.4093 60.4486 60.51 60.6465 61 
+  Bin 1061: 61 61.2321 61.3113 61.3499 61.3626 61.3774 61.3949 61.4255 61.4844 61.6153 62 
+  Bin 1062: 62 62.2662 62.3608 62.4045 62.4169 62.4392 62.4536 62.4832 62.5383 62.6611 63 
+  Bin 1063: 63 63.2673 63.3592 63.3974 63.4105 63.4176 63.4458 63.4774 63.5335 63.6633 64 
+  Bin 1064: 64 64.2394 64.3258 64.37 64.3856 64.4089 64.4215 64.4513 64.5109 64.6462 65 
+  Bin 1065: 65 65.2518 65.3426 65.3895 65.4123 65.4207 65.4438 65.4662 65.5183 65.6375 66 
+  Bin 1066: 66 66.2659 66.3623 66.4141 66.4423 66.4733 66.4809 66.4962 66.5399 66.6509 67 
+  Bin 1067: 67 67.2522 67.3421 67.3771 67.3891 67.4079 67.4294 67.4623 67.5242 67.6542 68 
+  Bin 1068: 68 68.2397 68.3274 68.3709 68.3912 68.4127 68.4218 68.4481 68.505 68.6361 69 
+  Bin 1069: 69 69.2649 69.3602 69.4079 69.429 69.437 69.4581 69.479 69.5295 69.644 70 
+  Bin 1070: 70 70.2755 70.3675 70.3938 70.4045 70.4205 70.4606 70.4939 70.5528 70.6787 71 
+  Bin 1071: 71 71.209 71.2722 71.2896 71.316 71.3441 71.3689 71.409 71.4797 71.642 72 
+  Bin 1072: 72 72.2391 72.3171 72.3405 72.35 72.3635 72.4012 72.4457 72.5077 72.6401 73 
+  Bin 1073: 73 73.2812 73.3797 73.4196 73.4321 73.4596 73.4771 73.5098 73.5664 73.688 74 
+  Bin 1074: 74 74.2661 74.3508 74.3765 74.389 74.4219 74.4464 74.483 74.5446 74.6698 75 
+  Bin 1075: 75 75.273 75.365 75.4057 75.4169 75.4249 75.4582 75.4938 75.5543 75.6733 76 
+  Bin 1076: 76 76.2715 76.3537 76.3755 76.3937 76.429 76.453 76.491 76.5514 76.6805 77 
+  Bin 1077: 77 77.2776 77.362 77.383 77.3951 77.4294 77.4525 77.4889 77.5531 77.6854 78 
+  Bin 1078: 78 78.2802 78.3727 78.4094 78.4205 78.4293 78.462 78.4956 78.5548 78.6807 79 
+  Bin 1079: 79 79.2679 79.3326 79.3558 79.3814 79.4234 79.4479 79.4863 79.5481 79.6806 80 
+  Bin 1080: 80 80.2757 80.3607 80.3889 80.3981 80.4063 80.4386 80.4683 80.523 80.6399 81 
+  Bin 1081: 81 81.3013 81.3902 81.4127 81.4231 81.4535 81.4731 81.5031 81.5568 81.669 82 
+  Bin 1082: 82 82.2724 82.3458 82.3635 82.3751 82.3902 82.4254 82.4601 82.5193 82.6384 83 
+  Bin 1083: 83 83.2505 83.3249 83.3449 83.3538 83.3824 83.4024 83.4348 83.4941 83.6318 84 
+  Bin 1084: 84 84.2428 84.31 84.3261 84.3431 84.3773 84.4015 84.4392 84.5025 84.6326 85 
+  Bin 1085: 85 85.2755 85.3562 85.3792 85.3874 85.3991 85.4322 85.4665 85.5276 85.6508 86 
+  Bin 1086: 86 86.2499 86.3381 86.3736 86.3843 86.4072 86.4209 86.4507 86.5096 86.6392 87 
+  Bin 1087: 87 87.251 87.3375 87.3804 87.4059 87.4187 87.4394 87.4518 87.4918 87.6047 88 
+  Bin 1088: 88 88.2397 88.3373 88.3892 88.4185 88.4518 88.4652 88.474 88.5086 88.6208 89 
+  Bin 1089: 89 89.2652 89.3522 89.3976 89.4204 89.4406 89.4465 89.46 89.5042 89.6075 90 
+  Bin 1090: 90 90.2497 90.3421 90.3901 90.4121 90.4232 90.4484 90.4639 90.5148 90.6422 91 
+  Bin 1091: 91 91.2503 91.3388 91.381 91.4031 91.4258 91.4319 91.4495 91.4955 91.6162 92 
+  Bin 1092: 92 92.2481 92.3412 92.3921 92.4187 92.4328 92.4573 92.467 92.5092 92.6272 93 
+  Bin 1093: 93 93.2457 93.3333 93.3743 93.4011 93.4327 93.4401 93.4508 93.4944 93.6201 94 
+  Bin 1094: 94 94.2471 94.3424 94.391 94.4209 94.4516 94.4626 94.4709 94.5027 94.6061 95 
+  Bin 1095: 95 95.254 95.3535 95.4045 95.4313 95.4451 95.4696 95.4795 95.5228 95.6431 96 
+  Bin 1096: 96 96.2475 96.3375 96.3849 96.4098 96.4391 96.446 96.4574 96.4996 96.617 97 
+  Bin 1097: 97 97.2416 97.3384 97.3891 97.4211 97.442 97.4729 97.4835 97.5069 97.612 98 
+  Bin 1098: 98 98.2442 98.3389 98.3886 98.4155 98.4512 98.4607 98.4714 98.5098 98.6314 99 
+  Bin 1099: 99 99.243 99.3325 99.3801 99.4107 99.4457 99.4591 99.4681 99.4946 99.6031 100 
+  Bin 1100: 100 100.268 100.368 100.416 100.444 100.46 100.489 100.498 100.531 100.643 101 
+  Bin 1101: 101 101.263 101.351 101.387 101.4 101.423 101.434 101.457 101.509 101.635 102 
+  Bin 1102: 102 102.254 102.341 102.38 102.399 102.422 102.427 102.444 102.493 102.609 103 
+  Bin 1103: 103 103.255 103.344 103.383 103.398 103.416 103.425 103.449 103.501 103.624 104 
+  Bin 1104: 104 104.257 104.344 104.386 104.404 104.41 104.434 104.456 104.511 104.63 105 
+  Bin 1105: 105 105.261 105.348 105.396 105.416 105.439 105.446 105.466 105.513 105.626 106 
+  Bin 1106: 106 106.268 106.357 106.399 106.417 106.438 106.444 106.465 106.513 106.632 107 
+  Bin 1107: 107 107.266 107.349 107.389 107.403 107.416 107.438 107.464 107.517 107.636 108 
+  Bin 1108: 108 108.27 108.356 108.386 108.397 108.416 108.43 108.459 108.512 108.63 109 
+  Bin 1109: 109 109.29 109.379 109.412 109.424 109.43 109.459 109.488 109.544 109.658 110 
+  Bin 1110: 110 110.275 110.363 110.393 110.404 110.431 110.449 110.479 110.533 110.654 111 
+  Bin 1111: 111 111.233 111.317 111.353 111.367 111.386 111.396 111.419 111.475 111.603 112 
+  Bin 1112: 112 112.27 112.351 112.384 112.395 112.401 112.427 112.454 112.511 112.633 113 
+  Bin 1113: 113 113.263 113.356 113.392 113.403 113.426 113.438 113.464 113.515 113.632 114 
+  Bin 1114: 114 114.262 114.343 114.378 114.388 114.395 114.424 114.451 114.509 114.636 115 
+  Bin 1115: 115 115.254 115.343 115.378 115.39 115.412 115.425 115.452 115.509 115.635 116 
+  Bin 1116: 116 116.27 116.359 116.393 116.403 116.427 116.445 116.474 116.531 116.658 117 
+  Bin 1117: 117 117.274 117.363 117.4 117.412 117.419 117.447 117.474 117.528 117.652 118 
+  Bin 1118: 118 118.267 118.363 118.405 118.429 118.449 118.456 118.476 118.527 118.651 119 
+  Bin 1119: 119 119.224 119.321 119.372 119.401 119.421 119.445 119.461 119.511 119.653 120 
+  Bin 1120: 120 120.254 120.343 120.389 120.413 120.435 120.448 120.466 120.518 120.649 121 
+  Bin 1121: 121 121.25 121.346 121.394 121.414 121.434 121.445 121.476 121.539 121.684 122 
+  Bin 1122: 122 122.213 122.304 122.35 122.377 122.403 122.411 122.432 122.492 122.642 123 
+  Bin 1123: 123 123.229 123.324 123.374 123.403 123.429 123.443 123.455 123.505 123.643 124 
+  Bin 1124: 124 124.234 124.324 124.368 124.387 124.408 124.418 124.444 124.507 124.654 125 
+  Bin 1125: 125 125.225 125.318 125.367 125.393 125.419 125.426 125.446 125.506 125.652 126 
+  Bin 1126: 126 126.219 126.309 126.361 126.397 126.436 126.455 126.469 126.503 126.626 127 
+  Bin 1127: 127 127.22 127.315 127.364 127.395 127.43 127.447 127.459 127.5 127.636 128 
+  Bin 1128: 128 128.228 128.323 128.373 128.403 128.432 128.443 128.455 128.505 128.638 129 
+  Bin 1129: 129 129.225 129.31 129.358 129.386 129.416 129.427 129.44 129.496 129.641 130 
+  Bin 1130: 130 130.228 130.311 130.357 130.381 130.403 130.412 130.434 130.491 130.627 131 
+  Bin 1131: 131 131.233 131.332 131.38 131.409 131.44 131.447 131.463 131.518 131.661 132 
+  Bin 1132: 132 132.222 132.311 132.36 132.39 132.423 132.432 132.443 132.488 132.627 133 
+  Bin 1133: 133 133.239 133.335 133.386 133.418 133.45 133.459 133.473 133.524 133.652 134 
+  Bin 1134: 134 134.224 134.312 134.361 134.388 134.412 134.424 134.44 134.494 134.628 135 
+  Bin 1135: 135 135.164 135.228 135.257 135.277 135.295 135.31 135.372 135.532 135.884 136 
+  Bin 1136: 136 136.359 136.651 136.843 136.934 136.99 136.991 136.992 136.994 136.996 137 
+  Bin 1137: 137 137 137.001 137.002 137.007 137.102 137.556 137.878 137.959 137.987 138 
+  Bin 1138: 138 138.031 138.051 138.066 138.078 138.086 138.185 138.327 138.497 138.711 139 
+  Bin 1139: 139 139.272 139.454 139.527 139.562 139.583 139.591 139.611 139.657 139.789 140 
+  Bin 1140: 140 140.154 140.219 140.251 140.272 140.285 140.296 140.325 140.401 140.583 141 
+  Bin 1141: 141 141.202 141.282 141.318 141.334 141.349 141.367 141.393 141.447 141.585 142 
+  Bin 1142: 142 142.235 142.323 142.369 142.398 142.425 142.434 142.445 142.488 142.615 143 
+  Bin 1143: 143 143.233 143.323 143.369 143.395 143.422 143.43 143.447 143.496 143.62 144 
+  Bin 1144: 144 144.233 144.326 144.375 144.409 144.442 144.458 144.47 144.501 144.622 145 
+  Bin 1145: 145 145.226 145.319 145.369 145.403 145.426 145.46 145.479 145.502 145.611 146 
+  Bin 1146: 146 146.222 146.314 146.366 146.399 146.433 146.453 146.47 146.493 146.601 147 
+  Bin 1147: 147 147.228 147.316 147.359 147.388 147.408 147.431 147.444 147.476 147.594 148 
+  Bin 1148: 148 148.233 148.325 148.376 148.406 148.433 148.443 148.456 148.501 148.629 149 
+  Bin 1149: 149 149.221 149.306 149.352 149.38 149.411 149.428 149.442 149.472 149.591 150 
+  Bin 1150: 150 150.211 150.304 150.353 150.387 150.426 150.45 150.476 150.503 150.589 151 
+  Bin 1151: 151 151.217 151.309 151.358 151.392 151.417 151.452 151.48 151.506 151.573 152 
+  Bin 1152: 152 152.227 152.317 152.367 152.401 152.436 152.457 152.481 152.506 152.573 153 
+  Bin 1153: 153 153.212 153.299 153.349 153.379 153.41 153.434 153.461 153.487 153.559 154 
+  Bin 1154: 154 154.217 154.304 154.35 154.383 154.415 154.435 154.46 154.487 154.561 155 
+  Bin 1155: 155 155.214 155.3 155.344 155.376 155.398 155.432 155.46 155.486 155.551 156 
+  Bin 1156: 156 156.223 156.315 156.362 156.393 156.43 156.451 156.476 156.506 156.566 157 
+  Bin 1157: 157 157.21 157.296 157.34 157.369 157.4 157.424 157.452 157.483 157.546 158 
+  Bin 1158: 158 158.196 158.277 158.32 158.349 158.385 158.407 158.435 158.468 158.525 159 
+  Bin 1159: 159 159.222 159.308 159.354 159.381 159.413 159.43 159.45 159.472 159.55 160 
+  Bin 1160: 160 160.217 160.3 160.344 160.372 160.389 160.417 160.434 160.458 160.549 161 
+  Bin 1161: 161 161.244 161.318 161.347 161.361 161.381 161.396 161.42 161.467 161.586 162 
+  Bin 1162: 162 162.246 162.321 162.347 162.36 162.369 162.393 162.418 162.466 162.586 163 
+  Bin 1163: 163 163.242 163.314 163.345 163.359 163.378 163.387 163.406 163.452 163.58 164 
+  Bin 1164: 164 164.218 164.298 164.337 164.362 164.387 164.404 164.419 164.447 164.551 165 
+  Bin 1165: 165 165.235 165.318 165.36 165.388 165.418 165.43 165.44 165.464 165.571 166 
+  Bin 1166: 166 166.225 166.308 166.348 166.373 166.401 166.42 166.435 166.458 166.577 167 
+  Bin 1167: 167 167.197 167.277 167.324 167.358 167.39 167.412 167.437 167.46 167.572 168 
+  Bin 1168: 168 168.226 168.311 168.356 168.384 168.403 168.439 168.453 168.48 168.596 169 
+  Bin 1169: 169 169.242 169.337 169.384 169.415 169.448 169.46 169.472 169.506 169.621 170 
+  Bin 1170: 170 170.24 170.336 170.389 170.419 170.452 170.47 170.482 170.511 170.628 171 
+  Bin 1171: 171 171.237 171.328 171.378 171.413 171.446 171.465 171.48 171.499 171.593 172 
+  Bin 1172: 172 172.228 172.325 172.374 172.403 172.434 172.449 172.462 172.5 172.62 173 
+  Bin 1173: 173 173.231 173.327 173.372 173.404 173.436 173.451 173.463 173.495 173.611 174 
+  Bin 1174: 174 174.232 174.327 174.376 174.408 174.431 174.467 174.487 174.511 174.617 175 
+  Bin 1175: 175 175.235 175.332 175.386 175.419 175.456 175.475 175.49 175.51 175.616 176 
+  Bin 1176: 176 176.237 176.329 176.376 176.408 176.444 176.467 176.488 176.51 176.614 177 
+  Bin 1177: 177 177.244 177.333 177.381 177.41 177.428 177.451 177.463 177.5 177.626 178 
+  Bin 1178: 178 178.221 178.311 178.361 178.393 178.428 178.446 178.464 178.487 178.589 179 
+  Bin 1179: 179 179.237 179.335 179.386 179.415 179.44 179.465 179.48 179.505 179.617 180 
+  Bin 1180: 180 180.239 180.336 180.382 180.417 180.451 180.47 180.488 180.51 180.621 181 
+  Bin 1181: 181 181.219 181.314 181.362 181.392 181.423 181.449 181.471 181.498 181.602 182 
+  Bin 1182: 182 182.228 182.321 182.373 182.406 182.442 182.461 182.482 182.503 182.599 183 
+  Bin 1183: 183 183.213 183.306 183.36 183.391 183.416 183.449 183.473 183.495 183.6 184 
+  Bin 1184: 184 184.222 184.314 184.362 184.395 184.42 184.457 184.48 184.501 184.606 185 
+  Bin 1185: 185 185.219 185.311 185.36 185.395 185.429 185.453 185.481 185.502 185.597 186 
+  Bin 1186: 186 186.222 186.317 186.369 186.406 186.445 186.47 186.5 186.53 186.598 187 
+  Bin 1187: 187 187.244 187.338 187.392 187.423 187.456 187.475 187.493 187.516 187.621 188 
+  Bin 1188: 188 188.212 188.296 188.347 188.38 188.419 188.44 188.464 188.488 188.587 189 
+  Bin 1189: 189 189.227 189.321 189.369 189.396 189.418 189.451 189.471 189.492 189.59 190 
+  Bin 1190: 190 190.232 190.333 190.384 190.421 190.454 190.476 190.498 190.519 190.603 191 
+  Bin 1191: 191 191.246 191.344 191.391 191.421 191.454 191.472 191.485 191.512 191.625 192 
+  Bin 1192: 192 192.236 192.324 192.368 192.397 192.423 192.433 192.447 192.489 192.615 193 
+  Bin 1193: 193 193.244 193.332 193.376 193.397 193.419 193.429 193.447 193.496 193.623 194 
+  Bin 1194: 194 194.217 194.314 194.366 194.396 194.419 194.46 194.486 194.51 194.604 195 
+  Bin 1195: 195 195.224 195.319 195.37 195.404 195.442 195.467 195.496 195.528 195.604 196 
+  Bin 1196: 196 196.209 196.308 196.364 196.398 196.422 196.461 196.493 196.535 196.617 197 
+  Bin 1197: 197 197.206 197.305 197.359 197.395 197.434 197.461 197.49 197.532 197.597 198 
+  Bin 1198: 198 198.202 198.301 198.355 198.39 198.418 198.461 198.497 198.544 198.621 199 
+  Bin 1199: 199 199.227 199.324 199.377 199.411 199.449 199.477 199.509 199.543 199.618 200 
+  Bin 1200: 200 200.204 200.299 200.351 200.384 200.423 200.445 200.471 200.505 200.604 201 
+  Bin 1201: 201 201.222 201.319 201.374 201.407 201.432 201.47 201.498 201.534 201.622 202 
+  Bin 1202: 202 202.24 202.339 202.391 202.425 202.466 202.488 202.512 202.535 202.624 203 
+  Bin 1203: 203 203.224 203.319 203.369 203.401 203.44 203.459 203.48 203.503 203.597 204 
+  Bin 1204: 204 204.236 204.332 204.383 204.415 204.45 204.476 204.5 204.525 204.609 205 
+  Bin 1205: 205 205.224 205.323 205.373 205.404 205.435 205.456 205.476 205.511 205.627 206 
+  Bin 1206: 206 206.23 206.319 206.372 206.404 206.434 206.456 206.48 206.508 206.61 207 
+  Bin 1207: 207 207.258 207.361 207.406 207.434 207.461 207.473 207.491 207.527 207.634 208 
+  Bin 1208: 208 208.26 208.356 208.404 208.434 208.456 208.489 208.505 208.534 208.642 209 
+  Bin 1209: 209 209.226 209.323 209.373 209.404 209.44 209.459 209.48 209.504 209.6 210 
+  Bin 1210: 210 210.238 210.332 210.383 210.41 210.441 210.458 210.474 210.503 210.614 211 
+  Bin 1211: 211 211.226 211.324 211.373 211.407 211.443 211.464 211.486 211.509 211.601 212 
+  Bin 1212: 212 212.23 212.328 212.382 212.411 212.449 212.471 212.489 212.515 212.615 213 
+  Bin 1213: 213 213.24 213.337 213.391 213.423 213.456 213.476 213.494 213.523 213.616 214 
+  Bin 1214: 214 214.24 214.338 214.386 214.417 214.442 214.48 214.502 214.527 214.617 215 
+  Bin 1215: 215 215.229 215.327 215.381 215.421 215.452 215.479 215.504 215.53 215.631 216 
+  Bin 1216: 216 216.241 216.339 216.393 216.427 216.451 216.488 216.514 216.544 216.641 217 
+  Bin 1217: 217 217.222 217.317 217.366 217.397 217.43 217.451 217.47 217.496 217.604 218 
+  Bin 1218: 218 218.212 218.297 218.346 218.377 218.412 218.437 218.46 218.49 218.607 219 
+  Bin 1219: 219 219.224 219.316 219.365 219.396 219.43 219.449 219.468 219.5 219.608 220 
+  Bin 1220: 220 220.219 220.306 220.351 220.377 220.391 220.421 220.436 220.473 220.608 221 
+  Bin 1221: 221 221.21 221.295 221.338 221.367 221.401 221.421 221.438 221.469 221.597 222 
+  Bin 1222: 222 222.212 222.301 222.35 222.38 222.4 222.432 222.451 222.482 222.596 223 
+  Bin 1223: 223 223.218 223.312 223.368 223.403 223.443 223.466 223.492 223.523 223.628 224 
+  Bin 1224: 224 224.223 224.318 224.369 224.404 224.429 224.465 224.491 224.523 224.613 225 
+  Bin 1225: 225 225.177 225.267 225.317 225.351 225.391 225.417 225.45 225.499 225.583 226 
+  Bin 1226: 226 226.198 226.284 226.331 226.363 226.386 226.422 226.452 226.487 226.581 227 
+  Bin 1227: 227 227.205 227.297 227.347 227.378 227.413 227.435 227.456 227.487 227.602 228 
+  Bin 1228: 228 228.202 228.289 228.341 228.372 228.405 228.426 228.45 228.486 228.617 229 
+  Bin 1229: 229 229.199 229.289 229.337 229.37 229.402 229.424 229.45 229.485 229.587 230 
+  Bin 1230: 230 230.228 230.331 230.386 230.422 230.448 230.487 230.515 230.555 230.653 231 
+  Bin 1231: 231 231.234 231.328 231.373 231.403 231.422 231.458 231.487 231.519 231.601 232 
+  Bin 1232: 232 232.254 232.346 232.39 232.419 232.437 232.463 232.478 232.501 232.59 233 
+  Bin 1233: 233 233.23 233.316 233.357 233.386 233.42 233.435 233.454 233.477 233.569 234 
+  Bin 1234: 234 234.204 234.287 234.328 234.353 234.374 234.406 234.435 234.464 234.561 235 
+  Bin 1235: 235 235.204 235.286 235.328 235.358 235.387 235.403 235.426 235.451 235.538 236 
+  Bin 1236: 236 236.236 236.322 236.371 236.399 236.42 236.452 236.478 236.504 236.581 237 
+  Bin 1237: 237 237.232 237.32 237.362 237.392 237.422 237.439 237.458 237.485 237.592 238 
+  Bin 1238: 238 238.212 238.297 238.339 238.366 238.396 238.412 238.434 238.463 238.554 239 
+  Bin 1239: 239 239.24 239.328 239.375 239.403 239.431 239.452 239.473 239.502 239.609 240 
+  Bin 1240: 240 240.21 240.293 240.341 240.374 240.406 240.425 240.449 240.482 240.564 241 
+  Bin 1241: 241 241.22 241.309 241.357 241.387 241.409 241.445 241.472 241.504 241.574 242 
+  Bin 1242: 242 242.233 242.323 242.366 242.397 242.43 242.448 242.474 242.506 242.575 243 
+  Bin 1243: 243 243.249 243.341 243.389 243.417 243.438 243.475 243.498 243.525 243.577 244 
+  Bin 1244: 244 244.26 244.352 244.402 244.435 244.455 244.489 244.509 244.532 244.603 245 
+  Bin 1245: 245 245.236 245.324 245.369 245.398 245.415 245.449 245.472 245.498 245.579 246 
+  Bin 1246: 246 246.214 246.3 246.344 246.373 246.409 246.427 246.449 246.472 246.556 247 
+  Bin 1247: 247 247.204 247.282 247.32 247.351 247.374 247.412 247.439 247.472 247.536 248 
+  Bin 1248: 248 248.218 248.298 248.342 248.372 248.395 248.429 248.46 248.499 248.559 249 
+  Bin 1249: 249 249.217 249.305 249.354 249.384 249.416 249.436 249.463 249.495 249.56 250 
+  Bin 1250: 250 250.214 250.301 250.348 250.376 250.398 250.429 250.457 250.488 250.56 251 
+  Bin 1251: 251 251.209 251.283 251.328 251.362 251.395 251.416 251.441 251.47 251.551 252 
+  Bin 1252: 252 252.211 252.291 252.334 252.365 252.386 252.422 252.446 252.475 252.55 253 
+  Bin 1253: 253 253.221 253.303 253.346 253.377 253.409 253.432 253.454 253.484 253.564 254 
+  Bin 1254: 254 254.222 254.298 254.341 254.369 254.402 254.419 254.441 254.468 254.562 255 
+  Bin 1255: 255 255.208 255.291 255.333 255.364 255.396 255.412 255.433 255.46 255.556 256 
+  Bin 1256: 256 256.21 256.295 256.346 256.377 256.398 256.426 256.451 256.483 256.549 257 
+  Bin 1257: 257 257.229 257.311 257.356 257.384 257.405 257.441 257.466 257.497 257.569 258 
+  Bin 1258: 258 258.197 258.278 258.324 258.357 258.388 258.411 258.437 258.468 258.548 259 
+  Bin 1259: 259 259.204 259.281 259.327 259.358 259.379 259.413 259.44 259.474 259.546 260 
+  Bin 1260: 260 260.225 260.312 260.354 260.38 260.414 260.431 260.45 260.477 260.559 261 
+  Bin 1261: 261 261.21 261.284 261.329 261.359 261.378 261.407 261.434 261.466 261.557 262 
+  Bin 1262: 262 262.208 262.292 262.337 262.366 262.401 262.42 262.443 262.472 262.538 263 
+  Bin 1263: 263 263.224 263.313 263.364 263.397 263.433 263.452 263.477 263.511 263.584 264 
+  Bin 1264: 264 264.225 264.316 264.36 264.395 264.417 264.454 264.483 264.523 264.586 265 
+  Bin 1265: 265 265.232 265.318 265.367 265.396 265.432 265.456 265.48 265.508 265.6 266 
+  Bin 1266: 266 266.203 266.281 266.327 266.359 266.393 266.416 266.441 266.469 266.538 267 
+  Bin 1267: 267 267.233 267.329 267.38 267.41 267.43 267.466 267.491 267.52 267.608 268 
+  Bin 1268: 268 268.215 268.302 268.352 268.385 268.423 268.443 268.471 268.508 268.578 269 
+  Bin 1269: 269 269.213 269.303 269.351 269.383 269.409 269.443 269.476 269.525 269.592 270 
+  Bin 1270: 270 270.21 270.297 270.341 270.371 270.407 270.43 270.457 270.492 270.571 271 
+  Bin 1271: 271 271.204 271.287 271.334 271.368 271.407 271.433 271.464 271.505 271.588 272 
+  Bin 1272: 272 272.218 272.31 272.356 272.39 272.431 272.455 272.481 272.519 272.598 273 
+  Bin 1273: 273 273.218 273.311 273.36 273.394 273.416 273.456 273.486 273.528 273.602 274 
+  Bin 1274: 274 274.209 274.302 274.353 274.388 274.422 274.446 274.478 274.528 274.596 275 
+  Bin 1275: 275 275.202 275.294 275.345 275.381 275.402 275.441 275.469 275.513 275.573 276 
+  Bin 1276: 276 276.214 276.302 276.349 276.382 276.417 276.441 276.467 276.509 276.606 277 
+  Bin 1277: 277 277.209 277.296 277.339 277.369 277.401 277.418 277.442 277.474 277.567 278 
+  Bin 1278: 278 278.298 278.423 278.49 278.536 278.567 278.601 278.639 278.689 278.753 279 
+  Bin 1279: 279 279.238 279.334 279.386 279.416 279.435 279.471 279.514 279.558 279.681 280 
+  Bin 1280: 280 280.482 280.713 280.86 280.937 280.991 280.994 280.998 280.998 280.998 281 
+  Bin 1281: 281 281 281 281 281 281 281 281 281 281 282 
+  Bin 1282: 282 282 282 282 282 282 282 282 282 282 283 
+  Bin 1283: 283 283 283 283.108 283.386 283.418 283.467 283.531 283.615 283.747 284 
+  Bin 1284: 284 284.302 284.419 284.481 284.521 284.553 284.569 284.59 284.625 284.809 285 
+  Bin 1285: 285 285.153 285.228 285.27 285.309 285.34 285.368 285.402 285.458 285.592 286 
+  Bin 1286: 286 286.198 286.304 286.361 286.395 286.423 286.47 286.503 286.545 286.624 287 
+  Bin 1287: 287 287.211 287.317 287.372 287.409 287.436 287.477 287.513 287.577 287.652 288 
+  Bin 1288: 288 288.18 288.272 288.324 288.363 288.397 288.427 288.465 288.524 288.611 289 
+  Bin 1289: 289 289.173 289.268 289.322 289.357 289.382 289.424 289.466 289.527 289.605 290 
+  Bin 1290: 290 290.177 290.282 290.343 290.381 290.425 290.456 290.498 290.555 290.642 291 
+  Bin 1291: 291 291.161 291.253 291.304 291.338 291.365 291.404 291.446 291.512 291.599 292 
+  Bin 1292: 292 292.188 292.286 292.344 292.386 292.426 292.452 292.488 292.548 292.624 293 
+  Bin 1293: 293 293.204 293.311 293.365 293.404 293.446 293.47 293.508 293.576 293.662 294 
+  Bin 1294: 294 294.194 294.299 294.361 294.396 294.422 294.465 294.497 294.546 294.622 295 
+  Bin 1295: 295 295.196 295.295 295.351 295.385 295.411 295.453 295.489 295.542 295.618 296 
+  Bin 1296: 296 296.188 296.281 296.332 296.37 296.398 296.433 296.472 296.527 296.604 297 
+  Bin 1297: 297 297.176 297.271 297.322 297.357 297.392 297.42 297.458 297.523 297.602 298 
+  Bin 1298: 298 298.21 298.305 298.357 298.394 298.421 298.455 298.486 298.535 298.609 299 
+  Bin 1299: 299 299.193 299.281 299.331 299.368 299.404 299.43 299.462 299.519 299.592 300 
+  Bin 1300: 300 300.187 300.283 300.336 300.366 300.389 300.429 300.467 300.527 300.613 301 
+  Bin 1301: 301 301.18 301.279 301.328 301.361 301.398 301.424 301.459 301.526 301.608 302 
+  Bin 1302: 302 302.186 302.28 302.334 302.367 302.393 302.436 302.472 302.548 302.636 303 
+  Bin 1303: 303 303.194 303.287 303.342 303.377 303.418 303.446 303.481 303.546 303.637 304 
+  Bin 1304: 304 304.195 304.297 304.353 304.389 304.432 304.46 304.5 304.566 304.656 305 
+  Bin 1305: 305 305.181 305.278 305.327 305.362 305.387 305.429 305.467 305.535 305.629 306 
+  Bin 1306: 306 306.19 306.281 306.336 306.368 306.405 306.428 306.463 306.522 306.601 307 
+  Bin 1307: 307 307.186 307.287 307.34 307.372 307.397 307.441 307.48 307.54 307.615 308 
+  Bin 1308: 308 308.183 308.281 308.335 308.374 308.414 308.443 308.485 308.555 308.633 309 
+  Bin 1309: 309 309.189 309.292 309.349 309.388 309.428 309.456 309.493 309.559 309.647 310 
+  Bin 1310: 310 310.2 310.295 310.356 310.388 310.414 310.453 310.486 310.552 310.634 311 
+  Bin 1311: 311 311.181 311.278 311.331 311.37 311.413 311.443 311.482 311.551 311.638 312 
+  Bin 1312: 312 312.191 312.295 312.347 312.379 312.405 312.438 312.475 312.532 312.608 313 
+  Bin 1313: 313 313.184 313.276 313.329 313.363 313.401 313.428 313.471 313.537 313.634 314 
+  Bin 1314: 314 314.171 314.268 314.317 314.352 314.393 314.419 314.458 314.512 314.602 315 
+  Bin 1315: 315 315.163 315.248 315.295 315.329 315.37 315.397 315.442 315.515 315.608 316 
+  Bin 1316: 316 316.171 316.271 316.329 316.36 316.386 316.435 316.473 316.538 316.625 317 
+  Bin 1317: 317 317.161 317.253 317.311 317.347 317.387 317.412 317.454 317.525 317.632 318 
+  Bin 1318: 318 318.151 318.229 318.283 318.316 318.34 318.381 318.426 318.499 318.606 319 
+  Bin 1319: 319 319.168 319.264 319.317 319.353 319.395 319.423 319.457 319.53 319.621 320 
+  Bin 1320: 320 320.166 320.267 320.322 320.357 320.398 320.427 320.466 320.529 320.619 321 
+  Bin 1321: 321 321.17 321.254 321.307 321.345 321.384 321.415 321.45 321.514 321.613 322 
+  Bin 1322: 322 322.163 322.26 322.311 322.349 322.386 322.419 322.462 322.534 322.639 323 
+  Bin 1323: 323 323.171 323.263 323.313 323.349 323.393 323.424 323.462 323.526 323.629 324 
+  Bin 1324: 324 324.19 324.292 324.341 324.377 324.407 324.448 324.483 324.544 324.637 325 
+  Bin 1325: 325 325.161 325.258 325.303 325.336 325.379 325.408 325.445 325.51 325.607 326 
+  Bin 1326: 326 326.168 326.258 326.307 326.338 326.36 326.405 326.443 326.507 326.619 327 
+  Bin 1327: 327 327.13 327.222 327.279 327.319 327.362 327.396 327.445 327.503 327.661 328 
+  Bin 1328: 328 328.151 328.257 328.322 328.363 328.41 328.445 328.486 328.54 328.655 329 
+  Bin 1329: 329 329.17 329.274 329.347 329.391 329.425 329.476 329.525 329.599 329.693 330 
+  Bin 1330: 330 330.153 330.261 330.333 330.379 330.428 330.46 330.509 330.566 330.684 331 
+  Bin 1331: 331 331.169 331.284 331.35 331.389 331.423 331.476 331.522 331.572 331.667 332 
+  Bin 1332: 332 332.162 332.276 332.355 332.395 332.442 332.473 332.52 332.571 332.698 333 
+  Bin 1333: 333 333.162 333.274 333.338 333.379 333.419 333.448 333.496 333.544 333.663 334 
+  Bin 1334: 334 334.147 334.262 334.33 334.374 334.41 334.461 334.513 334.577 334.666 335 
+  Bin 1335: 335 335.167 335.282 335.348 335.385 335.42 335.471 335.512 335.569 335.665 336 
+  Bin 1336: 336 336.147 336.246 336.316 336.356 336.397 336.433 336.478 336.542 336.65 337 
+  Bin 1337: 337 337.15 337.249 337.313 337.351 337.398 337.43 337.481 337.555 337.66 338 
+  Bin 1338: 338 338.153 338.265 338.33 338.368 338.399 338.454 338.503 338.565 338.665 339 
+  Bin 1339: 339 339.165 339.266 339.332 339.376 339.402 339.447 339.486 339.545 339.633 340 
+  Bin 1340: 340 340.158 340.261 340.326 340.362 340.41 340.446 340.491 340.564 340.666 341 
+  Bin 1341: 341 341.159 341.266 341.332 341.376 341.417 341.45 341.502 341.569 341.669 342 
+  Bin 1342: 342 342.168 342.279 342.345 342.389 342.422 342.47 342.516 342.589 342.673 343 
+  Bin 1343: 343 343.199 343.306 343.362 343.405 343.43 343.466 343.5 343.566 343.641 344 
+  Bin 1344: 344 344.18 344.28 344.336 344.374 344.406 344.437 344.475 344.536 344.62 345 
+  Bin 1345: 345 345.184 345.281 345.334 345.366 345.392 345.431 345.469 345.535 345.612 346 
+  Bin 1346: 346 346.171 346.257 346.305 346.341 346.364 346.407 346.448 346.509 346.597 347 
+  Bin 1347: 347 347.174 347.267 347.319 347.357 347.395 347.423 347.456 347.523 347.609 348 
+  Bin 1348: 348 348.182 348.271 348.325 348.357 348.379 348.424 348.466 348.52 348.605 349 
+  Bin 1349: 349 349.185 349.276 349.328 349.364 349.394 349.433 349.471 349.531 349.613 350 
+  Bin 1350: 350 350.18 350.267 350.317 350.35 350.39 350.422 350.46 350.523 350.605 351 
+  Bin 1351: 351 351.196 351.281 351.324 351.358 351.395 351.423 351.454 351.512 351.585 352 
+  Bin 1352: 352 352.178 352.26 352.304 352.333 352.357 352.391 352.429 352.485 352.572 353 
+  Bin 1353: 353 353.18 353.255 353.302 353.329 353.368 353.392 353.425 353.471 353.559 354 
+  Bin 1354: 354 354.183 354.279 354.327 354.363 354.405 354.433 354.467 354.527 354.61 355 
+  Bin 1355: 355 355.227 355.328 355.375 355.408 355.436 355.476 355.509 355.563 355.644 356 
+  Bin 1356: 356 356.198 356.288 356.337 356.371 356.398 356.435 356.47 356.515 356.595 357 
+  Bin 1357: 357 357.19 357.268 357.313 357.344 357.367 357.398 357.434 357.482 357.58 358 
+  Bin 1358: 358 358.174 358.263 358.304 358.337 358.371 358.395 358.427 358.471 358.558 359 
+  Bin 1359: 359 359.199 359.283 359.328 359.357 359.395 359.42 359.457 359.507 359.59 360 
+  Bin 1360: 360 360.214 360.303 360.347 360.381 360.405 360.437 360.471 360.521 360.598 361 
+  Bin 1361: 361 361.195 361.291 361.345 361.38 361.418 361.441 361.472 361.522 361.605 362 
+  Bin 1362: 362 362.189 362.274 362.323 362.353 362.388 362.417 362.448 362.495 362.579 363 
+  Bin 1363: 363 363.19 363.273 363.326 363.356 363.392 363.419 363.456 363.512 363.593 364 
+  Bin 1364: 364 364.22 364.307 364.365 364.399 364.435 364.457 364.483 364.533 364.611 365 
+  Bin 1365: 365 365.215 365.302 365.355 365.39 365.423 365.447 365.476 365.525 365.607 366 
+  Bin 1366: 366 366.192 366.271 366.32 366.351 366.376 366.42 366.456 366.507 366.597 367 
+  Bin 1367: 367 367.187 367.271 367.311 367.345 367.381 367.405 367.44 367.492 367.588 368 
+  Bin 1368: 368 368.195 368.282 368.327 368.363 368.4 368.425 368.454 368.504 368.584 369 
+  Bin 1369: 369 369.205 369.295 369.35 369.383 369.401 369.438 369.469 369.523 369.613 370 
+  Bin 1370: 370 370.167 370.256 370.305 370.335 370.377 370.4 370.435 370.487 370.594 371 
+  Bin 1371: 371 371.178 371.267 371.315 371.344 371.367 371.411 371.447 371.506 371.594 372 
+  Bin 1372: 372 372.191 372.281 372.332 372.367 372.406 372.432 372.468 372.53 372.617 373 
+  Bin 1373: 373 373.165 373.242 373.289 373.325 373.351 373.383 373.418 373.474 373.567 374 
+  Bin 1374: 374 374.199 374.29 374.337 374.369 374.401 374.429 374.463 374.516 374.622 375 
+  Bin 1375: 375 375.153 375.236 375.279 375.312 375.345 375.374 375.417 375.477 375.589 376 
+  Bin 1376: 376 376.179 376.268 376.32 376.359 376.386 376.431 376.477 376.538 376.62 377 
+  Bin 1377: 377 377.196 377.293 377.35 377.388 377.418 377.466 377.506 377.565 377.647 378 
+  Bin 1378: 378 378.166 378.259 378.312 378.347 378.393 378.425 378.462 378.514 378.606 379 
+  Bin 1379: 379 379.176 379.274 379.329 379.367 379.406 379.433 379.477 379.532 379.61 380 
+  Bin 1380: 380 380.182 380.28 380.341 380.384 380.427 380.458 380.496 380.56 380.647 381 
+  Bin 1381: 381 381.173 381.276 381.328 381.365 381.392 381.432 381.474 381.538 381.63 382 
+  Bin 1382: 382 382.176 382.266 382.321 382.355 382.392 382.423 382.462 382.529 382.619 383 
+  Bin 1383: 383 383.155 383.242 383.296 383.333 383.375 383.41 383.455 383.539 383.632 384 
+  Bin 1384: 384 384.193 384.292 384.353 384.399 384.429 384.464 384.501 384.565 384.643 385 
+  Bin 1385: 385 385.192 385.285 385.335 385.379 385.409 385.454 385.504 385.577 385.673 386 
+  Bin 1386: 386 386.168 386.273 386.324 386.356 386.395 386.42 386.453 386.517 386.599 387 
+  Bin 1387: 387 387.164 387.255 387.314 387.346 387.371 387.414 387.46 387.528 387.629 388 
+  Bin 1388: 388 388.155 388.241 388.292 388.327 388.37 388.402 388.448 388.526 388.638 389 
+  Bin 1389: 389 389.151 389.236 389.302 389.34 389.381 389.411 389.455 389.516 389.621 390 
+  Bin 1390: 390 390.19 390.29 390.346 390.387 390.426 390.457 390.497 390.568 390.665 391 
+  Bin 1391: 391 391.232 391.318 391.37 391.409 391.435 391.47 391.504 391.569 391.67 392 
+  Bin 1392: 392 392.182 392.269 392.322 392.357 392.394 392.424 392.46 392.518 392.609 393 
+  Bin 1393: 393 393.173 393.269 393.331 393.368 393.4 393.429 393.466 393.526 393.61 394 
+  Bin 1394: 394 394.209 394.302 394.357 394.388 394.418 394.452 394.493 394.547 394.64 395 
+  Bin 1395: 395 395.197 395.288 395.347 395.381 395.416 395.443 395.479 395.536 395.623 396 
+  Bin 1396: 396 396.168 396.255 396.306 396.34 396.374 396.402 396.453 396.512 396.597 397 
+  Bin 1397: 397 397.188 397.283 397.336 397.371 397.397 397.436 397.472 397.535 397.618 398 
+  Bin 1398: 398 398.184 398.275 398.324 398.363 398.396 398.423 398.466 398.522 398.611 399 
+  Bin 1399: 399 399.173 399.277 399.323 399.362 399.386 399.421 399.462 399.534 399.626 400 
+  Bin 1400: 400 400.207 400.298 400.353 400.387 400.413 400.451 400.492 400.552 400.63 401 
+  Bin 1401: 401 401.202 401.293 401.343 401.378 401.417 401.448 401.479 401.544 401.631 402 
+  Bin 1402: 402 402.164 402.253 402.304 402.343 402.383 402.415 402.456 402.527 402.624 403 
+  Bin 1403: 403 403.173 403.26 403.311 403.347 403.382 403.418 403.464 403.532 403.632 404 
+  Bin 1404: 404 404.207 404.303 404.349 404.39 404.418 404.455 404.489 404.54 404.627 405 
+  Bin 1405: 405 405.196 405.296 405.356 405.401 405.438 405.466 405.498 405.554 405.63 406 
+  Bin 1406: 406 406.163 406.252 406.293 406.324 406.348 406.388 406.427 406.503 406.612 407 
+  Bin 1407: 407 407.17 407.262 407.313 407.351 407.383 407.418 407.471 407.551 407.652 408 
+  Bin 1408: 408 408.197 408.293 408.36 408.394 408.427 408.469 408.506 408.572 408.651 409 
+  Bin 1409: 409 409.16 409.252 409.306 409.342 409.367 409.41 409.45 409.529 409.646 410 
+  Bin 1410: 410 410.153 410.255 410.31 410.35 410.392 410.425 410.467 410.538 410.646 411 
+  Bin 1411: 411 411.129 411.21 411.256 411.296 411.336 411.365 411.41 411.495 411.59 412 
+  Bin 1412: 412 412.163 412.247 412.3 412.342 412.371 412.415 412.459 412.536 412.641 413 
+  Bin 1413: 413 413.158 413.252 413.311 413.348 413.395 413.426 413.464 413.522 413.622 414 
+  Bin 1414: 414 414.14 414.238 414.287 414.326 414.364 414.401 414.45 414.531 414.636 415 
+  Bin 1415: 415 415.159 415.243 415.299 415.337 415.366 415.4 415.44 415.499 415.592 416 
+  Bin 1416: 416 416.231 416.35 416.426 416.469 416.505 416.543 416.585 416.634 416.699 417 
+  Bin 1417: 417 417.151 417.25 417.309 417.344 417.395 417.43 417.472 417.537 417.633 418 
+  Bin 1418: 418 418.152 418.237 418.292 418.333 418.358 418.397 418.441 418.51 418.605 419 
+  Bin 1419: 419 419.147 419.237 419.298 419.335 419.381 419.418 419.464 419.53 419.647 420 
+  Bin 1420: 420 420.138 420.226 420.279 420.319 420.35 420.391 420.437 420.506 420.627 421 
+  Bin 1421: 421 421.142 421.231 421.298 421.335 421.372 421.408 421.448 421.519 421.613 422 
+  Bin 1422: 422 422.164 422.259 422.319 422.358 422.395 422.429 422.472 422.534 422.629 423 
+  Bin 1423: 423 423.191 423.284 423.336 423.375 423.405 423.439 423.479 423.539 423.624 424 
+  Bin 1424: 424 424.174 424.263 424.317 424.359 424.397 424.42 424.461 424.53 424.612 425 
+  Bin 1425: 425 425.156 425.237 425.288 425.318 425.345 425.38 425.422 425.484 425.564 426 
+  Bin 1426: 426 426.157 426.239 426.295 426.333 426.373 426.398 426.433 426.489 426.586 427 
+  Bin 1427: 427 427.148 427.224 427.268 427.305 427.332 427.368 427.409 427.469 427.574 428 
+  Bin 1428: 428 428.188 428.268 428.323 428.36 428.397 428.425 428.462 428.522 428.629 429 
+  Bin 1429: 429 429.168 429.249 429.306 429.339 429.374 429.406 429.449 429.507 429.612 430 
+  Bin 1430: 430 430.147 430.227 430.27 430.301 430.335 430.367 430.406 430.468 430.586 431 
+  Bin 1431: 431 431.15 431.231 431.278 431.318 431.353 431.391 431.432 431.498 431.6 432 
+  Bin 1432: 432 432.204 432.277 432.316 432.35 432.374 432.409 432.454 432.51 432.626 433 
+  Bin 1433: 433 433.172 433.255 433.306 433.342 433.377 433.406 433.444 433.508 433.621 434 
+  Bin 1434: 434 434.195 434.267 434.324 434.36 434.396 434.425 434.472 434.53 434.649 435 
+  Bin 1435: 435 435.139 435.223 435.272 435.308 435.343 435.372 435.419 435.492 435.605 436 
+  Bin 1436: 436 436.43 436.655 436.803 436.915 436.991 436.991 436.991 436.991 436.991 437 
+  Bin 1437: 437 -nan -nan -nan -nan -nan -nan -nan -nan -nan 438 
+  Bin 1438: 438 -nan -nan -nan -nan -nan -nan -nan -nan -nan 439 
+  Bin 1439: 439 -nan -nan -nan -nan -nan -nan -nan -nan -nan 440 
+  Bin 1440: 440 -nan -nan -nan -nan -nan -nan -nan -nan -nan 441 
+  Bin 1441: 441 -nan -nan -nan -nan -nan -nan -nan -nan -nan 442 
+  Bin 1442: 442 -nan -nan -nan -nan -nan -nan -nan -nan -nan 443 
+  Bin 1443: 443 -nan -nan -nan -nan -nan -nan -nan -nan -nan 444 
+  Bin 1444: 444 -nan -nan -nan -nan -nan -nan -nan -nan -nan 445 
+  Bin 1445: 445 -nan -nan -nan -nan -nan -nan -nan -nan -nan 446 
+  Bin 1446: 446 -nan -nan -nan -nan -nan -nan -nan -nan -nan 447 
+  Bin 1447: 447 -nan -nan -nan -nan -nan -nan -nan -nan -nan 448 
+  Bin 1448: 448 -nan -nan -nan -nan -nan -nan -nan -nan -nan 449 
+  Bin 1449: 449 -nan -nan -nan -nan -nan -nan -nan -nan -nan 450 
+  Bin 1450: 450 -nan -nan -nan -nan -nan -nan -nan -nan -nan 451 
+  Bin 1451: 451 -nan -nan -nan -nan -nan -nan -nan -nan -nan 452 
+  Bin 1452: 452 -nan -nan -nan -nan -nan -nan -nan -nan -nan 453 
+  Bin 1453: 453 -nan -nan -nan -nan -nan -nan -nan -nan -nan 454 
+  Bin 1454: 454 -nan -nan -nan -nan -nan -nan -nan -nan -nan 455 
+  Bin 1455: 455 -nan -nan -nan -nan -nan -nan -nan -nan -nan 456 
+  Bin 1456: 456 -nan -nan -nan -nan -nan -nan -nan -nan -nan 457 
+  Bin 1457: 457 -nan -nan -nan -nan -nan -nan -nan -nan -nan 458 
+  Bin 1458: 458 -nan -nan -nan -nan -nan -nan -nan -nan -nan 459 
+  Bin 1459: 459 -nan -nan -nan -nan -nan -nan -nan -nan -nan 460 
+  Bin 1460: 460 -nan -nan -nan -nan -nan -nan -nan -nan -nan 461 
+  Bin 1461: 461 -nan -nan -nan -nan -nan -nan -nan -nan -nan 462 
+  Bin 1462: 462 -nan -nan -nan -nan -nan -nan -nan -nan -nan 463 
+  Bin 1463: 463 -nan -nan -nan -nan -nan -nan -nan -nan -nan 464 
+  Bin 1464: 464 -nan -nan -nan -nan -nan -nan -nan -nan -nan 465 
+  Bin 1465: 465 -nan -nan -nan -nan -nan -nan -nan -nan -nan 466 
+  Bin 1466: 466 -nan -nan -nan -nan -nan -nan -nan -nan -nan 467 
+  Bin 1467: 467 -nan -nan -nan -nan -nan -nan -nan -nan -nan 468 
+  Bin 1468: 468 -nan -nan -nan -nan -nan -nan -nan -nan -nan 469 
+  Bin 1469: 469 -nan -nan -nan -nan -nan -nan -nan -nan -nan 470 
+  Bin 1470: 470 -nan -nan -nan -nan -nan -nan -nan -nan -nan 471 
+  Bin 1471: 471 -nan -nan -nan -nan -nan -nan -nan -nan -nan 472 
+  Bin 1472: 472 -nan -nan -nan -nan -nan -nan -nan -nan -nan 473 
+  Bin 1473: 473 -nan -nan -nan -nan -nan -nan -nan -nan -nan 474 
+  Bin 1474: 474 -nan -nan -nan -nan -nan -nan -nan -nan -nan 475 
+  Bin 1475: 475 -nan -nan -nan -nan -nan -nan -nan -nan -nan 476 
+  Bin 1476: 476 -nan -nan -nan -nan -nan -nan -nan -nan -nan 477 
+  Bin 1477: 477 -nan -nan -nan -nan -nan -nan -nan -nan -nan 478 
+  Bin 1478: 478 -nan -nan -nan -nan -nan -nan -nan -nan -nan 479 
+  Bin 1479: 479 -nan -nan -nan -nan -nan -nan -nan -nan -nan 480 
+  Bin 1480: 480 -nan -nan -nan -nan -nan -nan -nan -nan -nan 481 
+  Bin 1481: 481 -nan -nan -nan -nan -nan -nan -nan -nan -nan 482 
+  Bin 1482: 482 -nan -nan -nan -nan -nan -nan -nan -nan -nan 483 
+  Bin 1483: 483 -nan -nan -nan -nan -nan -nan -nan -nan -nan 484 
+  Bin 1484: 484 -nan -nan -nan -nan -nan -nan -nan -nan -nan 485 
+  Bin 1485: 485 -nan -nan -nan -nan -nan -nan -nan -nan -nan 486 
+  Bin 1486: 486 -nan -nan -nan -nan -nan -nan -nan -nan -nan 487 
+  Bin 1487: 487 -nan -nan -nan -nan -nan -nan -nan -nan -nan 488 
+  Bin 1488: 488 -nan -nan -nan -nan -nan -nan -nan -nan -nan 489 
+  Bin 1489: 489 -nan -nan -nan -nan -nan -nan -nan -nan -nan 490 
+  Bin 1490: 490 -nan -nan -nan -nan -nan -nan -nan -nan -nan 491 
+  Bin 1491: 491 -nan -nan -nan -nan -nan -nan -nan -nan -nan 492 
+  Bin 1492: 492 -nan -nan -nan -nan -nan -nan -nan -nan -nan 493 
+  Bin 1493: 493 -nan -nan -nan -nan -nan -nan -nan -nan -nan 494 
+  Bin 1494: 494 -nan -nan -nan -nan -nan -nan -nan -nan -nan 495 
+  Bin 1495: 495 -nan -nan -nan -nan -nan -nan -nan -nan -nan 496 
+  Bin 1496: 496 -nan -nan -nan -nan -nan -nan -nan -nan -nan 497 
+  Bin 1497: 497 -nan -nan -nan -nan -nan -nan -nan -nan -nan 498 
+  Bin 1498: 498 -nan -nan -nan -nan -nan -nan -nan -nan -nan 499 
+  Bin 1499: 499 -nan -nan -nan -nan -nan -nan -nan -nan -nan 500 
+  Bin 1500: 500 -nan -nan -nan -nan -nan -nan -nan -nan -nan 501 
+  Bin 1501: 501 -nan -nan -nan -nan -nan -nan -nan -nan -nan 502 
+  Bin 1502: 502 -nan -nan -nan -nan -nan -nan -nan -nan -nan 503 
+  Bin 1503: 503 -nan -nan -nan -nan -nan -nan -nan -nan -nan 504 
+  Bin 1504: 504 -nan -nan -nan -nan -nan -nan -nan -nan -nan 505 
+  Bin 1505: 505 -nan -nan -nan -nan -nan -nan -nan -nan -nan 506 
+  Bin 1506: 506 -nan -nan -nan -nan -nan -nan -nan -nan -nan 507 
+  Bin 1507: 507 -nan -nan -nan -nan -nan -nan -nan -nan -nan 508 
+  Bin 1508: 508 -nan -nan -nan -nan -nan -nan -nan -nan -nan 509 
+  Bin 1509: 509 -nan -nan -nan -nan -nan -nan -nan -nan -nan 510 
+  Bin 1510: 510 -nan -nan -nan -nan -nan -nan -nan -nan -nan 511 
+  Bin 1511: 511 -nan -nan -nan -nan -nan -nan -nan -nan -nan 512 
+  Bin 1512: 512 -nan -nan -nan -nan -nan -nan -nan -nan -nan 513 
+  Bin 1513: 513 -nan -nan -nan -nan -nan -nan -nan -nan -nan 514 
+  Bin 1514: 514 -nan -nan -nan -nan -nan -nan -nan -nan -nan 515 
+  Bin 1515: 515 -nan -nan -nan -nan -nan -nan -nan -nan -nan 516 
+  Bin 1516: 516 -nan -nan -nan -nan -nan -nan -nan -nan -nan 517 
+  Bin 1517: 517 -nan -nan -nan -nan -nan -nan -nan -nan -nan 518 
+  Bin 1518: 518 -nan -nan -nan -nan -nan -nan -nan -nan -nan 519 
+  Bin 1519: 519 -nan -nan -nan -nan -nan -nan -nan -nan -nan 520 
+  Bin 1520: 520 -nan -nan -nan -nan -nan -nan -nan -nan -nan 521 
+  Bin 1521: 521 -nan -nan -nan -nan -nan -nan -nan -nan -nan 522 
+  Bin 1522: 522 -nan -nan -nan -nan -nan -nan -nan -nan -nan 523 
+  Bin 1523: 523 -nan -nan -nan -nan -nan -nan -nan -nan -nan 524 
+  Bin 1524: 524 -nan -nan -nan -nan -nan -nan -nan -nan -nan 525 
+  Bin 1525: 525 -nan -nan -nan -nan -nan -nan -nan -nan -nan 526 
+  Bin 1526: 526 -nan -nan -nan -nan -nan -nan -nan -nan -nan 527 
+  Bin 1527: 527 -nan -nan -nan -nan -nan -nan -nan -nan -nan 528 
+  Bin 1528: 528 -nan -nan -nan -nan -nan -nan -nan -nan -nan 529 
+  Bin 1529: 529 -nan -nan -nan -nan -nan -nan -nan -nan -nan 530 
+  Bin 1530: 530 -nan -nan -nan -nan -nan -nan -nan -nan -nan 531 
+  Bin 1531: 531 -nan -nan -nan -nan -nan -nan -nan -nan -nan 532 
+  Bin 1532: 532 -nan -nan -nan -nan -nan -nan -nan -nan -nan 533 
+  Bin 1533: 533 -nan -nan -nan -nan -nan -nan -nan -nan -nan 534 
+  Bin 1534: 534 -nan -nan -nan -nan -nan -nan -nan -nan -nan 535 
+  Bin 1535: 535 -nan -nan -nan -nan -nan -nan -nan -nan -nan 536 
+  Bin 1536: 536 -nan -nan -nan -nan -nan -nan -nan -nan -nan 537 
+  Bin 1537: 537 -nan -nan -nan -nan -nan -nan -nan -nan -nan 538 
+  Bin 1538: 538 -nan -nan -nan -nan -nan -nan -nan -nan -nan 539 
+  Bin 1539: 539 -nan -nan -nan -nan -nan -nan -nan -nan -nan 540 
+  Bin 1540: 540 -nan -nan -nan -nan -nan -nan -nan -nan -nan 541 
+  Bin 1541: 541 -nan -nan -nan -nan -nan -nan -nan -nan -nan 542 
+  Bin 1542: 542 -nan -nan -nan -nan -nan -nan -nan -nan -nan 543 
+  Bin 1543: 543 -nan -nan -nan -nan -nan -nan -nan -nan -nan 544 
+  Bin 1544: 544 -nan -nan -nan -nan -nan -nan -nan -nan -nan 545 
+  Bin 1545: 545 -nan -nan -nan -nan -nan -nan -nan -nan -nan 546 
+  Bin 1546: 546 -nan -nan -nan -nan -nan -nan -nan -nan -nan 547 
+  Bin 1547: 547 -nan -nan -nan -nan -nan -nan -nan -nan -nan 548 
+  Bin 1548: 548 -nan -nan -nan -nan -nan -nan -nan -nan -nan 549 
+  Bin 1549: 549 -nan -nan -nan -nan -nan -nan -nan -nan -nan 550 
+  Bin 1550: 550 -nan -nan -nan -nan -nan -nan -nan -nan -nan 551 
+  Bin 1551: 551 -nan -nan -nan -nan -nan -nan -nan -nan -nan 552 
+  Bin 1552: 552 -nan -nan -nan -nan -nan -nan -nan -nan -nan 553 
+  Bin 1553: 553 -nan -nan -nan -nan -nan -nan -nan -nan -nan 554 
+  Bin 1554: 554 -nan -nan -nan -nan -nan -nan -nan -nan -nan 555 
+  Bin 1555: 555 -nan -nan -nan -nan -nan -nan -nan -nan -nan 556 
+  Bin 1556: 556 -nan -nan -nan -nan -nan -nan -nan -nan -nan 557 
+  Bin 1557: 557 -nan -nan -nan -nan -nan -nan -nan -nan -nan 558 
+  Bin 1558: 558 -nan -nan -nan -nan -nan -nan -nan -nan -nan 559 
+  Bin 1559: 559 -nan -nan -nan -nan -nan -nan -nan -nan -nan 560 
+  Bin 1560: 560 -nan -nan -nan -nan -nan -nan -nan -nan -nan 561 
+  Bin 1561: 561 -nan -nan -nan -nan -nan -nan -nan -nan -nan 562 
+  Bin 1562: 562 -nan -nan -nan -nan -nan -nan -nan -nan -nan 563 
+  Bin 1563: 563 -nan -nan -nan -nan -nan -nan -nan -nan -nan 564 
+  Bin 1564: 564 -nan -nan -nan -nan -nan -nan -nan -nan -nan 565 
+  Bin 1565: 565 -nan -nan -nan -nan -nan -nan -nan -nan -nan 566 
+  Bin 1566: 566 -nan -nan -nan -nan -nan -nan -nan -nan -nan 567 
+  Bin 1567: 567 -nan -nan -nan -nan -nan -nan -nan -nan -nan 568 
+  Bin 1568: 568 -nan -nan -nan -nan -nan -nan -nan -nan -nan 569 
+  Bin 1569: 569 -nan -nan -nan -nan -nan -nan -nan -nan -nan 570 
+  Bin 1570: 570 -nan -nan -nan -nan -nan -nan -nan -nan -nan 571 
+  Bin 1571: 571 -nan -nan -nan -nan -nan -nan -nan -nan -nan 572 
+  Bin 1572: 572 -nan -nan -nan -nan -nan -nan -nan -nan -nan 573 
+  Bin 1573: 573 -nan -nan -nan -nan -nan -nan -nan -nan -nan 574 
+  Bin 1574: 574 -nan -nan -nan -nan -nan -nan -nan -nan -nan 575 
+  Bin 1575: 575 -nan -nan -nan -nan -nan -nan -nan -nan -nan 576 
+  Bin 1576: 576 -nan -nan -nan -nan -nan -nan -nan -nan -nan 577 
+  Bin 1577: 577 -nan -nan -nan -nan -nan -nan -nan -nan -nan 578 
+  Bin 1578: 578 -nan -nan -nan -nan -nan -nan -nan -nan -nan 579 
+  Bin 1579: 579 -nan -nan -nan -nan -nan -nan -nan -nan -nan 580 
+  Bin 1580: 580 -nan -nan -nan -nan -nan -nan -nan -nan -nan 581 
+  Bin 1581: 581 -nan -nan -nan -nan -nan -nan -nan -nan -nan 582 
+  Bin 1582: 582 -nan -nan -nan -nan -nan -nan -nan -nan -nan 583 
+  Bin 1583: 583 -nan -nan -nan -nan -nan -nan -nan -nan -nan 584 
+  Bin 1584: 584 -nan -nan -nan -nan -nan -nan -nan -nan -nan 585 
+  Bin 1585: 585 -nan -nan -nan -nan -nan -nan -nan -nan -nan 586 
+  Bin 1586: 586 -nan -nan -nan -nan -nan -nan -nan -nan -nan 587 
+  Bin 1587: 587 -nan -nan -nan -nan -nan -nan -nan -nan -nan 588 
+  Bin 1588: 588 -nan -nan -nan -nan -nan -nan -nan -nan -nan 589 
+  Bin 1589: 589 -nan -nan -nan -nan -nan -nan -nan -nan -nan 590 
+  Bin 1590: 590 -nan -nan -nan -nan -nan -nan -nan -nan -nan 591 
+  Bin 1591: 591 -nan -nan -nan -nan -nan -nan -nan -nan -nan 592 
+  Bin 1592: 592 -nan -nan -nan -nan -nan -nan -nan -nan -nan 593 
+  Bin 1593: 593 -nan -nan -nan -nan -nan -nan -nan -nan -nan 594 
+  Bin 1594: 594 -nan -nan -nan -nan -nan -nan -nan -nan -nan 595 
+  Bin 1595: 595 -nan -nan -nan -nan -nan -nan -nan -nan -nan 596 
+  Bin 1596: 596 -nan -nan -nan -nan -nan -nan -nan -nan -nan 597 
+  Bin 1597: 597 -nan -nan -nan -nan -nan -nan -nan -nan -nan 598 
+  Bin 1598: 598 -nan -nan -nan -nan -nan -nan -nan -nan -nan 599 
+  Bin 1599: 599 -nan -nan -nan -nan -nan -nan -nan -nan -nan 600 
+  Bin 1600: 600 -nan -nan -nan -nan -nan -nan -nan -nan -nan 601 
+  Bin 1601: 601 -nan -nan -nan -nan -nan -nan -nan -nan -nan 602 
+  Bin 1602: 602 -nan -nan -nan -nan -nan -nan -nan -nan -nan 603 
+  Bin 1603: 603 -nan -nan -nan -nan -nan -nan -nan -nan -nan 604 
+  Bin 1604: 604 -nan -nan -nan -nan -nan -nan -nan -nan -nan 605 
+  Bin 1605: 605 -nan -nan -nan -nan -nan -nan -nan -nan -nan 606 
+  Bin 1606: 606 -nan -nan -nan -nan -nan -nan -nan -nan -nan 607 
+  Bin 1607: 607 -nan -nan -nan -nan -nan -nan -nan -nan -nan 608 
+  Bin 1608: 608 -nan -nan -nan -nan -nan -nan -nan -nan -nan 609 
+  Bin 1609: 609 -nan -nan -nan -nan -nan -nan -nan -nan -nan 610 
+  Bin 1610: 610 -nan -nan -nan -nan -nan -nan -nan -nan -nan 611 
+  Bin 1611: 611 -nan -nan -nan -nan -nan -nan -nan -nan -nan 612 
+  Bin 1612: 612 -nan -nan -nan -nan -nan -nan -nan -nan -nan 613 
+  Bin 1613: 613 -nan -nan -nan -nan -nan -nan -nan -nan -nan 614 
+  Bin 1614: 614 -nan -nan -nan -nan -nan -nan -nan -nan -nan 615 
+  Bin 1615: 615 -nan -nan -nan -nan -nan -nan -nan -nan -nan 616 
+  Bin 1616: 616 -nan -nan -nan -nan -nan -nan -nan -nan -nan 617 
+  Bin 1617: 617 -nan -nan -nan -nan -nan -nan -nan -nan -nan 618 
+  Bin 1618: 618 -nan -nan -nan -nan -nan -nan -nan -nan -nan 619 
+  Bin 1619: 619 -nan -nan -nan -nan -nan -nan -nan -nan -nan 620 
+  Bin 1620: 620 -nan -nan -nan -nan -nan -nan -nan -nan -nan 621 
+  Bin 1621: 621 -nan -nan -nan -nan -nan -nan -nan -nan -nan 622 
+  Bin 1622: 622 -nan -nan -nan -nan -nan -nan -nan -nan -nan 623 
+  Bin 1623: 623 -nan -nan -nan -nan -nan -nan -nan -nan -nan 624 
+  Bin 1624: 624 -nan -nan -nan -nan -nan -nan -nan -nan -nan 625 
+  Bin 1625: 625 -nan -nan -nan -nan -nan -nan -nan -nan -nan 626 
+  Bin 1626: 626 -nan -nan -nan -nan -nan -nan -nan -nan -nan 627 
+  Bin 1627: 627 -nan -nan -nan -nan -nan -nan -nan -nan -nan 628 
+  Bin 1628: 628 -nan -nan -nan -nan -nan -nan -nan -nan -nan 629 
+  Bin 1629: 629 -nan -nan -nan -nan -nan -nan -nan -nan -nan 630 
+  Bin 1630: 630 -nan -nan -nan -nan -nan -nan -nan -nan -nan 631 
+  Bin 1631: 631 -nan -nan -nan -nan -nan -nan -nan -nan -nan 632 
+  Bin 1632: 632 -nan -nan -nan -nan -nan -nan -nan -nan -nan 633 
+  Bin 1633: 633 -nan -nan -nan -nan -nan -nan -nan -nan -nan 634 
+  Bin 1634: 634 -nan -nan -nan -nan -nan -nan -nan -nan -nan 635 
+  Bin 1635: 635 -nan -nan -nan -nan -nan -nan -nan -nan -nan 636 
+  Bin 1636: 636 -nan -nan -nan -nan -nan -nan -nan -nan -nan 637 
+  Bin 1637: 637 -nan -nan -nan -nan -nan -nan -nan -nan -nan 638 
+  Bin 1638: 638 -nan -nan -nan -nan -nan -nan -nan -nan -nan 639 
+  Bin 1639: 639 -nan -nan -nan -nan -nan -nan -nan -nan -nan 640 
+  Bin 1640: 640 -nan -nan -nan -nan -nan -nan -nan -nan -nan 641 
+  Bin 1641: 641 -nan -nan -nan -nan -nan -nan -nan -nan -nan 642 
+  Bin 1642: 642 -nan -nan -nan -nan -nan -nan -nan -nan -nan 643 
+  Bin 1643: 643 -nan -nan -nan -nan -nan -nan -nan -nan -nan 644 
+  Bin 1644: 644 -nan -nan -nan -nan -nan -nan -nan -nan -nan 645 
+  Bin 1645: 645 -nan -nan -nan -nan -nan -nan -nan -nan -nan 646 
+  Bin 1646: 646 -nan -nan -nan -nan -nan -nan -nan -nan -nan 647 
+  Bin 1647: 647 -nan -nan -nan -nan -nan -nan -nan -nan -nan 648 
+  Bin 1648: 648 -nan -nan -nan -nan -nan -nan -nan -nan -nan 649 
+  Bin 1649: 649 -nan -nan -nan -nan -nan -nan -nan -nan -nan 650 
+  Bin 1650: 650 -nan -nan -nan -nan -nan -nan -nan -nan -nan 651 
+  Bin 1651: 651 -nan -nan -nan -nan -nan -nan -nan -nan -nan 652 
+  Bin 1652: 652 -nan -nan -nan -nan -nan -nan -nan -nan -nan 653 
+  Bin 1653: 653 -nan -nan -nan -nan -nan -nan -nan -nan -nan 654 
+  Bin 1654: 654 -nan -nan -nan -nan -nan -nan -nan -nan -nan 655 
+  Bin 1655: 655 -nan -nan -nan -nan -nan -nan -nan -nan -nan 656 
+  Bin 1656: 656 -nan -nan -nan -nan -nan -nan -nan -nan -nan 657 
+  Bin 1657: 657 -nan -nan -nan -nan -nan -nan -nan -nan -nan 658 
+  Bin 1658: 658 -nan -nan -nan -nan -nan -nan -nan -nan -nan 659 
+  Bin 1659: 659 -nan -nan -nan -nan -nan -nan -nan -nan -nan 660 
+  Bin 1660: 660 -nan -nan -nan -nan -nan -nan -nan -nan -nan 661 
+  Bin 1661: 661 -nan -nan -nan -nan -nan -nan -nan -nan -nan 662 
+  Bin 1662: 662 -nan -nan -nan -nan -nan -nan -nan -nan -nan 663 
+  Bin 1663: 663 -nan -nan -nan -nan -nan -nan -nan -nan -nan 664 
+  Bin 1664: 664 -nan -nan -nan -nan -nan -nan -nan -nan -nan 665 
+  Bin 1665: 665 -nan -nan -nan -nan -nan -nan -nan -nan -nan 666 
+  Bin 1666: 666 -nan -nan -nan -nan -nan -nan -nan -nan -nan 667 
+  Bin 1667: 667 -nan -nan -nan -nan -nan -nan -nan -nan -nan 668 
+  Bin 1668: 668 -nan -nan -nan -nan -nan -nan -nan -nan -nan 669 
+  Bin 1669: 669 -nan -nan -nan -nan -nan -nan -nan -nan -nan 670 
+  Bin 1670: 670 -nan -nan -nan -nan -nan -nan -nan -nan -nan 671 
+  Bin 1671: 671 -nan -nan -nan -nan -nan -nan -nan -nan -nan 672 
+  Bin 1672: 672 -nan -nan -nan -nan -nan -nan -nan -nan -nan 673 
+  Bin 1673: 673 -nan -nan -nan -nan -nan -nan -nan -nan -nan 674 
+  Bin 1674: 674 -nan -nan -nan -nan -nan -nan -nan -nan -nan 675 
+  Bin 1675: 675 -nan -nan -nan -nan -nan -nan -nan -nan -nan 676 
+  Bin 1676: 676 -nan -nan -nan -nan -nan -nan -nan -nan -nan 677 
+  Bin 1677: 677 -nan -nan -nan -nan -nan -nan -nan -nan -nan 678 
+  Bin 1678: 678 -nan -nan -nan -nan -nan -nan -nan -nan -nan 679 
+  Bin 1679: 679 -nan -nan -nan -nan -nan -nan -nan -nan -nan 680 
+  Bin 1680: 680 -nan -nan -nan -nan -nan -nan -nan -nan -nan 681 
+  Bin 1681: 681 -nan -nan -nan -nan -nan -nan -nan -nan -nan 682 
+  Bin 1682: 682 -nan -nan -nan -nan -nan -nan -nan -nan -nan 683 
+  Bin 1683: 683 -nan -nan -nan -nan -nan -nan -nan -nan -nan 684 
+  Bin 1684: 684 -nan -nan -nan -nan -nan -nan -nan -nan -nan 685 
+  Bin 1685: 685 -nan -nan -nan -nan -nan -nan -nan -nan -nan 686 
+  Bin 1686: 686 -nan -nan -nan -nan -nan -nan -nan -nan -nan 687 
+  Bin 1687: 687 -nan -nan -nan -nan -nan -nan -nan -nan -nan 688 
+  Bin 1688: 688 -nan -nan -nan -nan -nan -nan -nan -nan -nan 689 
+  Bin 1689: 689 -nan -nan -nan -nan -nan -nan -nan -nan -nan 690 
+  Bin 1690: 690 -nan -nan -nan -nan -nan -nan -nan -nan -nan 691 
+  Bin 1691: 691 -nan -nan -nan -nan -nan -nan -nan -nan -nan 692 
+  Bin 1692: 692 -nan -nan -nan -nan -nan -nan -nan -nan -nan 693 
+  Bin 1693: 693 -nan -nan -nan -nan -nan -nan -nan -nan -nan 694 
+  Bin 1694: 694 -nan -nan -nan -nan -nan -nan -nan -nan -nan 695 
+  Bin 1695: 695 -nan -nan -nan -nan -nan -nan -nan -nan -nan 696 
+  Bin 1696: 696 -nan -nan -nan -nan -nan -nan -nan -nan -nan 697 
+  Bin 1697: 697 -nan -nan -nan -nan -nan -nan -nan -nan -nan 698 
+  Bin 1698: 698 -nan -nan -nan -nan -nan -nan -nan -nan -nan 699 
+  Bin 1699: 699 -nan -nan -nan -nan -nan -nan -nan -nan -nan 700 
+  Bin 1700: 700 -nan -nan -nan -nan -nan -nan -nan -nan -nan 701 
+  Bin 1701: 701 -nan -nan -nan -nan -nan -nan -nan -nan -nan 702 
+  Bin 1702: 702 -nan -nan -nan -nan -nan -nan -nan -nan -nan 703 
+  Bin 1703: 703 -nan -nan -nan -nan -nan -nan -nan -nan -nan 704 
+  Bin 1704: 704 -nan -nan -nan -nan -nan -nan -nan -nan -nan 705 
+  Bin 1705: 705 -nan -nan -nan -nan -nan -nan -nan -nan -nan 706 
+  Bin 1706: 706 -nan -nan -nan -nan -nan -nan -nan -nan -nan 707 
+  Bin 1707: 707 -nan -nan -nan -nan -nan -nan -nan -nan -nan 708 
+  Bin 1708: 708 -nan -nan -nan -nan -nan -nan -nan -nan -nan 709 
+  Bin 1709: 709 -nan -nan -nan -nan -nan -nan -nan -nan -nan 710 
+  Bin 1710: 710 -nan -nan -nan -nan -nan -nan -nan -nan -nan 711 
+  Bin 1711: 711 -nan -nan -nan -nan -nan -nan -nan -nan -nan 712 
+  Bin 1712: 712 -nan -nan -nan -nan -nan -nan -nan -nan -nan 713 
+  Bin 1713: 713 -nan -nan -nan -nan -nan -nan -nan -nan -nan 714 
+  Bin 1714: 714 -nan -nan -nan -nan -nan -nan -nan -nan -nan 715 
+  Bin 1715: 715 -nan -nan -nan -nan -nan -nan -nan -nan -nan 716 
+  Bin 1716: 716 -nan -nan -nan -nan -nan -nan -nan -nan -nan 717 
+  Bin 1717: 717 -nan -nan -nan -nan -nan -nan -nan -nan -nan 718 
+  Bin 1718: 718 -nan -nan -nan -nan -nan -nan -nan -nan -nan 719 
+  Bin 1719: 719 -nan -nan -nan -nan -nan -nan -nan -nan -nan 720 
+  Bin 1720: 720 -nan -nan -nan -nan -nan -nan -nan -nan -nan 721 
+  Bin 1721: 721 -nan -nan -nan -nan -nan -nan -nan -nan -nan 722 
+  Bin 1722: 722 -nan -nan -nan -nan -nan -nan -nan -nan -nan 723 
+  Bin 1723: 723 -nan -nan -nan -nan -nan -nan -nan -nan -nan 724 
+  Bin 1724: 724 -nan -nan -nan -nan -nan -nan -nan -nan -nan 725 
+  Bin 1725: 725 -nan -nan -nan -nan -nan -nan -nan -nan -nan 726 
+  Bin 1726: 726 -nan -nan -nan -nan -nan -nan -nan -nan -nan 727 
+  Bin 1727: 727 -nan -nan -nan -nan -nan -nan -nan -nan -nan 728 
+  Bin 1728: 728 -nan -nan -nan -nan -nan -nan -nan -nan -nan 729 
+  Bin 1729: 729 -nan -nan -nan -nan -nan -nan -nan -nan -nan 730 
+  Bin 1730: 730 -nan -nan -nan -nan -nan -nan -nan -nan -nan 731 
+  Bin 1731: 731 -nan -nan -nan -nan -nan -nan -nan -nan -nan 732 
+  Bin 1732: 732 -nan -nan -nan -nan -nan -nan -nan -nan -nan 733 
+  Bin 1733: 733 -nan -nan -nan -nan -nan -nan -nan -nan -nan 734 
+  Bin 1734: 734 -nan -nan -nan -nan -nan -nan -nan -nan -nan 735 
+  Bin 1735: 735 -nan -nan -nan -nan -nan -nan -nan -nan -nan 736 
+  Bin 1736: 736 -nan -nan -nan -nan -nan -nan -nan -nan -nan 737 
+  Bin 1737: 737 -nan -nan -nan -nan -nan -nan -nan -nan -nan 738 
+  Bin 1738: 738 -nan -nan -nan -nan -nan -nan -nan -nan -nan 739 
+  Bin 1739: 739 -nan -nan -nan -nan -nan -nan -nan -nan -nan 740 
+  Bin 1740: 740 -nan -nan -nan -nan -nan -nan -nan -nan -nan 741 
+  Bin 1741: 741 -nan -nan -nan -nan -nan -nan -nan -nan -nan 742 
+  Bin 1742: 742 -nan -nan -nan -nan -nan -nan -nan -nan -nan 743 
+  Bin 1743: 743 -nan -nan -nan -nan -nan -nan -nan -nan -nan 744 
+  Bin 1744: 744 -nan -nan -nan -nan -nan -nan -nan -nan -nan 745 
+  Bin 1745: 745 -nan -nan -nan -nan -nan -nan -nan -nan -nan 746 
+  Bin 1746: 746 -nan -nan -nan -nan -nan -nan -nan -nan -nan 747 
+  Bin 1747: 747 -nan -nan -nan -nan -nan -nan -nan -nan -nan 748 
+  Bin 1748: 748 -nan -nan -nan -nan -nan -nan -nan -nan -nan 749 
+  Bin 1749: 749 -nan -nan -nan -nan -nan -nan -nan -nan -nan 750 
+  Bin 1750: 750 -nan -nan -nan -nan -nan -nan -nan -nan -nan 751 
+  Bin 1751: 751 -nan -nan -nan -nan -nan -nan -nan -nan -nan 752 
+  Bin 1752: 752 -nan -nan -nan -nan -nan -nan -nan -nan -nan 753 
+  Bin 1753: 753 -nan -nan -nan -nan -nan -nan -nan -nan -nan 754 
+  Bin 1754: 754 -nan -nan -nan -nan -nan -nan -nan -nan -nan 755 
+  Bin 1755: 755 -nan -nan -nan -nan -nan -nan -nan -nan -nan 756 
+  Bin 1756: 756 -nan -nan -nan -nan -nan -nan -nan -nan -nan 757 
+  Bin 1757: 757 -nan -nan -nan -nan -nan -nan -nan -nan -nan 758 
+  Bin 1758: 758 -nan -nan -nan -nan -nan -nan -nan -nan -nan 759 
+  Bin 1759: 759 -nan -nan -nan -nan -nan -nan -nan -nan -nan 760 
+  Bin 1760: 760 -nan -nan -nan -nan -nan -nan -nan -nan -nan 761 
+  Bin 1761: 761 -nan -nan -nan -nan -nan -nan -nan -nan -nan 762 
+  Bin 1762: 762 -nan -nan -nan -nan -nan -nan -nan -nan -nan 763 
+  Bin 1763: 763 -nan -nan -nan -nan -nan -nan -nan -nan -nan 764 
+  Bin 1764: 764 -nan -nan -nan -nan -nan -nan -nan -nan -nan 765 
+  Bin 1765: 765 -nan -nan -nan -nan -nan -nan -nan -nan -nan 766 
+  Bin 1766: 766 -nan -nan -nan -nan -nan -nan -nan -nan -nan 767 
+  Bin 1767: 767 -nan -nan -nan -nan -nan -nan -nan -nan -nan 768 
+  Bin 1768: 768 -nan -nan -nan -nan -nan -nan -nan -nan -nan 769 
+  Bin 1769: 769 -nan -nan -nan -nan -nan -nan -nan -nan -nan 770 
+  Bin 1770: 770 -nan -nan -nan -nan -nan -nan -nan -nan -nan 771 
+  Bin 1771: 771 -nan -nan -nan -nan -nan -nan -nan -nan -nan 772 
+  Bin 1772: 772 -nan -nan -nan -nan -nan -nan -nan -nan -nan 773 
+  Bin 1773: 773 -nan -nan -nan -nan -nan -nan -nan -nan -nan 774 
+  Bin 1774: 774 -nan -nan -nan -nan -nan -nan -nan -nan -nan 775 
+  Bin 1775: 775 -nan -nan -nan -nan -nan -nan -nan -nan -nan 776 
+  Bin 1776: 776 -nan -nan -nan -nan -nan -nan -nan -nan -nan 777 
+  Bin 1777: 777 -nan -nan -nan -nan -nan -nan -nan -nan -nan 778 
+  Bin 1778: 778 -nan -nan -nan -nan -nan -nan -nan -nan -nan 779 
+  Bin 1779: 779 -nan -nan -nan -nan -nan -nan -nan -nan -nan 780 
+  Bin 1780: 780 -nan -nan -nan -nan -nan -nan -nan -nan -nan 781 
+  Bin 1781: 781 -nan -nan -nan -nan -nan -nan -nan -nan -nan 782 
+  Bin 1782: 782 -nan -nan -nan -nan -nan -nan -nan -nan -nan 783 
+  Bin 1783: 783 -nan -nan -nan -nan -nan -nan -nan -nan -nan 784 
+  Bin 1784: 784 -nan -nan -nan -nan -nan -nan -nan -nan -nan 785 
+  Bin 1785: 785 -nan -nan -nan -nan -nan -nan -nan -nan -nan 786 
+  Bin 1786: 786 -nan -nan -nan -nan -nan -nan -nan -nan -nan 787 
+  Bin 1787: 787 -nan -nan -nan -nan -nan -nan -nan -nan -nan 788 
+  Bin 1788: 788 -nan -nan -nan -nan -nan -nan -nan -nan -nan 789 
+  Bin 1789: 789 -nan -nan -nan -nan -nan -nan -nan -nan -nan 790 
+  Bin 1790: 790 -nan -nan -nan -nan -nan -nan -nan -nan -nan 791 
+  Bin 1791: 791 -nan -nan -nan -nan -nan -nan -nan -nan -nan 792 
+  Bin 1792: 792 -nan -nan -nan -nan -nan -nan -nan -nan -nan 793 
+  Bin 1793: 793 -nan -nan -nan -nan -nan -nan -nan -nan -nan 794 
+  Bin 1794: 794 -nan -nan -nan -nan -nan -nan -nan -nan -nan 795 
+  Bin 1795: 795 -nan -nan -nan -nan -nan -nan -nan -nan -nan 796 
+  Bin 1796: 796 -nan -nan -nan -nan -nan -nan -nan -nan -nan 797 
+  Bin 1797: 797 -nan -nan -nan -nan -nan -nan -nan -nan -nan 798 
+  Bin 1798: 798 -nan -nan -nan -nan -nan -nan -nan -nan -nan 799 
+  Bin 1799: 799 -nan -nan -nan -nan -nan -nan -nan -nan -nan 800 
+  Bin 1800: 800 -nan -nan -nan -nan -nan -nan -nan -nan -nan 801 
+  Bin 1801: 801 -nan -nan -nan -nan -nan -nan -nan -nan -nan 802 
+  Bin 1802: 802 -nan -nan -nan -nan -nan -nan -nan -nan -nan 803 
+  Bin 1803: 803 -nan -nan -nan -nan -nan -nan -nan -nan -nan 804 
+  Bin 1804: 804 -nan -nan -nan -nan -nan -nan -nan -nan -nan 805 
+  Bin 1805: 805 -nan -nan -nan -nan -nan -nan -nan -nan -nan 806 
+  Bin 1806: 806 -nan -nan -nan -nan -nan -nan -nan -nan -nan 807 
+  Bin 1807: 807 -nan -nan -nan -nan -nan -nan -nan -nan -nan 808 
+  Bin 1808: 808 -nan -nan -nan -nan -nan -nan -nan -nan -nan 809 
+  Bin 1809: 809 -nan -nan -nan -nan -nan -nan -nan -nan -nan 810 
+  Bin 1810: 810 -nan -nan -nan -nan -nan -nan -nan -nan -nan 811 
+  Bin 1811: 811 -nan -nan -nan -nan -nan -nan -nan -nan -nan 812 
+  Bin 1812: 812 -nan -nan -nan -nan -nan -nan -nan -nan -nan 813 
+  Bin 1813: 813 -nan -nan -nan -nan -nan -nan -nan -nan -nan 814 
+  Bin 1814: 814 -nan -nan -nan -nan -nan -nan -nan -nan -nan 815 
+  Bin 1815: 815 -nan -nan -nan -nan -nan -nan -nan -nan -nan 816 
+  Bin 1816: 816 -nan -nan -nan -nan -nan -nan -nan -nan -nan 817 
+  Bin 1817: 817 -nan -nan -nan -nan -nan -nan -nan -nan -nan 818 
+  Bin 1818: 818 -nan -nan -nan -nan -nan -nan -nan -nan -nan 819 
+  Bin 1819: 819 -nan -nan -nan -nan -nan -nan -nan -nan -nan 820 
+  Bin 1820: 820 -nan -nan -nan -nan -nan -nan -nan -nan -nan 821 
+  Bin 1821: 821 -nan -nan -nan -nan -nan -nan -nan -nan -nan 822 
+  Bin 1822: 822 -nan -nan -nan -nan -nan -nan -nan -nan -nan 823 
+  Bin 1823: 823 -nan -nan -nan -nan -nan -nan -nan -nan -nan 824 
+  Bin 1824: 824 -nan -nan -nan -nan -nan -nan -nan -nan -nan 825 
+  Bin 1825: 825 -nan -nan -nan -nan -nan -nan -nan -nan -nan 826 
+  Bin 1826: 826 -nan -nan -nan -nan -nan -nan -nan -nan -nan 827 
+  Bin 1827: 827 -nan -nan -nan -nan -nan -nan -nan -nan -nan 828 
+  Bin 1828: 828 -nan -nan -nan -nan -nan -nan -nan -nan -nan 829 
+  Bin 1829: 829 -nan -nan -nan -nan -nan -nan -nan -nan -nan 830 
+  Bin 1830: 830 -nan -nan -nan -nan -nan -nan -nan -nan -nan 831 
+  Bin 1831: 831 -nan -nan -nan -nan -nan -nan -nan -nan -nan 832 
+  Bin 1832: 832 -nan -nan -nan -nan -nan -nan -nan -nan -nan 833 
+  Bin 1833: 833 -nan -nan -nan -nan -nan -nan -nan -nan -nan 834 
+  Bin 1834: 834 -nan -nan -nan -nan -nan -nan -nan -nan -nan 835 
+  Bin 1835: 835 -nan -nan -nan -nan -nan -nan -nan -nan -nan 836 
+  Bin 1836: 836 -nan -nan -nan -nan -nan -nan -nan -nan -nan 837 
+  Bin 1837: 837 -nan -nan -nan -nan -nan -nan -nan -nan -nan 838 
+  Bin 1838: 838 -nan -nan -nan -nan -nan -nan -nan -nan -nan 839 
+  Bin 1839: 839 -nan -nan -nan -nan -nan -nan -nan -nan -nan 840 
+  Bin 1840: 840 -nan -nan -nan -nan -nan -nan -nan -nan -nan 841 
+  Bin 1841: 841 -nan -nan -nan -nan -nan -nan -nan -nan -nan 842 
+  Bin 1842: 842 -nan -nan -nan -nan -nan -nan -nan -nan -nan 843 
+  Bin 1843: 843 -nan -nan -nan -nan -nan -nan -nan -nan -nan 844 
+  Bin 1844: 844 -nan -nan -nan -nan -nan -nan -nan -nan -nan 845 
+  Bin 1845: 845 -nan -nan -nan -nan -nan -nan -nan -nan -nan 846 
+  Bin 1846: 846 -nan -nan -nan -nan -nan -nan -nan -nan -nan 847 
+  Bin 1847: 847 -nan -nan -nan -nan -nan -nan -nan -nan -nan 848 
+  Bin 1848: 848 -nan -nan -nan -nan -nan -nan -nan -nan -nan 849 
+  Bin 1849: 849 -nan -nan -nan -nan -nan -nan -nan -nan -nan 850 
+  Bin 1850: 850 -nan -nan -nan -nan -nan -nan -nan -nan -nan 851 
+  Bin 1851: 851 -nan -nan -nan -nan -nan -nan -nan -nan -nan 852 
+  Bin 1852: 852 -nan -nan -nan -nan -nan -nan -nan -nan -nan 853 
+  Bin 1853: 853 -nan -nan -nan -nan -nan -nan -nan -nan -nan 854 
+  Bin 1854: 854 -nan -nan -nan -nan -nan -nan -nan -nan -nan 855 
+  Bin 1855: 855 -nan -nan -nan -nan -nan -nan -nan -nan -nan 856 
+  Bin 1856: 856 -nan -nan -nan -nan -nan -nan -nan -nan -nan 857 
+  Bin 1857: 857 -nan -nan -nan -nan -nan -nan -nan -nan -nan 858 
+  Bin 1858: 858 -nan -nan -nan -nan -nan -nan -nan -nan -nan 859 
+  Bin 1859: 859 -nan -nan -nan -nan -nan -nan -nan -nan -nan 860 
+  Bin 1860: 860 -nan -nan -nan -nan -nan -nan -nan -nan -nan 861 
+  Bin 1861: 861 -nan -nan -nan -nan -nan -nan -nan -nan -nan 862 
+  Bin 1862: 862 -nan -nan -nan -nan -nan -nan -nan -nan -nan 863 
+  Bin 1863: 863 -nan -nan -nan -nan -nan -nan -nan -nan -nan 864 
+  Bin 1864: 864 -nan -nan -nan -nan -nan -nan -nan -nan -nan 865 
+  Bin 1865: 865 -nan -nan -nan -nan -nan -nan -nan -nan -nan 866 
+  Bin 1866: 866 -nan -nan -nan -nan -nan -nan -nan -nan -nan 867 
+  Bin 1867: 867 -nan -nan -nan -nan -nan -nan -nan -nan -nan 868 
+  Bin 1868: 868 -nan -nan -nan -nan -nan -nan -nan -nan -nan 869 
+  Bin 1869: 869 -nan -nan -nan -nan -nan -nan -nan -nan -nan 870 
+  Bin 1870: 870 -nan -nan -nan -nan -nan -nan -nan -nan -nan 871 
+  Bin 1871: 871 -nan -nan -nan -nan -nan -nan -nan -nan -nan 872 
+  Bin 1872: 872 -nan -nan -nan -nan -nan -nan -nan -nan -nan 873 
+  Bin 1873: 873 -nan -nan -nan -nan -nan -nan -nan -nan -nan 874 
+  Bin 1874: 874 -nan -nan -nan -nan -nan -nan -nan -nan -nan 875 
+  Bin 1875: 875 -nan -nan -nan -nan -nan -nan -nan -nan -nan 876 
+  Bin 1876: 876 -nan -nan -nan -nan -nan -nan -nan -nan -nan 877 
+  Bin 1877: 877 -nan -nan -nan -nan -nan -nan -nan -nan -nan 878 
+  Bin 1878: 878 -nan -nan -nan -nan -nan -nan -nan -nan -nan 879 
+  Bin 1879: 879 -nan -nan -nan -nan -nan -nan -nan -nan -nan 880 
+  Bin 1880: 880 -nan -nan -nan -nan -nan -nan -nan -nan -nan 881 
+  Bin 1881: 881 -nan -nan -nan -nan -nan -nan -nan -nan -nan 882 
+  Bin 1882: 882 -nan -nan -nan -nan -nan -nan -nan -nan -nan 883 
+  Bin 1883: 883 -nan -nan -nan -nan -nan -nan -nan -nan -nan 884 
+  Bin 1884: 884 -nan -nan -nan -nan -nan -nan -nan -nan -nan 885 
+  Bin 1885: 885 -nan -nan -nan -nan -nan -nan -nan -nan -nan 886 
+  Bin 1886: 886 -nan -nan -nan -nan -nan -nan -nan -nan -nan 887 
+  Bin 1887: 887 -nan -nan -nan -nan -nan -nan -nan -nan -nan 888 
+  Bin 1888: 888 -nan -nan -nan -nan -nan -nan -nan -nan -nan 889 
+  Bin 1889: 889 -nan -nan -nan -nan -nan -nan -nan -nan -nan 890 
+  Bin 1890: 890 -nan -nan -nan -nan -nan -nan -nan -nan -nan 891 
+  Bin 1891: 891 -nan -nan -nan -nan -nan -nan -nan -nan -nan 892 
+  Bin 1892: 892 -nan -nan -nan -nan -nan -nan -nan -nan -nan 893 
+  Bin 1893: 893 -nan -nan -nan -nan -nan -nan -nan -nan -nan 894 
+  Bin 1894: 894 -nan -nan -nan -nan -nan -nan -nan -nan -nan 895 
+  Bin 1895: 895 -nan -nan -nan -nan -nan -nan -nan -nan -nan 896 
+  Bin 1896: 896 -nan -nan -nan -nan -nan -nan -nan -nan -nan 897 
+  Bin 1897: 897 -nan -nan -nan -nan -nan -nan -nan -nan -nan 898 
+  Bin 1898: 898 -nan -nan -nan -nan -nan -nan -nan -nan -nan 899 
+  Bin 1899: 899 -nan -nan -nan -nan -nan -nan -nan -nan -nan 900 
+  Bin 1900: 900 -nan -nan -nan -nan -nan -nan -nan -nan -nan 901 
+  Bin 1901: 901 -nan -nan -nan -nan -nan -nan -nan -nan -nan 902 
+  Bin 1902: 902 -nan -nan -nan -nan -nan -nan -nan -nan -nan 903 
+  Bin 1903: 903 -nan -nan -nan -nan -nan -nan -nan -nan -nan 904 
+  Bin 1904: 904 -nan -nan -nan -nan -nan -nan -nan -nan -nan 905 
+  Bin 1905: 905 -nan -nan -nan -nan -nan -nan -nan -nan -nan 906 
+  Bin 1906: 906 -nan -nan -nan -nan -nan -nan -nan -nan -nan 907 
+  Bin 1907: 907 -nan -nan -nan -nan -nan -nan -nan -nan -nan 908 
+  Bin 1908: 908 -nan -nan -nan -nan -nan -nan -nan -nan -nan 909 
+  Bin 1909: 909 -nan -nan -nan -nan -nan -nan -nan -nan -nan 910 
+  Bin 1910: 910 -nan -nan -nan -nan -nan -nan -nan -nan -nan 911 
+  Bin 1911: 911 -nan -nan -nan -nan -nan -nan -nan -nan -nan 912 
+  Bin 1912: 912 -nan -nan -nan -nan -nan -nan -nan -nan -nan 913 
+  Bin 1913: 913 -nan -nan -nan -nan -nan -nan -nan -nan -nan 914 
+  Bin 1914: 914 -nan -nan -nan -nan -nan -nan -nan -nan -nan 915 
+  Bin 1915: 915 -nan -nan -nan -nan -nan -nan -nan -nan -nan 916 
+  Bin 1916: 916 -nan -nan -nan -nan -nan -nan -nan -nan -nan 917 
+  Bin 1917: 917 -nan -nan -nan -nan -nan -nan -nan -nan -nan 918 
+  Bin 1918: 918 -nan -nan -nan -nan -nan -nan -nan -nan -nan 919 
+  Bin 1919: 919 -nan -nan -nan -nan -nan -nan -nan -nan -nan 920 
+  Bin 1920: 920 -nan -nan -nan -nan -nan -nan -nan -nan -nan 921 
+  Bin 1921: 921 -nan -nan -nan -nan -nan -nan -nan -nan -nan 922 
+  Bin 1922: 922 -nan -nan -nan -nan -nan -nan -nan -nan -nan 923 
+  Bin 1923: 923 -nan -nan -nan -nan -nan -nan -nan -nan -nan 924 
+  Bin 1924: 924 -nan -nan -nan -nan -nan -nan -nan -nan -nan 925 
+  Bin 1925: 925 -nan -nan -nan -nan -nan -nan -nan -nan -nan 926 
+  Bin 1926: 926 -nan -nan -nan -nan -nan -nan -nan -nan -nan 927 
+  Bin 1927: 927 -nan -nan -nan -nan -nan -nan -nan -nan -nan 928 
+  Bin 1928: 928 -nan -nan -nan -nan -nan -nan -nan -nan -nan 929 
+  Bin 1929: 929 -nan -nan -nan -nan -nan -nan -nan -nan -nan 930 
+  Bin 1930: 930 -nan -nan -nan -nan -nan -nan -nan -nan -nan 931 
+  Bin 1931: 931 -nan -nan -nan -nan -nan -nan -nan -nan -nan 932 
+  Bin 1932: 932 -nan -nan -nan -nan -nan -nan -nan -nan -nan 933 
+  Bin 1933: 933 -nan -nan -nan -nan -nan -nan -nan -nan -nan 934 
+  Bin 1934: 934 -nan -nan -nan -nan -nan -nan -nan -nan -nan 935 
+  Bin 1935: 935 -nan -nan -nan -nan -nan -nan -nan -nan -nan 936 
+  Bin 1936: 936 -nan -nan -nan -nan -nan -nan -nan -nan -nan 937 
+  Bin 1937: 937 -nan -nan -nan -nan -nan -nan -nan -nan -nan 938 
+  Bin 1938: 938 -nan -nan -nan -nan -nan -nan -nan -nan -nan 939 
+  Bin 1939: 939 -nan -nan -nan -nan -nan -nan -nan -nan -nan 940 
+  Bin 1940: 940 -nan -nan -nan -nan -nan -nan -nan -nan -nan 941 
+  Bin 1941: 941 -nan -nan -nan -nan -nan -nan -nan -nan -nan 942 
+  Bin 1942: 942 -nan -nan -nan -nan -nan -nan -nan -nan -nan 943 
+  Bin 1943: 943 -nan -nan -nan -nan -nan -nan -nan -nan -nan 944 
+  Bin 1944: 944 -nan -nan -nan -nan -nan -nan -nan -nan -nan 945 
+  Bin 1945: 945 -nan -nan -nan -nan -nan -nan -nan -nan -nan 946 
+  Bin 1946: 946 -nan -nan -nan -nan -nan -nan -nan -nan -nan 947 
+  Bin 1947: 947 -nan -nan -nan -nan -nan -nan -nan -nan -nan 948 
+  Bin 1948: 948 -nan -nan -nan -nan -nan -nan -nan -nan -nan 949 
+  Bin 1949: 949 -nan -nan -nan -nan -nan -nan -nan -nan -nan 950 
+  Bin 1950: 950 -nan -nan -nan -nan -nan -nan -nan -nan -nan 951 
+  Bin 1951: 951 -nan -nan -nan -nan -nan -nan -nan -nan -nan 952 
+  Bin 1952: 952 -nan -nan -nan -nan -nan -nan -nan -nan -nan 953 
+  Bin 1953: 953 -nan -nan -nan -nan -nan -nan -nan -nan -nan 954 
+  Bin 1954: 954 -nan -nan -nan -nan -nan -nan -nan -nan -nan 955 
+  Bin 1955: 955 -nan -nan -nan -nan -nan -nan -nan -nan -nan 956 
+  Bin 1956: 956 -nan -nan -nan -nan -nan -nan -nan -nan -nan 957 
+  Bin 1957: 957 -nan -nan -nan -nan -nan -nan -nan -nan -nan 958 
+  Bin 1958: 958 -nan -nan -nan -nan -nan -nan -nan -nan -nan 959 
+  Bin 1959: 959 -nan -nan -nan -nan -nan -nan -nan -nan -nan 960 
+  Bin 1960: 960 -nan -nan -nan -nan -nan -nan -nan -nan -nan 961 
+  Bin 1961: 961 -nan -nan -nan -nan -nan -nan -nan -nan -nan 962 
+  Bin 1962: 962 -nan -nan -nan -nan -nan -nan -nan -nan -nan 963 
+  Bin 1963: 963 -nan -nan -nan -nan -nan -nan -nan -nan -nan 964 
+  Bin 1964: 964 -nan -nan -nan -nan -nan -nan -nan -nan -nan 965 
+  Bin 1965: 965 -nan -nan -nan -nan -nan -nan -nan -nan -nan 966 
+  Bin 1966: 966 -nan -nan -nan -nan -nan -nan -nan -nan -nan 967 
+  Bin 1967: 967 -nan -nan -nan -nan -nan -nan -nan -nan -nan 968 
+  Bin 1968: 968 -nan -nan -nan -nan -nan -nan -nan -nan -nan 969 
+  Bin 1969: 969 -nan -nan -nan -nan -nan -nan -nan -nan -nan 970 
+  Bin 1970: 970 -nan -nan -nan -nan -nan -nan -nan -nan -nan 971 
+  Bin 1971: 971 -nan -nan -nan -nan -nan -nan -nan -nan -nan 972 
+  Bin 1972: 972 -nan -nan -nan -nan -nan -nan -nan -nan -nan 973 
+  Bin 1973: 973 -nan -nan -nan -nan -nan -nan -nan -nan -nan 974 
+  Bin 1974: 974 -nan -nan -nan -nan -nan -nan -nan -nan -nan 975 
+  Bin 1975: 975 -nan -nan -nan -nan -nan -nan -nan -nan -nan 976 
+  Bin 1976: 976 -nan -nan -nan -nan -nan -nan -nan -nan -nan 977 
+  Bin 1977: 977 -nan -nan -nan -nan -nan -nan -nan -nan -nan 978 
+  Bin 1978: 978 -nan -nan -nan -nan -nan -nan -nan -nan -nan 979 
+  Bin 1979: 979 -nan -nan -nan -nan -nan -nan -nan -nan -nan 980 
+  Bin 1980: 980 -nan -nan -nan -nan -nan -nan -nan -nan -nan 981 
+  Bin 1981: 981 -nan -nan -nan -nan -nan -nan -nan -nan -nan 982 
+  Bin 1982: 982 -nan -nan -nan -nan -nan -nan -nan -nan -nan 983 
+  Bin 1983: 983 -nan -nan -nan -nan -nan -nan -nan -nan -nan 984 
+  Bin 1984: 984 -nan -nan -nan -nan -nan -nan -nan -nan -nan 985 
+  Bin 1985: 985 -nan -nan -nan -nan -nan -nan -nan -nan -nan 986 
+  Bin 1986: 986 -nan -nan -nan -nan -nan -nan -nan -nan -nan 987 
+  Bin 1987: 987 -nan -nan -nan -nan -nan -nan -nan -nan -nan 988 
+  Bin 1988: 988 -nan -nan -nan -nan -nan -nan -nan -nan -nan 989 
+  Bin 1989: 989 -nan -nan -nan -nan -nan -nan -nan -nan -nan 990 
+  Bin 1990: 990 -nan -nan -nan -nan -nan -nan -nan -nan -nan 991 
+  Bin 1991: 991 -nan -nan -nan -nan -nan -nan -nan -nan -nan 992 
+  Bin 1992: 992 -nan -nan -nan -nan -nan -nan -nan -nan -nan 993 
+  Bin 1993: 993 -nan -nan -nan -nan -nan -nan -nan -nan -nan 994 
+  Bin 1994: 994 -nan -nan -nan -nan -nan -nan -nan -nan -nan 995 
+  Bin 1995: 995 -nan -nan -nan -nan -nan -nan -nan -nan -nan 996 
+  Bin 1996: 996 -nan -nan -nan -nan -nan -nan -nan -nan -nan 997 
+  Bin 1997: 997 -nan -nan -nan -nan -nan -nan -nan -nan -nan 998 
+  Bin 1998: 998 -nan -nan -nan -nan -nan -nan -nan -nan -nan 999 
+  Bin 1999: 999 -nan -nan -nan -nan -nan -nan -nan -nan -nan 1000 
+
+Det 6:
+  Bin 0: -90 -nan -nan -nan -nan -nan -nan -nan -nan -nan -89 
+  Bin 1: -89 -nan -nan -nan -nan -nan -nan -nan -nan -nan -88 
+  Bin 2: -88 -nan -nan -nan -nan -nan -nan -nan -nan -nan -87 
+  Bin 3: -87 -nan -nan -nan -nan -nan -nan -nan -nan -nan -86 
+  Bin 4: -86 -nan -nan -nan -nan -nan -nan -nan -nan -nan -85 
+  Bin 5: -85 -nan -nan -nan -nan -nan -nan -nan -nan -nan -84 
+  Bin 6: -84 -nan -nan -nan -nan -nan -nan -nan -nan -nan -83 
+  Bin 7: -83 -nan -nan -nan -nan -nan -nan -nan -nan -nan -82 
+  Bin 8: -82 -nan -nan -nan -nan -nan -nan -nan -nan -nan -81 
+  Bin 9: -81 -nan -nan -nan -nan -nan -nan -nan -nan -nan -80 
+  Bin 10: -80 -nan -nan -nan -nan -nan -nan -nan -nan -nan -79 
+  Bin 11: -79 -nan -nan -nan -nan -nan -nan -nan -nan -nan -78 
+  Bin 12: -78 -nan -nan -nan -nan -nan -nan -nan -nan -nan -77 
+  Bin 13: -77 -77 -77 -77 -77 -77 -77 -77 -76.7745 -76.3405 -76 
+  Bin 14: -76 -76 -76 -75.8648 -75.8648 -75.8648 -75.7416 -75.5025 -75.3863 -75.2733 -75 
+  Bin 15: -75 -75 -73.656 -73.656 -73.656 -73.0314 -72.4212 -70.6318 -70.3597 -70.3597 -74 
+  Bin 16: -74 -nan -nan -nan -nan -nan -nan -nan -nan -nan -73 
+  Bin 17: -73 -73 -73 -72.942 -72.942 -72.8906 -72.8906 -72.8906 -72.8466 -72.5953 -72 
+  Bin 18: -72 -71.9779 -71.9355 -71.8837 -71.8392 -71.8203 -71.8054 -71.7846 -71.7149 -71.4765 -71 
+  Bin 19: -71 -70.9318 -70.877 -70.8396 -70.7995 -70.7661 -70.7068 -70.6244 -70.514 -70.332 -70 
+  Bin 20: -70 -69.7862 -69.6689 -69.5989 -69.5534 -69.5157 -69.4737 -69.4184 -69.3438 -69.2242 -69 
+  Bin 21: -69 -68.7633 -68.6295 -68.5557 -68.5016 -68.4599 -68.4187 -68.3685 -68.2973 -68.1867 -68 
+  Bin 22: -68 -67.771 -67.6524 -67.5792 -67.5292 -67.488 -67.4515 -67.4058 -67.3354 -67.2197 -67 
+  Bin 23: -67 -66.751 -66.6196 -66.5454 -66.4962 -66.4565 -66.421 -66.3787 -66.3111 -66.2044 -66 
+  Bin 24: -66 -65.7492 -65.6172 -65.5439 -65.4879 -65.4439 -65.4104 -65.3626 -65.2976 -65.1874 -65 
+  Bin 25: -65 -64.7655 -64.6128 -64.5298 -64.4706 -64.427 -64.3847 -64.336 -64.2646 -64.1634 -64 
+  Bin 26: -64 -63.7932 -63.6586 -63.5736 -63.5137 -63.4646 -63.4171 -63.3622 -63.2864 -63.1772 -63 
+  Bin 27: -63 -62.7985 -62.6633 -62.5773 -62.512 -62.4594 -62.4151 -62.3587 -62.2836 -62.1689 -62 
+  Bin 28: -62 -61.8056 -61.6855 -61.6045 -61.5499 -61.5042 -61.4562 -61.3983 -61.3173 -61.1908 -61 
+  Bin 29: -61 -60.7846 -60.6572 -60.5785 -60.5207 -60.4735 -60.4307 -60.3779 -60.3045 -60.1856 -60 
+  Bin 30: -60 -59.796 -59.6609 -59.5769 -59.5161 -59.4708 -59.4201 -59.365 -59.2872 -59.176 -59 
+  Bin 31: -59 -58.7867 -58.6587 -58.5747 -58.518 -58.4702 -58.4232 -58.3692 -58.2963 -58.1792 -58 
+  Bin 32: -58 -57.7974 -57.6666 -57.5798 -57.5132 -57.4612 -57.4207 -57.3708 -57.2967 -57.1861 -57 
+  Bin 33: -57 -56.788 -56.6486 -56.5623 -56.5022 -56.4509 -56.404 -56.3478 -56.2741 -56.1686 -56 
+  Bin 34: -56 -55.8206 -55.7022 -55.6188 -55.5611 -55.5121 -55.4613 -55.4011 -55.3217 -55.1985 -55 
+  Bin 35: -55 -54.7747 -54.6499 -54.5697 -54.5121 -54.4637 -54.4189 -54.3636 -54.291 -54.1821 -54 
+  Bin 36: -54 -53.7947 -53.6591 -53.5695 -53.503 -53.4514 -53.4042 -53.3503 -53.2757 -53.1719 -53 
+  Bin 37: -53 -52.787 -52.6561 -52.5724 -52.511 -52.4596 -52.4108 -52.3554 -52.283 -52.1785 -52 
+  Bin 38: -52 -51.8158 -51.6896 -51.6099 -51.5526 -51.5061 -51.4532 -51.3891 -51.3091 -51.1875 -51 
+  Bin 39: -51 -50.7908 -50.6767 -50.5974 -50.5357 -50.4864 -50.4433 -50.3865 -50.312 -50.1943 -50 
+  Bin 40: -50 -49.759 -49.6146 -49.52 -49.4525 -49.396 -49.3582 -49.3135 -49.2539 -49.1616 -49 
+  Bin 41: -49 -48.7734 -48.6069 -48.4997 -48.4206 -48.3561 -48.309 -48.2577 -48.1966 -48.118 -48 
+  Bin 42: -48 -47.8392 -47.7073 -47.6155 -47.5444 -47.4807 -47.4077 -47.3312 -47.247 -47.1448 -47 
+  Bin 43: -47 -46.822 -46.6951 -46.5989 -46.5135 -46.4335 -46.3733 -46.3081 -46.2356 -46.1427 -46 
+  Bin 44: -46 -45.8296 -45.7147 -45.6277 -45.5576 -45.4945 -45.4231 -45.3488 -45.2623 -45.1523 -45 
+  Bin 45: -45 -44.8261 -44.7123 -44.6252 -44.549 -44.4773 -44.4157 -44.3463 -44.2647 -44.1578 -44 
+  Bin 46: -44 -43.842 -43.736 -43.6581 -43.5911 -43.5296 -43.4556 -43.3769 -43.2862 -43.1646 -43 
+  Bin 47: -43 -42.7889 -42.6524 -42.5515 -42.4696 -42.3879 -42.3418 -42.2899 -42.2255 -42.1363 -42 
+  Bin 48: -42 -41.8323 -41.7093 -41.6221 -41.555 -41.4947 -41.4161 -41.3365 -41.2514 -41.1487 -41 
+  Bin 49: -41 -40.8296 -40.7114 -40.6256 -40.5539 -40.4877 -40.4222 -40.351 -40.2688 -40.1603 -40 
+  Bin 50: -40 -39.8206 -39.7115 -39.6317 -39.5632 -39.4998 -39.4299 -39.3606 -39.2777 -39.1643 -39 
+  Bin 51: -39 -38.7886 -38.6462 -38.5302 -38.424 -38.3209 -38.2859 -38.2468 -38.1959 -38.1209 -38 
+  Bin 52: -38 -37.8381 -37.7357 -37.667 -37.6155 -37.5717 -37.4749 -37.3755 -37.2749 -37.16 -37 
+  Bin 53: -37 -36.8277 -36.698 -36.6061 -36.5297 -36.4586 -36.3864 -36.3151 -36.2369 -36.1404 -36 
+  Bin 54: -36 -35.8303 -35.7233 -35.6464 -35.5828 -35.5228 -35.4516 -35.3774 -35.2938 -35.1801 -35 
+  Bin 55: -35 -34.8085 -34.6828 -34.5839 -34.4882 -34.3956 -34.3491 -34.297 -34.2293 -34.1354 -34 
+  Bin 56: -34 -33.8509 -33.7665 -33.7083 -33.66 -33.6143 -33.5283 -33.4391 -33.3364 -33.2048 -33 
+  Bin 57: -33 -32.8111 -32.6887 -32.6036 -32.5367 -32.4719 -32.4061 -32.3341 -32.2523 -32.1455 -32 
+  Bin 58: -32 -31.8214 -31.705 -31.6236 -31.5573 -31.5008 -31.4339 -31.3627 -31.2785 -31.1678 -31 
+  Bin 59: -31 -30.8111 -30.6779 -30.5807 -30.4999 -30.4261 -30.3683 -30.3064 -30.2306 -30.1348 -30 
+  Bin 60: -30 -29.8367 -29.7212 -29.64 -29.5722 -29.5149 -29.4448 -29.3675 -29.2759 -29.1639 -29 
+  Bin 61: -29 -28.8283 -28.7003 -28.6052 -28.5279 -28.4578 -28.3955 -28.3292 -28.2499 -28.1448 -28 
+  Bin 62: -28 -27.8296 -27.7109 -27.624 -27.5521 -27.4866 -27.423 -27.3514 -27.268 -27.1577 -27 
+  Bin 63: -27 -26.8341 -26.7166 -26.6282 -26.5538 -26.4874 -26.4234 -26.353 -26.2693 -26.1586 -26 
+  Bin 64: -26 -25.8218 -25.7023 -25.6146 -25.5416 -25.4775 -25.4182 -25.3513 -25.2715 -25.1647 -25 
+  Bin 65: -25 -24.8147 -24.6869 -24.5956 -24.5228 -24.4578 -24.3976 -24.3296 -24.2518 -24.1497 -24 
+  Bin 66: -24 -23.8208 -23.689 -23.5943 -23.5196 -23.4551 -23.39 -23.3224 -23.2447 -23.1459 -23 
+  Bin 67: -23 -22.8324 -22.7061 -22.616 -22.5435 -22.4777 -22.4131 -22.3444 -22.2618 -22.1565 -22 
+  Bin 68: -22 -21.8151 -21.6908 -21.6004 -21.5296 -21.4657 -21.4059 -21.3397 -21.2607 -21.1568 -21 
+  Bin 69: -21 -20.8255 -20.7003 -20.6047 -20.5255 -20.4577 -20.3962 -20.3329 -20.2561 -20.1541 -20 
+  Bin 70: -20 -19.8154 -19.6929 -19.6004 -19.5206 -19.4454 -19.3897 -19.3265 -19.2494 -19.1476 -19 
+  Bin 71: -19 -18.8283 -18.703 -18.6151 -18.5463 -18.4876 -18.421 -18.3469 -18.2637 -18.157 -18 
+  Bin 72: -18 -17.8257 -17.7051 -17.6226 -17.556 -17.4958 -17.4249 -17.3507 -17.2661 -17.1545 -17 
+  Bin 73: -17 -16.8185 -16.702 -16.6152 -16.5418 -16.4712 -16.4118 -16.3435 -16.2627 -16.1552 -16 
+  Bin 74: -16 -15.8101 -15.6816 -15.5863 -15.5105 -15.4463 -15.3921 -15.3306 -15.2567 -15.1554 -15 
+  Bin 75: -15 -14.8217 -14.6921 -14.6003 -14.5275 -14.4625 -14.3968 -14.3243 -14.2422 -14.1395 -14 
+  Bin 76: -14 -13.8491 -13.7261 -13.6334 -13.5608 -13.4945 -13.4285 -13.357 -13.2723 -13.1596 -13 
+  Bin 77: -13 -12.8107 -12.6839 -12.594 -12.5223 -12.462 -12.4039 -12.3392 -12.2612 -12.1552 -12 
+  Bin 78: -12 -11.8236 -11.6941 -11.601 -11.5298 -11.4679 -11.4082 -11.3434 -11.2627 -11.1574 -11 
+  Bin 79: -11 -10.8167 -10.6827 -10.5833 -10.5035 -10.4352 -10.3839 -10.324 -10.2503 -10.1527 -10 
+  Bin 80: -10 -9.82787 -9.70166 -9.61295 -9.54148 -9.48127 -9.4154 -9.34569 -9.26218 -9.15309 -9 
+  Bin 81: -9 -8.81679 -8.6847 -8.58688 -8.50826 -8.43976 -8.38773 -8.3303 -8.25572 -8.15328 -8 
+  Bin 82: -8 -7.81221 -7.68311 -7.59504 -7.52438 -7.46362 -7.39762 -7.32947 -7.24909 -7.14518 -7 
+  Bin 83: -7 -6.8456 -6.72632 -6.63452 -6.55542 -6.48404 -6.4164 -6.34421 -6.2593 -6.14887 -6 
+  Bin 84: -6 -5.8076 -5.68391 -5.59568 -5.52409 -5.46226 -5.40735 -5.34475 -5.26699 -5.1619 -5 
+  Bin 85: -5 -4.83262 -4.7027 -4.6113 -4.53783 -4.47511 -4.41448 -4.34667 -4.26678 -4.15882 -4 
+  Bin 86: -4 -3.81665 -3.69184 -3.60077 -3.52485 -3.45532 -3.39824 -3.33425 -3.25522 -3.14916 -3 
+  Bin 87: -3 -2.83518 -2.72989 -2.65662 -2.59817 -2.54708 -2.48508 -2.41332 -2.32117 -2.1947 -2 
+  Bin 88: -2 -1.79862 -1.67502 -1.59005 -1.52344 -1.4671 -1.4111 -1.34796 -1.26992 -1.16408 -1 
+  Bin 89: -1 -0.828197 -0.705527 -0.618422 -0.548564 -0.483004 -0.417671 -0.345646 -0.258176 -0.145792 0 
+  Bin 90: 0 0.165469 0.272404 0.349438 0.411748 0.464756 0.536984 0.61522 0.709845 0.832544 1 
+  Bin 91: 1 1.18692 1.31542 1.40735 1.47936 1.53963 1.60111 1.66832 1.74884 1.85079 2 
+  Bin 92: 2 2.15432 2.28099 2.37692 2.45492 2.52461 2.59158 2.66356 2.74828 2.85717 3 
+  Bin 93: 3 3.16031 3.27575 3.36109 3.43194 3.49475 3.56004 3.63361 3.72237 3.83957 4 
+  Bin 94: 4 4.16141 4.28109 4.37083 4.44479 4.50921 4.5749 4.64749 4.73374 4.84844 5 
+  Bin 95: 5 5.18505 5.31204 5.4084 5.49061 5.563 5.62025 5.68341 5.76002 5.85952 6 
+  Bin 96: 6 6.15093 6.26593 6.35117 6.41994 6.47819 6.55026 6.62761 6.71727 6.83246 7 
+  Bin 97: 7 7.13391 7.23285 7.30172 7.35569 7.40013 7.49765 7.59852 7.71501 7.85227 8 
+  Bin 98: 8 8.37276 8.59876 8.73864 8.82777 8.88357 8.89583 8.91039 8.92897 8.95664 9 
+  Bin 99: 9 9.03656 9.10789 9.22611 9.36822 9.49956 9.61678 9.75022 9.86966 9.95231 10 
+  Bin 100: 10 10.0834 10.1313 10.1603 10.1803 10.1967 10.2556 10.3433 10.4778 10.6802 11 
+  Bin 101: 11 11.1427 11.3067 11.4422 11.5525 11.6541 11.6965 11.7449 11.8061 11.8881 12 
+  Bin 102: 12 12.167 12.2729 12.35 12.4145 12.4732 12.5364 12.6057 12.6966 12.8178 13 
+  Bin 103: 13 13.1789 13.3006 13.388 13.4589 13.5213 13.5786 13.6432 13.7234 13.8354 14 
+  Bin 104: 14 14.1725 14.2875 14.3671 14.4304 14.4862 14.5471 14.6166 14.7022 14.8217 15 
+  Bin 105: 15 15.1752 15.29 15.3705 15.4335 15.4901 15.5541 15.6273 15.7174 15.8364 16 
+  Bin 106: 16 16.1756 16.299 16.391 16.4664 16.5335 16.5915 16.6586 16.7417 16.8522 17 
+  Bin 107: 17 17.1611 17.2783 17.3648 17.435 17.4946 17.5626 17.6381 17.7268 17.8412 18 
+  Bin 108: 18 18.173 18.3011 18.3967 18.4743 18.5433 18.6027 18.6694 18.7503 18.8535 19 
+  Bin 109: 19 19.1653 19.2942 19.392 19.4699 19.5397 19.6019 19.6688 19.7506 19.8551 20 
+  Bin 110: 20 20.1568 20.2756 20.3634 20.436 20.4979 20.565 20.6411 20.7292 20.8407 21 
+  Bin 111: 21 21.1224 21.2158 21.2881 21.3493 21.4058 21.5174 21.6309 21.7539 21.8838 22 
+  Bin 112: 22 22.244 22.4138 22.5457 22.6493 22.7273 22.76 22.7994 22.8487 22.9097 23 
+  Bin 113: 23 23.0525 23.1249 23.2197 23.3371 23.4737 23.6116 23.7364 23.8469 23.935 24 
+  Bin 114: 24 24.0804 24.1438 24.1923 24.2335 24.2692 24.356 24.4667 24.6059 24.7802 25 
+  Bin 115: 25 25.1285 25.2646 25.3906 25.5098 25.626 25.6736 25.7261 25.7895 25.8752 26 
+  Bin 116: 26 26.1776 26.2979 26.3875 26.4599 26.524 26.5864 26.6539 26.7353 26.845 27 
+  Bin 117: 27 27.173 27.2838 27.3686 27.4401 27.508 27.5728 27.647 27.7366 27.8477 28 
+  Bin 118: 28 28.1533 28.2674 28.3553 28.4276 28.4932 28.5554 28.6254 28.7092 28.825 29 
+  Bin 119: 29 29.1735 29.2891 29.374 29.4454 29.5042 29.5644 29.6325 29.7157 29.831 30 
+  Bin 120: 30 30.1746 30.2815 30.3588 30.4189 30.4721 30.5383 30.6139 30.7061 30.8286 31 
+  Bin 121: 31 31.1629 31.2729 31.3548 31.4183 31.4734 31.535 31.6072 31.6975 31.8239 32 
+  Bin 122: 32 32.1836 32.2997 32.3784 32.4383 32.4868 32.5462 32.6131 32.6991 32.8173 33 
+  Bin 123: 33 33.1707 33.2943 33.3831 33.4507 33.5072 33.5631 33.63 33.7154 33.8329 34 
+  Bin 124: 34 34.1937 34.3198 34.4067 34.4768 34.5353 34.5847 34.6449 34.7207 34.8287 35 
+  Bin 125: 35 35.1801 35.3124 35.4073 35.4812 35.5454 35.5988 35.6602 35.7392 35.8477 36 
+  Bin 126: 36 36.1651 36.2744 36.3501 36.4092 36.4588 36.5224 36.5947 36.6872 36.816 37 
+  Bin 127: 37 37.1828 37.3057 37.3893 37.4535 37.51 37.5632 37.6265 37.707 37.8223 38 
+  Bin 128: 38 38.1948 38.3287 38.4197 38.4899 38.5481 38.599 38.6589 38.7325 38.8388 39 
+  Bin 129: 39 39.1728 39.292 39.3758 39.4409 39.4981 39.5542 39.6209 39.7063 39.8273 40 
+  Bin 130: 40 40.1913 40.3117 40.3946 40.4587 40.5115 40.5643 40.6253 40.7059 40.8205 41 
+  Bin 131: 41 41.18 41.3048 41.3896 41.4544 41.5084 41.5661 41.6318 41.7162 41.8337 42 
+  Bin 132: 42 42.1764 42.2914 42.3718 42.4335 42.4889 42.5449 42.6106 42.6949 42.8187 43 
+  Bin 133: 43 43.1921 43.3184 43.4075 43.4759 43.5343 43.5837 43.6428 43.721 43.8321 44 
+  Bin 134: 44 44.1861 44.3083 44.3918 44.453 44.504 44.5561 44.6177 44.6968 44.8139 45 
+  Bin 135: 45 45.2041 45.3331 45.4188 45.4804 45.531 45.5817 45.6409 45.7164 45.8254 46 
+  Bin 136: 46 46.1976 46.3332 46.4229 46.4886 46.5447 46.5985 46.6615 46.7403 46.8469 47 
+  Bin 137: 47 47.1498 47.2631 47.3475 47.4173 47.4768 47.535 47.6104 47.7052 47.8375 48 
+  Bin 138: 48 48.1623 48.2588 48.3292 48.3811 48.424 48.487 48.5637 48.6601 48.8048 49 
+  Bin 139: 49 49.1841 49.3027 49.3855 49.4474 49.4985 49.5543 49.6188 49.7032 49.8229 50 
+  Bin 140: 50 50.1741 50.2999 50.3866 50.4513 50.5045 50.5597 50.6247 50.7072 50.8297 51 
+  Bin 141: 51 51.1856 51.3084 51.3925 51.4555 51.5086 51.5605 51.6238 51.707 51.8235 52 
+  Bin 142: 52 52.1822 52.3087 52.3977 52.465 52.5209 52.5721 52.6344 52.7143 52.8293 53 
+  Bin 143: 53 53.206 53.3421 53.4354 53.5087 53.5672 53.6151 53.6717 53.7456 53.8465 54 
+  Bin 144: 54 54.1721 54.3075 54.4051 54.4776 54.5373 54.5902 54.6539 54.7327 54.8405 55 
+  Bin 145: 55 55.165 55.2917 55.3817 55.4493 55.5043 55.56 55.6293 55.7168 55.8356 56 
+  Bin 146: 56 56.1602 56.2708 56.3483 56.4109 56.4626 56.5193 56.5897 56.6833 56.8175 57 
+  Bin 147: 57 57.191 57.3041 57.3807 57.4415 57.4927 57.5395 57.6019 57.6802 57.8001 58 
+  Bin 148: 58 58.199 58.3345 58.4215 58.4856 58.5335 58.5855 58.6494 58.7292 58.8423 59 
+  Bin 149: 59 59.1657 59.2838 59.369 59.4333 59.4914 59.5443 59.6076 59.6935 59.8192 60 
+  Bin 150: 60 60.2032 60.3184 60.3934 60.4491 60.4917 60.5434 60.6032 60.6839 60.8006 61 
+  Bin 151: 61 61.1951 61.3349 61.4294 61.4983 61.5516 61.5993 61.6574 61.7322 61.839 62 
+  Bin 152: 62 62.1809 62.3177 62.4052 62.4718 62.5262 62.5717 62.6295 62.7028 62.8113 63 
+  Bin 153: 63 63.1666 63.276 63.3423 63.3946 63.4345 63.5198 63.6201 63.7337 63.864 64 
+  Bin 154: 64 64.28 64.4637 64.5916 64.6902 64.763 64.7883 64.8213 64.8605 64.9124 65 
+  Bin 155: 65 65.0338 65.0889 65.1891 65.3494 65.5469 65.7012 65.8298 65.9132 65.9645 66 
+  Bin 156: 66 66.0749 66.1327 66.1752 66.2134 66.242 66.3174 66.4156 66.5445 66.7361 67 
+  Bin 157: 67 67.1252 67.2702 67.4037 67.5195 67.6248 67.6708 67.723 67.789 67.8766 68 
+  Bin 158: 68 68.1731 68.2973 68.3906 68.464 68.5287 68.5793 68.6401 68.7169 68.8271 69 
+  Bin 159: 69 69.1618 69.2877 69.3778 69.4554 69.5153 69.5785 69.6483 69.734 69.855 70 
+  Bin 160: 70 70.1461 70.2557 70.3383 70.4126 70.4718 70.5301 70.601 70.6874 70.808 71 
+  Bin 161: 71 71.1623 71.2849 71.3711 71.4403 71.4954 71.5524 71.623 71.7128 71.8349 72 
+  Bin 162: 72 72.1541 72.273 72.3559 72.426 72.4862 72.5431 72.6053 72.6929 72.8238 73 
+  Bin 163: 73 73.2133 73.3629 73.4694 73.5531 73.6188 73.6692 73.7229 73.7813 73.8581 74 
+  Bin 164: 74 74.4075 74.6569 74.7577 74.8118 74.8432 74.8573 74.8705 74.884 74.9 75 
+  Bin 165: 75 75.1183 75.2899 75.4055 75.4914 75.5561 75.6475 75.7637 75.8237 75.8937 76 
+  Bin 166: 76 76.2225 76.3149 76.4432 76.5436 76.5785 76.6333 76.6908 76.7713 76.8987 77 
+  Bin 167: 77 77 77.775 77.775 77.775 77.775 77.775 77.775 77.775 77.775 78 
+  Bin 168: 78 78 78.4506 78.4506 78.4506 78.4506 78.4506 78.4506 78.4506 78.4506 79 
+  Bin 169: 79 -nan -nan -nan -nan -nan -nan -nan -nan -nan 80 
+  Bin 170: 80 -nan -nan -nan -nan -nan -nan -nan -nan -nan 81 
+  Bin 171: 81 -nan -nan -nan -nan -nan -nan -nan -nan -nan 82 
+  Bin 172: 82 -nan -nan -nan -nan -nan -nan -nan -nan -nan 83 
+  Bin 173: 83 -nan -nan -nan -nan -nan -nan -nan -nan -nan 84 
+  Bin 174: 84 -nan -nan -nan -nan -nan -nan -nan -nan -nan 85 
+  Bin 175: 85 -nan -nan -nan -nan -nan -nan -nan -nan -nan 86 
+  Bin 176: 86 -nan -nan -nan -nan -nan -nan -nan -nan -nan 87 
+  Bin 177: 87 -nan -nan -nan -nan -nan -nan -nan -nan -nan 88 
+  Bin 178: 88 -nan -nan -nan -nan -nan -nan -nan -nan -nan 89 
+  Bin 179: 89 -nan -nan -nan -nan -nan -nan -nan -nan -nan 90 
+
+Det 7:
+  Bin 0: -1000 -nan -nan -nan -nan -nan -nan -nan -nan -nan -999 
+  Bin 1: -999 -nan -nan -nan -nan -nan -nan -nan -nan -nan -998 
+  Bin 2: -998 -nan -nan -nan -nan -nan -nan -nan -nan -nan -997 
+  Bin 3: -997 -nan -nan -nan -nan -nan -nan -nan -nan -nan -996 
+  Bin 4: -996 -nan -nan -nan -nan -nan -nan -nan -nan -nan -995 
+  Bin 5: -995 -nan -nan -nan -nan -nan -nan -nan -nan -nan -994 
+  Bin 6: -994 -nan -nan -nan -nan -nan -nan -nan -nan -nan -993 
+  Bin 7: -993 -nan -nan -nan -nan -nan -nan -nan -nan -nan -992 
+  Bin 8: -992 -nan -nan -nan -nan -nan -nan -nan -nan -nan -991 
+  Bin 9: -991 -nan -nan -nan -nan -nan -nan -nan -nan -nan -990 
+  Bin 10: -990 -nan -nan -nan -nan -nan -nan -nan -nan -nan -989 
+  Bin 11: -989 -nan -nan -nan -nan -nan -nan -nan -nan -nan -988 
+  Bin 12: -988 -nan -nan -nan -nan -nan -nan -nan -nan -nan -987 
+  Bin 13: -987 -nan -nan -nan -nan -nan -nan -nan -nan -nan -986 
+  Bin 14: -986 -nan -nan -nan -nan -nan -nan -nan -nan -nan -985 
+  Bin 15: -985 -nan -nan -nan -nan -nan -nan -nan -nan -nan -984 
+  Bin 16: -984 -nan -nan -nan -nan -nan -nan -nan -nan -nan -983 
+  Bin 17: -983 -nan -nan -nan -nan -nan -nan -nan -nan -nan -982 
+  Bin 18: -982 -nan -nan -nan -nan -nan -nan -nan -nan -nan -981 
+  Bin 19: -981 -nan -nan -nan -nan -nan -nan -nan -nan -nan -980 
+  Bin 20: -980 -nan -nan -nan -nan -nan -nan -nan -nan -nan -979 
+  Bin 21: -979 -nan -nan -nan -nan -nan -nan -nan -nan -nan -978 
+  Bin 22: -978 -nan -nan -nan -nan -nan -nan -nan -nan -nan -977 
+  Bin 23: -977 -nan -nan -nan -nan -nan -nan -nan -nan -nan -976 
+  Bin 24: -976 -nan -nan -nan -nan -nan -nan -nan -nan -nan -975 
+  Bin 25: -975 -nan -nan -nan -nan -nan -nan -nan -nan -nan -974 
+  Bin 26: -974 -nan -nan -nan -nan -nan -nan -nan -nan -nan -973 
+  Bin 27: -973 -nan -nan -nan -nan -nan -nan -nan -nan -nan -972 
+  Bin 28: -972 -nan -nan -nan -nan -nan -nan -nan -nan -nan -971 
+  Bin 29: -971 -nan -nan -nan -nan -nan -nan -nan -nan -nan -970 
+  Bin 30: -970 -nan -nan -nan -nan -nan -nan -nan -nan -nan -969 
+  Bin 31: -969 -nan -nan -nan -nan -nan -nan -nan -nan -nan -968 
+  Bin 32: -968 -nan -nan -nan -nan -nan -nan -nan -nan -nan -967 
+  Bin 33: -967 -nan -nan -nan -nan -nan -nan -nan -nan -nan -966 
+  Bin 34: -966 -nan -nan -nan -nan -nan -nan -nan -nan -nan -965 
+  Bin 35: -965 -nan -nan -nan -nan -nan -nan -nan -nan -nan -964 
+  Bin 36: -964 -nan -nan -nan -nan -nan -nan -nan -nan -nan -963 
+  Bin 37: -963 -nan -nan -nan -nan -nan -nan -nan -nan -nan -962 
+  Bin 38: -962 -nan -nan -nan -nan -nan -nan -nan -nan -nan -961 
+  Bin 39: -961 -nan -nan -nan -nan -nan -nan -nan -nan -nan -960 
+  Bin 40: -960 -nan -nan -nan -nan -nan -nan -nan -nan -nan -959 
+  Bin 41: -959 -nan -nan -nan -nan -nan -nan -nan -nan -nan -958 
+  Bin 42: -958 -nan -nan -nan -nan -nan -nan -nan -nan -nan -957 
+  Bin 43: -957 -nan -nan -nan -nan -nan -nan -nan -nan -nan -956 
+  Bin 44: -956 -nan -nan -nan -nan -nan -nan -nan -nan -nan -955 
+  Bin 45: -955 -nan -nan -nan -nan -nan -nan -nan -nan -nan -954 
+  Bin 46: -954 -nan -nan -nan -nan -nan -nan -nan -nan -nan -953 
+  Bin 47: -953 -nan -nan -nan -nan -nan -nan -nan -nan -nan -952 
+  Bin 48: -952 -nan -nan -nan -nan -nan -nan -nan -nan -nan -951 
+  Bin 49: -951 -nan -nan -nan -nan -nan -nan -nan -nan -nan -950 
+  Bin 50: -950 -nan -nan -nan -nan -nan -nan -nan -nan -nan -949 
+  Bin 51: -949 -nan -nan -nan -nan -nan -nan -nan -nan -nan -948 
+  Bin 52: -948 -nan -nan -nan -nan -nan -nan -nan -nan -nan -947 
+  Bin 53: -947 -nan -nan -nan -nan -nan -nan -nan -nan -nan -946 
+  Bin 54: -946 -nan -nan -nan -nan -nan -nan -nan -nan -nan -945 
+  Bin 55: -945 -nan -nan -nan -nan -nan -nan -nan -nan -nan -944 
+  Bin 56: -944 -nan -nan -nan -nan -nan -nan -nan -nan -nan -943 
+  Bin 57: -943 -nan -nan -nan -nan -nan -nan -nan -nan -nan -942 
+  Bin 58: -942 -nan -nan -nan -nan -nan -nan -nan -nan -nan -941 
+  Bin 59: -941 -nan -nan -nan -nan -nan -nan -nan -nan -nan -940 
+  Bin 60: -940 -nan -nan -nan -nan -nan -nan -nan -nan -nan -939 
+  Bin 61: -939 -nan -nan -nan -nan -nan -nan -nan -nan -nan -938 
+  Bin 62: -938 -nan -nan -nan -nan -nan -nan -nan -nan -nan -937 
+  Bin 63: -937 -nan -nan -nan -nan -nan -nan -nan -nan -nan -936 
+  Bin 64: -936 -nan -nan -nan -nan -nan -nan -nan -nan -nan -935 
+  Bin 65: -935 -nan -nan -nan -nan -nan -nan -nan -nan -nan -934 
+  Bin 66: -934 -nan -nan -nan -nan -nan -nan -nan -nan -nan -933 
+  Bin 67: -933 -nan -nan -nan -nan -nan -nan -nan -nan -nan -932 
+  Bin 68: -932 -nan -nan -nan -nan -nan -nan -nan -nan -nan -931 
+  Bin 69: -931 -nan -nan -nan -nan -nan -nan -nan -nan -nan -930 
+  Bin 70: -930 -nan -nan -nan -nan -nan -nan -nan -nan -nan -929 
+  Bin 71: -929 -nan -nan -nan -nan -nan -nan -nan -nan -nan -928 
+  Bin 72: -928 -nan -nan -nan -nan -nan -nan -nan -nan -nan -927 
+  Bin 73: -927 -nan -nan -nan -nan -nan -nan -nan -nan -nan -926 
+  Bin 74: -926 -nan -nan -nan -nan -nan -nan -nan -nan -nan -925 
+  Bin 75: -925 -nan -nan -nan -nan -nan -nan -nan -nan -nan -924 
+  Bin 76: -924 -nan -nan -nan -nan -nan -nan -nan -nan -nan -923 
+  Bin 77: -923 -nan -nan -nan -nan -nan -nan -nan -nan -nan -922 
+  Bin 78: -922 -nan -nan -nan -nan -nan -nan -nan -nan -nan -921 
+  Bin 79: -921 -nan -nan -nan -nan -nan -nan -nan -nan -nan -920 
+  Bin 80: -920 -nan -nan -nan -nan -nan -nan -nan -nan -nan -919 
+  Bin 81: -919 -nan -nan -nan -nan -nan -nan -nan -nan -nan -918 
+  Bin 82: -918 -nan -nan -nan -nan -nan -nan -nan -nan -nan -917 
+  Bin 83: -917 -nan -nan -nan -nan -nan -nan -nan -nan -nan -916 
+  Bin 84: -916 -nan -nan -nan -nan -nan -nan -nan -nan -nan -915 
+  Bin 85: -915 -nan -nan -nan -nan -nan -nan -nan -nan -nan -914 
+  Bin 86: -914 -nan -nan -nan -nan -nan -nan -nan -nan -nan -913 
+  Bin 87: -913 -nan -nan -nan -nan -nan -nan -nan -nan -nan -912 
+  Bin 88: -912 -nan -nan -nan -nan -nan -nan -nan -nan -nan -911 
+  Bin 89: -911 -nan -nan -nan -nan -nan -nan -nan -nan -nan -910 
+  Bin 90: -910 -nan -nan -nan -nan -nan -nan -nan -nan -nan -909 
+  Bin 91: -909 -nan -nan -nan -nan -nan -nan -nan -nan -nan -908 
+  Bin 92: -908 -nan -nan -nan -nan -nan -nan -nan -nan -nan -907 
+  Bin 93: -907 -nan -nan -nan -nan -nan -nan -nan -nan -nan -906 
+  Bin 94: -906 -nan -nan -nan -nan -nan -nan -nan -nan -nan -905 
+  Bin 95: -905 -nan -nan -nan -nan -nan -nan -nan -nan -nan -904 
+  Bin 96: -904 -nan -nan -nan -nan -nan -nan -nan -nan -nan -903 
+  Bin 97: -903 -nan -nan -nan -nan -nan -nan -nan -nan -nan -902 
+  Bin 98: -902 -nan -nan -nan -nan -nan -nan -nan -nan -nan -901 
+  Bin 99: -901 -nan -nan -nan -nan -nan -nan -nan -nan -nan -900 
+  Bin 100: -900 -nan -nan -nan -nan -nan -nan -nan -nan -nan -899 
+  Bin 101: -899 -nan -nan -nan -nan -nan -nan -nan -nan -nan -898 
+  Bin 102: -898 -nan -nan -nan -nan -nan -nan -nan -nan -nan -897 
+  Bin 103: -897 -nan -nan -nan -nan -nan -nan -nan -nan -nan -896 
+  Bin 104: -896 -nan -nan -nan -nan -nan -nan -nan -nan -nan -895 
+  Bin 105: -895 -nan -nan -nan -nan -nan -nan -nan -nan -nan -894 
+  Bin 106: -894 -nan -nan -nan -nan -nan -nan -nan -nan -nan -893 
+  Bin 107: -893 -nan -nan -nan -nan -nan -nan -nan -nan -nan -892 
+  Bin 108: -892 -nan -nan -nan -nan -nan -nan -nan -nan -nan -891 
+  Bin 109: -891 -nan -nan -nan -nan -nan -nan -nan -nan -nan -890 
+  Bin 110: -890 -nan -nan -nan -nan -nan -nan -nan -nan -nan -889 
+  Bin 111: -889 -nan -nan -nan -nan -nan -nan -nan -nan -nan -888 
+  Bin 112: -888 -nan -nan -nan -nan -nan -nan -nan -nan -nan -887 
+  Bin 113: -887 -nan -nan -nan -nan -nan -nan -nan -nan -nan -886 
+  Bin 114: -886 -nan -nan -nan -nan -nan -nan -nan -nan -nan -885 
+  Bin 115: -885 -nan -nan -nan -nan -nan -nan -nan -nan -nan -884 
+  Bin 116: -884 -nan -nan -nan -nan -nan -nan -nan -nan -nan -883 
+  Bin 117: -883 -nan -nan -nan -nan -nan -nan -nan -nan -nan -882 
+  Bin 118: -882 -nan -nan -nan -nan -nan -nan -nan -nan -nan -881 
+  Bin 119: -881 -nan -nan -nan -nan -nan -nan -nan -nan -nan -880 
+  Bin 120: -880 -nan -nan -nan -nan -nan -nan -nan -nan -nan -879 
+  Bin 121: -879 -nan -nan -nan -nan -nan -nan -nan -nan -nan -878 
+  Bin 122: -878 -nan -nan -nan -nan -nan -nan -nan -nan -nan -877 
+  Bin 123: -877 -nan -nan -nan -nan -nan -nan -nan -nan -nan -876 
+  Bin 124: -876 -nan -nan -nan -nan -nan -nan -nan -nan -nan -875 
+  Bin 125: -875 -nan -nan -nan -nan -nan -nan -nan -nan -nan -874 
+  Bin 126: -874 -nan -nan -nan -nan -nan -nan -nan -nan -nan -873 
+  Bin 127: -873 -nan -nan -nan -nan -nan -nan -nan -nan -nan -872 
+  Bin 128: -872 -nan -nan -nan -nan -nan -nan -nan -nan -nan -871 
+  Bin 129: -871 -nan -nan -nan -nan -nan -nan -nan -nan -nan -870 
+  Bin 130: -870 -nan -nan -nan -nan -nan -nan -nan -nan -nan -869 
+  Bin 131: -869 -nan -nan -nan -nan -nan -nan -nan -nan -nan -868 
+  Bin 132: -868 -nan -nan -nan -nan -nan -nan -nan -nan -nan -867 
+  Bin 133: -867 -nan -nan -nan -nan -nan -nan -nan -nan -nan -866 
+  Bin 134: -866 -nan -nan -nan -nan -nan -nan -nan -nan -nan -865 
+  Bin 135: -865 -nan -nan -nan -nan -nan -nan -nan -nan -nan -864 
+  Bin 136: -864 -nan -nan -nan -nan -nan -nan -nan -nan -nan -863 
+  Bin 137: -863 -nan -nan -nan -nan -nan -nan -nan -nan -nan -862 
+  Bin 138: -862 -nan -nan -nan -nan -nan -nan -nan -nan -nan -861 
+  Bin 139: -861 -nan -nan -nan -nan -nan -nan -nan -nan -nan -860 
+  Bin 140: -860 -nan -nan -nan -nan -nan -nan -nan -nan -nan -859 
+  Bin 141: -859 -nan -nan -nan -nan -nan -nan -nan -nan -nan -858 
+  Bin 142: -858 -nan -nan -nan -nan -nan -nan -nan -nan -nan -857 
+  Bin 143: -857 -nan -nan -nan -nan -nan -nan -nan -nan -nan -856 
+  Bin 144: -856 -nan -nan -nan -nan -nan -nan -nan -nan -nan -855 
+  Bin 145: -855 -nan -nan -nan -nan -nan -nan -nan -nan -nan -854 
+  Bin 146: -854 -nan -nan -nan -nan -nan -nan -nan -nan -nan -853 
+  Bin 147: -853 -nan -nan -nan -nan -nan -nan -nan -nan -nan -852 
+  Bin 148: -852 -nan -nan -nan -nan -nan -nan -nan -nan -nan -851 
+  Bin 149: -851 -nan -nan -nan -nan -nan -nan -nan -nan -nan -850 
+  Bin 150: -850 -nan -nan -nan -nan -nan -nan -nan -nan -nan -849 
+  Bin 151: -849 -nan -nan -nan -nan -nan -nan -nan -nan -nan -848 
+  Bin 152: -848 -nan -nan -nan -nan -nan -nan -nan -nan -nan -847 
+  Bin 153: -847 -nan -nan -nan -nan -nan -nan -nan -nan -nan -846 
+  Bin 154: -846 -nan -nan -nan -nan -nan -nan -nan -nan -nan -845 
+  Bin 155: -845 -nan -nan -nan -nan -nan -nan -nan -nan -nan -844 
+  Bin 156: -844 -nan -nan -nan -nan -nan -nan -nan -nan -nan -843 
+  Bin 157: -843 -nan -nan -nan -nan -nan -nan -nan -nan -nan -842 
+  Bin 158: -842 -nan -nan -nan -nan -nan -nan -nan -nan -nan -841 
+  Bin 159: -841 -nan -nan -nan -nan -nan -nan -nan -nan -nan -840 
+  Bin 160: -840 -nan -nan -nan -nan -nan -nan -nan -nan -nan -839 
+  Bin 161: -839 -nan -nan -nan -nan -nan -nan -nan -nan -nan -838 
+  Bin 162: -838 -nan -nan -nan -nan -nan -nan -nan -nan -nan -837 
+  Bin 163: -837 -nan -nan -nan -nan -nan -nan -nan -nan -nan -836 
+  Bin 164: -836 -nan -nan -nan -nan -nan -nan -nan -nan -nan -835 
+  Bin 165: -835 -nan -nan -nan -nan -nan -nan -nan -nan -nan -834 
+  Bin 166: -834 -nan -nan -nan -nan -nan -nan -nan -nan -nan -833 
+  Bin 167: -833 -nan -nan -nan -nan -nan -nan -nan -nan -nan -832 
+  Bin 168: -832 -nan -nan -nan -nan -nan -nan -nan -nan -nan -831 
+  Bin 169: -831 -nan -nan -nan -nan -nan -nan -nan -nan -nan -830 
+  Bin 170: -830 -nan -nan -nan -nan -nan -nan -nan -nan -nan -829 
+  Bin 171: -829 -nan -nan -nan -nan -nan -nan -nan -nan -nan -828 
+  Bin 172: -828 -nan -nan -nan -nan -nan -nan -nan -nan -nan -827 
+  Bin 173: -827 -nan -nan -nan -nan -nan -nan -nan -nan -nan -826 
+  Bin 174: -826 -nan -nan -nan -nan -nan -nan -nan -nan -nan -825 
+  Bin 175: -825 -nan -nan -nan -nan -nan -nan -nan -nan -nan -824 
+  Bin 176: -824 -nan -nan -nan -nan -nan -nan -nan -nan -nan -823 
+  Bin 177: -823 -nan -nan -nan -nan -nan -nan -nan -nan -nan -822 
+  Bin 178: -822 -nan -nan -nan -nan -nan -nan -nan -nan -nan -821 
+  Bin 179: -821 -nan -nan -nan -nan -nan -nan -nan -nan -nan -820 
+  Bin 180: -820 -nan -nan -nan -nan -nan -nan -nan -nan -nan -819 
+  Bin 181: -819 -nan -nan -nan -nan -nan -nan -nan -nan -nan -818 
+  Bin 182: -818 -nan -nan -nan -nan -nan -nan -nan -nan -nan -817 
+  Bin 183: -817 -nan -nan -nan -nan -nan -nan -nan -nan -nan -816 
+  Bin 184: -816 -nan -nan -nan -nan -nan -nan -nan -nan -nan -815 
+  Bin 185: -815 -nan -nan -nan -nan -nan -nan -nan -nan -nan -814 
+  Bin 186: -814 -nan -nan -nan -nan -nan -nan -nan -nan -nan -813 
+  Bin 187: -813 -nan -nan -nan -nan -nan -nan -nan -nan -nan -812 
+  Bin 188: -812 -nan -nan -nan -nan -nan -nan -nan -nan -nan -811 
+  Bin 189: -811 -nan -nan -nan -nan -nan -nan -nan -nan -nan -810 
+  Bin 190: -810 -nan -nan -nan -nan -nan -nan -nan -nan -nan -809 
+  Bin 191: -809 -nan -nan -nan -nan -nan -nan -nan -nan -nan -808 
+  Bin 192: -808 -nan -nan -nan -nan -nan -nan -nan -nan -nan -807 
+  Bin 193: -807 -nan -nan -nan -nan -nan -nan -nan -nan -nan -806 
+  Bin 194: -806 -nan -nan -nan -nan -nan -nan -nan -nan -nan -805 
+  Bin 195: -805 -nan -nan -nan -nan -nan -nan -nan -nan -nan -804 
+  Bin 196: -804 -nan -nan -nan -nan -nan -nan -nan -nan -nan -803 
+  Bin 197: -803 -nan -nan -nan -nan -nan -nan -nan -nan -nan -802 
+  Bin 198: -802 -nan -nan -nan -nan -nan -nan -nan -nan -nan -801 
+  Bin 199: -801 -nan -nan -nan -nan -nan -nan -nan -nan -nan -800 
+  Bin 200: -800 -nan -nan -nan -nan -nan -nan -nan -nan -nan -799 
+  Bin 201: -799 -nan -nan -nan -nan -nan -nan -nan -nan -nan -798 
+  Bin 202: -798 -nan -nan -nan -nan -nan -nan -nan -nan -nan -797 
+  Bin 203: -797 -nan -nan -nan -nan -nan -nan -nan -nan -nan -796 
+  Bin 204: -796 -nan -nan -nan -nan -nan -nan -nan -nan -nan -795 
+  Bin 205: -795 -nan -nan -nan -nan -nan -nan -nan -nan -nan -794 
+  Bin 206: -794 -nan -nan -nan -nan -nan -nan -nan -nan -nan -793 
+  Bin 207: -793 -nan -nan -nan -nan -nan -nan -nan -nan -nan -792 
+  Bin 208: -792 -nan -nan -nan -nan -nan -nan -nan -nan -nan -791 
+  Bin 209: -791 -nan -nan -nan -nan -nan -nan -nan -nan -nan -790 
+  Bin 210: -790 -nan -nan -nan -nan -nan -nan -nan -nan -nan -789 
+  Bin 211: -789 -nan -nan -nan -nan -nan -nan -nan -nan -nan -788 
+  Bin 212: -788 -nan -nan -nan -nan -nan -nan -nan -nan -nan -787 
+  Bin 213: -787 -nan -nan -nan -nan -nan -nan -nan -nan -nan -786 
+  Bin 214: -786 -nan -nan -nan -nan -nan -nan -nan -nan -nan -785 
+  Bin 215: -785 -nan -nan -nan -nan -nan -nan -nan -nan -nan -784 
+  Bin 216: -784 -nan -nan -nan -nan -nan -nan -nan -nan -nan -783 
+  Bin 217: -783 -nan -nan -nan -nan -nan -nan -nan -nan -nan -782 
+  Bin 218: -782 -nan -nan -nan -nan -nan -nan -nan -nan -nan -781 
+  Bin 219: -781 -nan -nan -nan -nan -nan -nan -nan -nan -nan -780 
+  Bin 220: -780 -nan -nan -nan -nan -nan -nan -nan -nan -nan -779 
+  Bin 221: -779 -nan -nan -nan -nan -nan -nan -nan -nan -nan -778 
+  Bin 222: -778 -nan -nan -nan -nan -nan -nan -nan -nan -nan -777 
+  Bin 223: -777 -nan -nan -nan -nan -nan -nan -nan -nan -nan -776 
+  Bin 224: -776 -nan -nan -nan -nan -nan -nan -nan -nan -nan -775 
+  Bin 225: -775 -nan -nan -nan -nan -nan -nan -nan -nan -nan -774 
+  Bin 226: -774 -nan -nan -nan -nan -nan -nan -nan -nan -nan -773 
+  Bin 227: -773 -nan -nan -nan -nan -nan -nan -nan -nan -nan -772 
+  Bin 228: -772 -nan -nan -nan -nan -nan -nan -nan -nan -nan -771 
+  Bin 229: -771 -nan -nan -nan -nan -nan -nan -nan -nan -nan -770 
+  Bin 230: -770 -nan -nan -nan -nan -nan -nan -nan -nan -nan -769 
+  Bin 231: -769 -nan -nan -nan -nan -nan -nan -nan -nan -nan -768 
+  Bin 232: -768 -nan -nan -nan -nan -nan -nan -nan -nan -nan -767 
+  Bin 233: -767 -nan -nan -nan -nan -nan -nan -nan -nan -nan -766 
+  Bin 234: -766 -nan -nan -nan -nan -nan -nan -nan -nan -nan -765 
+  Bin 235: -765 -nan -nan -nan -nan -nan -nan -nan -nan -nan -764 
+  Bin 236: -764 -nan -nan -nan -nan -nan -nan -nan -nan -nan -763 
+  Bin 237: -763 -nan -nan -nan -nan -nan -nan -nan -nan -nan -762 
+  Bin 238: -762 -nan -nan -nan -nan -nan -nan -nan -nan -nan -761 
+  Bin 239: -761 -nan -nan -nan -nan -nan -nan -nan -nan -nan -760 
+  Bin 240: -760 -nan -nan -nan -nan -nan -nan -nan -nan -nan -759 
+  Bin 241: -759 -nan -nan -nan -nan -nan -nan -nan -nan -nan -758 
+  Bin 242: -758 -nan -nan -nan -nan -nan -nan -nan -nan -nan -757 
+  Bin 243: -757 -nan -nan -nan -nan -nan -nan -nan -nan -nan -756 
+  Bin 244: -756 -nan -nan -nan -nan -nan -nan -nan -nan -nan -755 
+  Bin 245: -755 -nan -nan -nan -nan -nan -nan -nan -nan -nan -754 
+  Bin 246: -754 -nan -nan -nan -nan -nan -nan -nan -nan -nan -753 
+  Bin 247: -753 -nan -nan -nan -nan -nan -nan -nan -nan -nan -752 
+  Bin 248: -752 -nan -nan -nan -nan -nan -nan -nan -nan -nan -751 
+  Bin 249: -751 -nan -nan -nan -nan -nan -nan -nan -nan -nan -750 
+  Bin 250: -750 -nan -nan -nan -nan -nan -nan -nan -nan -nan -749 
+  Bin 251: -749 -nan -nan -nan -nan -nan -nan -nan -nan -nan -748 
+  Bin 252: -748 -nan -nan -nan -nan -nan -nan -nan -nan -nan -747 
+  Bin 253: -747 -nan -nan -nan -nan -nan -nan -nan -nan -nan -746 
+  Bin 254: -746 -nan -nan -nan -nan -nan -nan -nan -nan -nan -745 
+  Bin 255: -745 -nan -nan -nan -nan -nan -nan -nan -nan -nan -744 
+  Bin 256: -744 -nan -nan -nan -nan -nan -nan -nan -nan -nan -743 
+  Bin 257: -743 -nan -nan -nan -nan -nan -nan -nan -nan -nan -742 
+  Bin 258: -742 -nan -nan -nan -nan -nan -nan -nan -nan -nan -741 
+  Bin 259: -741 -nan -nan -nan -nan -nan -nan -nan -nan -nan -740 
+  Bin 260: -740 -nan -nan -nan -nan -nan -nan -nan -nan -nan -739 
+  Bin 261: -739 -nan -nan -nan -nan -nan -nan -nan -nan -nan -738 
+  Bin 262: -738 -nan -nan -nan -nan -nan -nan -nan -nan -nan -737 
+  Bin 263: -737 -nan -nan -nan -nan -nan -nan -nan -nan -nan -736 
+  Bin 264: -736 -nan -nan -nan -nan -nan -nan -nan -nan -nan -735 
+  Bin 265: -735 -nan -nan -nan -nan -nan -nan -nan -nan -nan -734 
+  Bin 266: -734 -nan -nan -nan -nan -nan -nan -nan -nan -nan -733 
+  Bin 267: -733 -nan -nan -nan -nan -nan -nan -nan -nan -nan -732 
+  Bin 268: -732 -nan -nan -nan -nan -nan -nan -nan -nan -nan -731 
+  Bin 269: -731 -nan -nan -nan -nan -nan -nan -nan -nan -nan -730 
+  Bin 270: -730 -nan -nan -nan -nan -nan -nan -nan -nan -nan -729 
+  Bin 271: -729 -nan -nan -nan -nan -nan -nan -nan -nan -nan -728 
+  Bin 272: -728 -nan -nan -nan -nan -nan -nan -nan -nan -nan -727 
+  Bin 273: -727 -nan -nan -nan -nan -nan -nan -nan -nan -nan -726 
+  Bin 274: -726 -nan -nan -nan -nan -nan -nan -nan -nan -nan -725 
+  Bin 275: -725 -nan -nan -nan -nan -nan -nan -nan -nan -nan -724 
+  Bin 276: -724 -nan -nan -nan -nan -nan -nan -nan -nan -nan -723 
+  Bin 277: -723 -nan -nan -nan -nan -nan -nan -nan -nan -nan -722 
+  Bin 278: -722 -nan -nan -nan -nan -nan -nan -nan -nan -nan -721 
+  Bin 279: -721 -nan -nan -nan -nan -nan -nan -nan -nan -nan -720 
+  Bin 280: -720 -nan -nan -nan -nan -nan -nan -nan -nan -nan -719 
+  Bin 281: -719 -nan -nan -nan -nan -nan -nan -nan -nan -nan -718 
+  Bin 282: -718 -nan -nan -nan -nan -nan -nan -nan -nan -nan -717 
+  Bin 283: -717 -nan -nan -nan -nan -nan -nan -nan -nan -nan -716 
+  Bin 284: -716 -nan -nan -nan -nan -nan -nan -nan -nan -nan -715 
+  Bin 285: -715 -nan -nan -nan -nan -nan -nan -nan -nan -nan -714 
+  Bin 286: -714 -nan -nan -nan -nan -nan -nan -nan -nan -nan -713 
+  Bin 287: -713 -nan -nan -nan -nan -nan -nan -nan -nan -nan -712 
+  Bin 288: -712 -nan -nan -nan -nan -nan -nan -nan -nan -nan -711 
+  Bin 289: -711 -nan -nan -nan -nan -nan -nan -nan -nan -nan -710 
+  Bin 290: -710 -nan -nan -nan -nan -nan -nan -nan -nan -nan -709 
+  Bin 291: -709 -nan -nan -nan -nan -nan -nan -nan -nan -nan -708 
+  Bin 292: -708 -nan -nan -nan -nan -nan -nan -nan -nan -nan -707 
+  Bin 293: -707 -nan -nan -nan -nan -nan -nan -nan -nan -nan -706 
+  Bin 294: -706 -nan -nan -nan -nan -nan -nan -nan -nan -nan -705 
+  Bin 295: -705 -nan -nan -nan -nan -nan -nan -nan -nan -nan -704 
+  Bin 296: -704 -nan -nan -nan -nan -nan -nan -nan -nan -nan -703 
+  Bin 297: -703 -nan -nan -nan -nan -nan -nan -nan -nan -nan -702 
+  Bin 298: -702 -nan -nan -nan -nan -nan -nan -nan -nan -nan -701 
+  Bin 299: -701 -nan -nan -nan -nan -nan -nan -nan -nan -nan -700 
+  Bin 300: -700 -nan -nan -nan -nan -nan -nan -nan -nan -nan -699 
+  Bin 301: -699 -nan -nan -nan -nan -nan -nan -nan -nan -nan -698 
+  Bin 302: -698 -nan -nan -nan -nan -nan -nan -nan -nan -nan -697 
+  Bin 303: -697 -nan -nan -nan -nan -nan -nan -nan -nan -nan -696 
+  Bin 304: -696 -nan -nan -nan -nan -nan -nan -nan -nan -nan -695 
+  Bin 305: -695 -nan -nan -nan -nan -nan -nan -nan -nan -nan -694 
+  Bin 306: -694 -nan -nan -nan -nan -nan -nan -nan -nan -nan -693 
+  Bin 307: -693 -nan -nan -nan -nan -nan -nan -nan -nan -nan -692 
+  Bin 308: -692 -nan -nan -nan -nan -nan -nan -nan -nan -nan -691 
+  Bin 309: -691 -nan -nan -nan -nan -nan -nan -nan -nan -nan -690 
+  Bin 310: -690 -nan -nan -nan -nan -nan -nan -nan -nan -nan -689 
+  Bin 311: -689 -nan -nan -nan -nan -nan -nan -nan -nan -nan -688 
+  Bin 312: -688 -nan -nan -nan -nan -nan -nan -nan -nan -nan -687 
+  Bin 313: -687 -nan -nan -nan -nan -nan -nan -nan -nan -nan -686 
+  Bin 314: -686 -nan -nan -nan -nan -nan -nan -nan -nan -nan -685 
+  Bin 315: -685 -nan -nan -nan -nan -nan -nan -nan -nan -nan -684 
+  Bin 316: -684 -nan -nan -nan -nan -nan -nan -nan -nan -nan -683 
+  Bin 317: -683 -nan -nan -nan -nan -nan -nan -nan -nan -nan -682 
+  Bin 318: -682 -nan -nan -nan -nan -nan -nan -nan -nan -nan -681 
+  Bin 319: -681 -nan -nan -nan -nan -nan -nan -nan -nan -nan -680 
+  Bin 320: -680 -nan -nan -nan -nan -nan -nan -nan -nan -nan -679 
+  Bin 321: -679 -nan -nan -nan -nan -nan -nan -nan -nan -nan -678 
+  Bin 322: -678 -nan -nan -nan -nan -nan -nan -nan -nan -nan -677 
+  Bin 323: -677 -nan -nan -nan -nan -nan -nan -nan -nan -nan -676 
+  Bin 324: -676 -nan -nan -nan -nan -nan -nan -nan -nan -nan -675 
+  Bin 325: -675 -nan -nan -nan -nan -nan -nan -nan -nan -nan -674 
+  Bin 326: -674 -nan -nan -nan -nan -nan -nan -nan -nan -nan -673 
+  Bin 327: -673 -nan -nan -nan -nan -nan -nan -nan -nan -nan -672 
+  Bin 328: -672 -nan -nan -nan -nan -nan -nan -nan -nan -nan -671 
+  Bin 329: -671 -nan -nan -nan -nan -nan -nan -nan -nan -nan -670 
+  Bin 330: -670 -nan -nan -nan -nan -nan -nan -nan -nan -nan -669 
+  Bin 331: -669 -nan -nan -nan -nan -nan -nan -nan -nan -nan -668 
+  Bin 332: -668 -nan -nan -nan -nan -nan -nan -nan -nan -nan -667 
+  Bin 333: -667 -nan -nan -nan -nan -nan -nan -nan -nan -nan -666 
+  Bin 334: -666 -nan -nan -nan -nan -nan -nan -nan -nan -nan -665 
+  Bin 335: -665 -nan -nan -nan -nan -nan -nan -nan -nan -nan -664 
+  Bin 336: -664 -nan -nan -nan -nan -nan -nan -nan -nan -nan -663 
+  Bin 337: -663 -nan -nan -nan -nan -nan -nan -nan -nan -nan -662 
+  Bin 338: -662 -nan -nan -nan -nan -nan -nan -nan -nan -nan -661 
+  Bin 339: -661 -nan -nan -nan -nan -nan -nan -nan -nan -nan -660 
+  Bin 340: -660 -nan -nan -nan -nan -nan -nan -nan -nan -nan -659 
+  Bin 341: -659 -nan -nan -nan -nan -nan -nan -nan -nan -nan -658 
+  Bin 342: -658 -nan -nan -nan -nan -nan -nan -nan -nan -nan -657 
+  Bin 343: -657 -nan -nan -nan -nan -nan -nan -nan -nan -nan -656 
+  Bin 344: -656 -nan -nan -nan -nan -nan -nan -nan -nan -nan -655 
+  Bin 345: -655 -nan -nan -nan -nan -nan -nan -nan -nan -nan -654 
+  Bin 346: -654 -nan -nan -nan -nan -nan -nan -nan -nan -nan -653 
+  Bin 347: -653 -nan -nan -nan -nan -nan -nan -nan -nan -nan -652 
+  Bin 348: -652 -nan -nan -nan -nan -nan -nan -nan -nan -nan -651 
+  Bin 349: -651 -nan -nan -nan -nan -nan -nan -nan -nan -nan -650 
+  Bin 350: -650 -nan -nan -nan -nan -nan -nan -nan -nan -nan -649 
+  Bin 351: -649 -nan -nan -nan -nan -nan -nan -nan -nan -nan -648 
+  Bin 352: -648 -nan -nan -nan -nan -nan -nan -nan -nan -nan -647 
+  Bin 353: -647 -nan -nan -nan -nan -nan -nan -nan -nan -nan -646 
+  Bin 354: -646 -nan -nan -nan -nan -nan -nan -nan -nan -nan -645 
+  Bin 355: -645 -nan -nan -nan -nan -nan -nan -nan -nan -nan -644 
+  Bin 356: -644 -nan -nan -nan -nan -nan -nan -nan -nan -nan -643 
+  Bin 357: -643 -nan -nan -nan -nan -nan -nan -nan -nan -nan -642 
+  Bin 358: -642 -nan -nan -nan -nan -nan -nan -nan -nan -nan -641 
+  Bin 359: -641 -nan -nan -nan -nan -nan -nan -nan -nan -nan -640 
+  Bin 360: -640 -nan -nan -nan -nan -nan -nan -nan -nan -nan -639 
+  Bin 361: -639 -nan -nan -nan -nan -nan -nan -nan -nan -nan -638 
+  Bin 362: -638 -nan -nan -nan -nan -nan -nan -nan -nan -nan -637 
+  Bin 363: -637 -nan -nan -nan -nan -nan -nan -nan -nan -nan -636 
+  Bin 364: -636 -nan -nan -nan -nan -nan -nan -nan -nan -nan -635 
+  Bin 365: -635 -nan -nan -nan -nan -nan -nan -nan -nan -nan -634 
+  Bin 366: -634 -nan -nan -nan -nan -nan -nan -nan -nan -nan -633 
+  Bin 367: -633 -nan -nan -nan -nan -nan -nan -nan -nan -nan -632 
+  Bin 368: -632 -nan -nan -nan -nan -nan -nan -nan -nan -nan -631 
+  Bin 369: -631 -nan -nan -nan -nan -nan -nan -nan -nan -nan -630 
+  Bin 370: -630 -nan -nan -nan -nan -nan -nan -nan -nan -nan -629 
+  Bin 371: -629 -nan -nan -nan -nan -nan -nan -nan -nan -nan -628 
+  Bin 372: -628 -nan -nan -nan -nan -nan -nan -nan -nan -nan -627 
+  Bin 373: -627 -nan -nan -nan -nan -nan -nan -nan -nan -nan -626 
+  Bin 374: -626 -nan -nan -nan -nan -nan -nan -nan -nan -nan -625 
+  Bin 375: -625 -nan -nan -nan -nan -nan -nan -nan -nan -nan -624 
+  Bin 376: -624 -nan -nan -nan -nan -nan -nan -nan -nan -nan -623 
+  Bin 377: -623 -nan -nan -nan -nan -nan -nan -nan -nan -nan -622 
+  Bin 378: -622 -nan -nan -nan -nan -nan -nan -nan -nan -nan -621 
+  Bin 379: -621 -nan -nan -nan -nan -nan -nan -nan -nan -nan -620 
+  Bin 380: -620 -nan -nan -nan -nan -nan -nan -nan -nan -nan -619 
+  Bin 381: -619 -nan -nan -nan -nan -nan -nan -nan -nan -nan -618 
+  Bin 382: -618 -nan -nan -nan -nan -nan -nan -nan -nan -nan -617 
+  Bin 383: -617 -nan -nan -nan -nan -nan -nan -nan -nan -nan -616 
+  Bin 384: -616 -nan -nan -nan -nan -nan -nan -nan -nan -nan -615 
+  Bin 385: -615 -nan -nan -nan -nan -nan -nan -nan -nan -nan -614 
+  Bin 386: -614 -nan -nan -nan -nan -nan -nan -nan -nan -nan -613 
+  Bin 387: -613 -nan -nan -nan -nan -nan -nan -nan -nan -nan -612 
+  Bin 388: -612 -nan -nan -nan -nan -nan -nan -nan -nan -nan -611 
+  Bin 389: -611 -nan -nan -nan -nan -nan -nan -nan -nan -nan -610 
+  Bin 390: -610 -nan -nan -nan -nan -nan -nan -nan -nan -nan -609 
+  Bin 391: -609 -nan -nan -nan -nan -nan -nan -nan -nan -nan -608 
+  Bin 392: -608 -nan -nan -nan -nan -nan -nan -nan -nan -nan -607 
+  Bin 393: -607 -nan -nan -nan -nan -nan -nan -nan -nan -nan -606 
+  Bin 394: -606 -nan -nan -nan -nan -nan -nan -nan -nan -nan -605 
+  Bin 395: -605 -nan -nan -nan -nan -nan -nan -nan -nan -nan -604 
+  Bin 396: -604 -nan -nan -nan -nan -nan -nan -nan -nan -nan -603 
+  Bin 397: -603 -nan -nan -nan -nan -nan -nan -nan -nan -nan -602 
+  Bin 398: -602 -nan -nan -nan -nan -nan -nan -nan -nan -nan -601 
+  Bin 399: -601 -nan -nan -nan -nan -nan -nan -nan -nan -nan -600 
+  Bin 400: -600 -nan -nan -nan -nan -nan -nan -nan -nan -nan -599 
+  Bin 401: -599 -nan -nan -nan -nan -nan -nan -nan -nan -nan -598 
+  Bin 402: -598 -nan -nan -nan -nan -nan -nan -nan -nan -nan -597 
+  Bin 403: -597 -nan -nan -nan -nan -nan -nan -nan -nan -nan -596 
+  Bin 404: -596 -nan -nan -nan -nan -nan -nan -nan -nan -nan -595 
+  Bin 405: -595 -nan -nan -nan -nan -nan -nan -nan -nan -nan -594 
+  Bin 406: -594 -nan -nan -nan -nan -nan -nan -nan -nan -nan -593 
+  Bin 407: -593 -nan -nan -nan -nan -nan -nan -nan -nan -nan -592 
+  Bin 408: -592 -nan -nan -nan -nan -nan -nan -nan -nan -nan -591 
+  Bin 409: -591 -nan -nan -nan -nan -nan -nan -nan -nan -nan -590 
+  Bin 410: -590 -nan -nan -nan -nan -nan -nan -nan -nan -nan -589 
+  Bin 411: -589 -nan -nan -nan -nan -nan -nan -nan -nan -nan -588 
+  Bin 412: -588 -nan -nan -nan -nan -nan -nan -nan -nan -nan -587 
+  Bin 413: -587 -nan -nan -nan -nan -nan -nan -nan -nan -nan -586 
+  Bin 414: -586 -nan -nan -nan -nan -nan -nan -nan -nan -nan -585 
+  Bin 415: -585 -nan -nan -nan -nan -nan -nan -nan -nan -nan -584 
+  Bin 416: -584 -nan -nan -nan -nan -nan -nan -nan -nan -nan -583 
+  Bin 417: -583 -nan -nan -nan -nan -nan -nan -nan -nan -nan -582 
+  Bin 418: -582 -nan -nan -nan -nan -nan -nan -nan -nan -nan -581 
+  Bin 419: -581 -nan -nan -nan -nan -nan -nan -nan -nan -nan -580 
+  Bin 420: -580 -nan -nan -nan -nan -nan -nan -nan -nan -nan -579 
+  Bin 421: -579 -nan -nan -nan -nan -nan -nan -nan -nan -nan -578 
+  Bin 422: -578 -nan -nan -nan -nan -nan -nan -nan -nan -nan -577 
+  Bin 423: -577 -nan -nan -nan -nan -nan -nan -nan -nan -nan -576 
+  Bin 424: -576 -nan -nan -nan -nan -nan -nan -nan -nan -nan -575 
+  Bin 425: -575 -nan -nan -nan -nan -nan -nan -nan -nan -nan -574 
+  Bin 426: -574 -nan -nan -nan -nan -nan -nan -nan -nan -nan -573 
+  Bin 427: -573 -nan -nan -nan -nan -nan -nan -nan -nan -nan -572 
+  Bin 428: -572 -nan -nan -nan -nan -nan -nan -nan -nan -nan -571 
+  Bin 429: -571 -nan -nan -nan -nan -nan -nan -nan -nan -nan -570 
+  Bin 430: -570 -nan -nan -nan -nan -nan -nan -nan -nan -nan -569 
+  Bin 431: -569 -nan -nan -nan -nan -nan -nan -nan -nan -nan -568 
+  Bin 432: -568 -nan -nan -nan -nan -nan -nan -nan -nan -nan -567 
+  Bin 433: -567 -nan -nan -nan -nan -nan -nan -nan -nan -nan -566 
+  Bin 434: -566 -nan -nan -nan -nan -nan -nan -nan -nan -nan -565 
+  Bin 435: -565 -nan -nan -nan -nan -nan -nan -nan -nan -nan -564 
+  Bin 436: -564 -nan -nan -nan -nan -nan -nan -nan -nan -nan -563 
+  Bin 437: -563 -nan -nan -nan -nan -nan -nan -nan -nan -nan -562 
+  Bin 438: -562 -nan -nan -nan -nan -nan -nan -nan -nan -nan -561 
+  Bin 439: -561 -nan -nan -nan -nan -nan -nan -nan -nan -nan -560 
+  Bin 440: -560 -nan -nan -nan -nan -nan -nan -nan -nan -nan -559 
+  Bin 441: -559 -nan -nan -nan -nan -nan -nan -nan -nan -nan -558 
+  Bin 442: -558 -nan -nan -nan -nan -nan -nan -nan -nan -nan -557 
+  Bin 443: -557 -nan -nan -nan -nan -nan -nan -nan -nan -nan -556 
+  Bin 444: -556 -nan -nan -nan -nan -nan -nan -nan -nan -nan -555 
+  Bin 445: -555 -nan -nan -nan -nan -nan -nan -nan -nan -nan -554 
+  Bin 446: -554 -nan -nan -nan -nan -nan -nan -nan -nan -nan -553 
+  Bin 447: -553 -nan -nan -nan -nan -nan -nan -nan -nan -nan -552 
+  Bin 448: -552 -552 -552 -552 -552 -552 -551.932 -551.853 -551.736 -551.544 -551 
+  Bin 449: -551 -550.785 -550.705 -550.649 -550.606 -550.559 -550.53 -550.486 -550.421 -550.314 -550 
+  Bin 450: -550 -549.799 -549.728 -549.666 -549.636 -549.59 -549.558 -549.509 -549.434 -549.322 -549 
+  Bin 451: -549 -548.749 -548.673 -548.629 -548.586 -548.555 -548.507 -548.464 -548.4 -548.282 -548 
+  Bin 452: -548 -547.762 -547.696 -547.649 -547.613 -547.57 -547.536 -547.489 -547.422 -547.313 -547 
+  Bin 453: -547 -546.799 -546.714 -546.661 -546.613 -546.564 -546.521 -546.467 -546.4 -546.276 -546 
+  Bin 454: -546 -545.741 -545.651 -545.607 -545.561 -545.527 -545.484 -545.439 -545.371 -545.268 -545 
+  Bin 455: -545 -544.726 -544.645 -544.598 -544.559 -544.512 -544.476 -544.427 -544.366 -544.271 -544 
+  Bin 456: -544 -543.788 -543.725 -543.678 -543.642 -543.6 -543.562 -543.509 -543.429 -543.308 -543 
+  Bin 457: -543 -542.76 -542.688 -542.656 -542.624 -542.58 -542.555 -542.513 -542.453 -542.337 -542 
+  Bin 458: -542 -541.788 -541.71 -541.658 -541.622 -541.579 -541.54 -541.495 -541.424 -541.306 -541 
+  Bin 459: -541 -540.781 -540.709 -540.656 -540.614 -540.568 -540.532 -540.486 -540.418 -540.307 -540 
+  Bin 460: -540 -539.717 -539.629 -539.582 -539.553 -539.529 -539.486 -539.446 -539.387 -539.284 -539 
+  Bin 461: -539 -538.775 -538.705 -538.654 -538.617 -538.569 -538.53 -538.481 -538.413 -538.306 -538 
+  Bin 462: -538 -537.758 -537.689 -537.64 -537.602 -537.571 -537.521 -537.475 -537.398 -537.278 -537 
+  Bin 463: -537 -536.755 -536.682 -536.645 -536.618 -536.582 -536.552 -536.514 -536.44 -536.318 -536 
+  Bin 464: -536 -535.764 -535.696 -535.657 -535.623 -535.597 -535.546 -535.505 -535.433 -535.315 -535 
+  Bin 465: -535 -534.708 -534.612 -534.571 -534.54 -534.521 -534.475 -534.436 -534.381 -534.28 -534 
+  Bin 466: -534 -533.745 -533.662 -533.621 -533.581 -533.541 -533.502 -533.455 -533.397 -533.287 -533 
+  Bin 467: -533 -532.755 -532.68 -532.633 -532.601 -532.575 -532.524 -532.483 -532.408 -532.294 -532 
+  Bin 468: -532 -531.709 -531.621 -531.569 -531.533 -531.504 -531.453 -531.411 -531.35 -531.249 -531 
+  Bin 469: -531 -530.793 -530.718 -530.664 -530.62 -530.574 -530.53 -530.482 -530.409 -530.298 -530 
+  Bin 470: -530 -529.764 -529.688 -529.631 -529.592 -529.544 -529.518 -529.475 -529.417 -529.329 -529 
+  Bin 471: -529 -528.762 -528.675 -528.617 -528.574 -528.535 -528.49 -528.444 -528.383 -528.294 -528 
+  Bin 472: -528 -527.798 -527.719 -527.668 -527.622 -527.579 -527.542 -527.488 -527.426 -527.321 -527 
+  Bin 473: -527 -526.785 -526.694 -526.631 -526.583 -526.54 -526.505 -526.464 -526.4 -526.31 -526 
+  Bin 474: -526 -525.747 -525.665 -525.613 -525.577 -525.544 -525.493 -525.444 -525.38 -525.282 -525 
+  Bin 475: -525 -524.77 -524.691 -524.651 -524.615 -524.559 -524.525 -524.477 -524.406 -524.311 -524 
+  Bin 476: -524 -523.79 -523.704 -523.646 -523.596 -523.556 -523.507 -523.459 -523.392 -523.292 -523 
+  Bin 477: -523 -522.758 -522.672 -522.616 -522.569 -522.525 -522.476 -522.426 -522.363 -522.272 -522 
+  Bin 478: -522 -521.786 -521.705 -521.656 -521.613 -521.57 -521.533 -521.485 -521.429 -521.324 -521 
+  Bin 479: -521 -520.802 -520.728 -520.672 -520.627 -520.585 -520.548 -520.496 -520.436 -520.33 -520 
+  Bin 480: -520 -519.777 -519.707 -519.655 -519.619 -519.585 -519.54 -519.488 -519.418 -519.308 -519 
+  Bin 481: -519 -518.758 -518.68 -518.628 -518.591 -518.546 -518.512 -518.465 -518.403 -518.303 -518 
+  Bin 482: -518 -517.809 -517.737 -517.686 -517.642 -517.599 -517.562 -517.517 -517.446 -517.345 -517 
+  Bin 483: -517 -516.76 -516.688 -516.64 -516.599 -516.56 -516.521 -516.481 -516.42 -516.325 -516 
+  Bin 484: -516 -515.762 -515.685 -515.632 -515.59 -515.545 -515.515 -515.47 -515.421 -515.333 -515 
+  Bin 485: -515 -514.728 -514.648 -514.598 -514.559 -514.526 -514.477 -514.431 -514.363 -514.273 -514 
+  Bin 486: -514 -513.747 -513.658 -513.596 -513.551 -513.494 -513.459 -513.411 -513.349 -513.256 -513 
+  Bin 487: -513 -512.783 -512.714 -512.664 -512.63 -512.591 -512.54 -512.479 -512.406 -512.29 -512 
+  Bin 488: -512 -511.845 -511.766 -511.711 -511.668 -511.623 -511.585 -511.538 -511.483 -511.369 -511 
+  Bin 489: -511 -510.84 -510.748 -510.685 -510.641 -510.592 -510.561 -510.508 -510.451 -510.353 -510 
+  Bin 490: -510 -509.822 -509.732 -509.677 -509.635 -509.588 -509.546 -509.497 -509.431 -509.336 -509 
+  Bin 491: -509 -508.803 -508.727 -508.663 -508.615 -508.571 -508.531 -508.483 -508.425 -508.328 -508 
+  Bin 492: -508 -507.784 -507.701 -507.638 -507.591 -507.558 -507.512 -507.463 -507.411 -507.328 -507 
+  Bin 493: -507 -506.775 -506.695 -506.642 -506.598 -506.547 -506.511 -506.462 -506.409 -506.32 -506 
+  Bin 494: -506 -505.772 -505.689 -505.628 -505.578 -505.539 -505.496 -505.45 -505.398 -505.313 -505 
+  Bin 495: -505 -504.767 -504.674 -504.61 -504.568 -504.535 -504.494 -504.459 -504.412 -504.318 -504 
+  Bin 496: -504 -503.789 -503.7 -503.643 -503.605 -503.561 -503.528 -503.486 -503.428 -503.325 -503 
+  Bin 497: -503 -502.747 -502.661 -502.621 -502.596 -502.574 -502.524 -502.481 -502.419 -502.306 -502 
+  Bin 498: -502 -501.764 -501.694 -501.649 -501.615 -501.57 -501.538 -501.494 -501.43 -501.318 -501 
+  Bin 499: -501 -500.765 -500.711 -500.671 -500.638 -500.612 -500.56 -500.512 -500.446 -500.327 -500 
+  Bin 500: -500 -499.798 -499.746 -499.708 -499.677 -499.634 -499.599 -499.55 -499.481 -499.353 -499 
+  Bin 501: -499 -498.815 -498.755 -498.713 -498.681 -498.653 -498.6 -498.557 -498.485 -498.375 -498 
+  Bin 502: -498 -497.739 -497.67 -497.635 -497.607 -497.563 -497.533 -497.494 -497.437 -497.329 -497 
+  Bin 503: -497 -496.709 -496.633 -496.599 -496.571 -496.546 -496.502 -496.462 -496.402 -496.291 -496 
+  Bin 504: -496 -495.759 -495.688 -495.652 -495.624 -495.597 -495.547 -495.499 -495.426 -495.3 -495 
+  Bin 505: -495 -494.773 -494.712 -494.678 -494.645 -494.602 -494.567 -494.522 -494.446 -494.318 -494 
+  Bin 506: -494 -493.744 -493.671 -493.636 -493.61 -493.584 -493.539 -493.497 -493.433 -493.316 -493 
+  Bin 507: -493 -492.748 -492.661 -492.637 -492.614 -492.579 -492.551 -492.509 -492.447 -492.32 -492 
+  Bin 508: -492 -491.784 -491.731 -491.693 -491.658 -491.608 -491.578 -491.533 -491.465 -491.336 -491 
+  Bin 509: -491 -490.75 -490.691 -490.661 -490.635 -490.607 -490.561 -490.515 -490.447 -490.327 -490 
+  Bin 510: -490 -489.762 -489.695 -489.658 -489.627 -489.597 -489.552 -489.503 -489.427 -489.298 -489 
+  Bin 511: -489 -488.817 -488.769 -488.733 -488.69 -488.671 -488.642 -488.591 -488.509 -488.354 -488 
+  Bin 512: -488 -487.797 -487.747 -487.703 -487.673 -487.647 -487.591 -487.541 -487.458 -487.312 -487 
+  Bin 513: -487 -486.756 -486.683 -486.644 -486.608 -486.563 -486.531 -486.481 -486.411 -486.286 -486 
+  Bin 514: -486 -485.771 -485.72 -485.686 -485.647 -485.601 -485.569 -485.519 -485.436 -485.295 -485 
+  Bin 515: -485 -484.733 -484.651 -484.624 -484.607 -484.587 -484.538 -484.49 -484.414 -484.281 -484 
+  Bin 516: -484 -483.732 -483.641 -483.613 -483.588 -483.541 -483.512 -483.471 -483.4 -483.265 -483 
+  Bin 517: -483 -482.751 -482.677 -482.652 -482.632 -482.608 -482.559 -482.507 -482.437 -482.305 -482 
+  Bin 518: -482 -481.747 -481.676 -481.649 -481.615 -481.567 -481.536 -481.489 -481.416 -481.281 -481 
+  Bin 519: -481 -480.737 -480.657 -480.627 -480.598 -480.549 -480.517 -480.47 -480.396 -480.269 -480 
+  Bin 520: -480 -479.74 -479.64 -479.611 -479.584 -479.56 -479.512 -479.468 -479.396 -479.271 -479 
+  Bin 521: -479 -478.743 -478.67 -478.632 -478.598 -478.552 -478.513 -478.462 -478.395 -478.276 -478 
+  Bin 522: -478 -477.748 -477.686 -477.651 -477.618 -477.594 -477.542 -477.491 -477.417 -477.288 -477 
+  Bin 523: -477 -476.769 -476.712 -476.678 -476.644 -476.599 -476.565 -476.515 -476.441 -476.312 -476 
+  Bin 524: -476 -475.745 -475.679 -475.643 -475.61 -475.578 -475.525 -475.478 -475.402 -475.274 -475 
+  Bin 525: -475 -474.728 -474.652 -474.617 -474.587 -474.562 -474.514 -474.464 -474.398 -474.276 -474 
+  Bin 526: -474 -473.764 -473.702 -473.662 -473.629 -473.58 -473.551 -473.506 -473.437 -473.317 -473 
+  Bin 527: -473 -472.733 -472.664 -472.609 -472.567 -472.537 -472.494 -472.449 -472.394 -472.28 -472 
+  Bin 528: -472 -471.713 -471.636 -471.596 -471.569 -471.546 -471.506 -471.463 -471.404 -471.288 -471 
+  Bin 529: -471 -470.754 -470.687 -470.652 -470.619 -470.596 -470.55 -470.51 -470.452 -470.343 -470 
+  Bin 530: -470 -469.752 -469.691 -469.652 -469.622 -469.583 -469.557 -469.52 -469.46 -469.34 -469 
+  Bin 531: -469 -468.799 -468.724 -468.676 -468.635 -468.608 -468.557 -468.507 -468.437 -468.311 -468 
+  Bin 532: -468 -467.743 -467.667 -467.634 -467.602 -467.577 -467.528 -467.486 -467.423 -467.298 -467 
+  Bin 533: -467 -466.749 -466.681 -466.642 -466.607 -466.579 -466.529 -466.483 -466.424 -466.316 -466 
+  Bin 534: -466 -465.777 -465.716 -465.681 -465.646 -465.607 -465.578 -465.53 -465.467 -465.35 -465 
+  Bin 535: -465 -464.785 -464.72 -464.67 -464.634 -464.593 -464.559 -464.515 -464.448 -464.334 -464 
+  Bin 536: -464 -463.767 -463.701 -463.668 -463.632 -463.607 -463.554 -463.51 -463.443 -463.325 -463 
+  Bin 537: -463 -462.74 -462.676 -462.633 -462.595 -462.569 -462.523 -462.479 -462.411 -462.307 -462 
+  Bin 538: -462 -461.747 -461.688 -461.655 -461.627 -461.581 -461.548 -461.511 -461.445 -461.333 -461 
+  Bin 539: -461 -460.746 -460.683 -460.648 -460.613 -460.569 -460.54 -460.499 -460.437 -460.32 -460 
+  Bin 540: -460 -459.758 -459.7 -459.661 -459.629 -459.588 -459.558 -459.509 -459.447 -459.334 -459 
+  Bin 541: -459 -458.776 -458.709 -458.661 -458.625 -458.582 -458.549 -458.5 -458.439 -458.323 -458 
+  Bin 542: -458 -457.783 -457.726 -457.684 -457.658 -457.633 -457.58 -457.53 -457.455 -457.324 -457 
+  Bin 543: -457 -456.8 -456.749 -456.715 -456.686 -456.656 -456.62 -456.568 -456.48 -456.328 -456 
+  Bin 544: -456 -455.843 -455.777 -455.726 -455.682 -455.643 -455.606 -455.555 -455.476 -455.347 -455 
+  Bin 545: -455 -454.756 -454.688 -454.646 -454.616 -454.589 -454.544 -454.489 -454.414 -454.291 -454 
+  Bin 546: -454 -453.747 -453.673 -453.639 -453.601 -453.552 -453.522 -453.476 -453.405 -453.282 -453 
+  Bin 547: -453 -452.808 -452.756 -452.718 -452.685 -452.645 -452.607 -452.545 -452.462 -452.319 -452 
+  Bin 548: -452 -451.807 -451.746 -451.703 -451.665 -451.623 -451.587 -451.543 -451.462 -451.33 -451 
+  Bin 549: -451 -450.765 -450.695 -450.649 -450.605 -450.575 -450.522 -450.474 -450.396 -450.286 -450 
+  Bin 550: -450 -449.762 -449.687 -449.661 -449.631 -449.601 -449.544 -449.496 -449.422 -449.3 -449 
+  Bin 551: -449 -448.776 -448.717 -448.674 -448.637 -448.592 -448.554 -448.501 -448.429 -448.315 -448 
+  Bin 552: -448 -447.781 -447.727 -447.686 -447.65 -447.611 -447.572 -447.521 -447.438 -447.319 -447 
+  Bin 553: -447 -446.811 -446.763 -446.715 -446.677 -446.633 -446.597 -446.54 -446.461 -446.339 -446 
+  Bin 554: -446 -445.797 -445.73 -445.674 -445.63 -445.578 -445.536 -445.489 -445.417 -445.295 -445 
+  Bin 555: -445 -444.752 -444.681 -444.633 -444.596 -444.567 -444.516 -444.465 -444.392 -444.283 -444 
+  Bin 556: -444 -443.769 -443.699 -443.656 -443.617 -443.569 -443.528 -443.482 -443.41 -443.297 -443 
+  Bin 557: -443 -442.772 -442.697 -442.656 -442.622 -442.574 -442.535 -442.48 -442.4 -442.27 -442 
+  Bin 558: -442 -441.757 -441.687 -441.645 -441.607 -441.571 -441.517 -441.47 -441.4 -441.27 -441 
+  Bin 559: -441 -440.779 -440.709 -440.674 -440.643 -440.612 -440.566 -440.512 -440.438 -440.302 -440 
+  Bin 560: -440 -439.803 -439.742 -439.7 -439.664 -439.618 -439.585 -439.538 -439.47 -439.338 -439 
+  Bin 561: -439 -438.756 -438.702 -438.669 -438.64 -438.614 -438.562 -438.518 -438.448 -438.316 -438 
+  Bin 562: -438 -437.777 -437.717 -437.682 -437.648 -437.609 -437.576 -437.527 -437.452 -437.324 -437 
+  Bin 563: -437 -436.787 -436.732 -436.697 -436.662 -436.619 -436.58 -436.535 -436.47 -436.348 -436 
+  Bin 564: -436 -435.786 -435.731 -435.698 -435.668 -435.635 -435.588 -435.533 -435.456 -435.316 -435 
+  Bin 565: -435 -434.772 -434.721 -434.69 -434.663 -434.618 -434.582 -434.533 -434.46 -434.329 -434 
+  Bin 566: -434 -433.795 -433.734 -433.694 -433.661 -433.626 -433.575 -433.515 -433.444 -433.311 -433 
+  Bin 567: -433 -432.775 -432.716 -432.672 -432.633 -432.586 -432.548 -432.495 -432.42 -432.298 -432 
+  Bin 568: -432 -431.799 -431.747 -431.71 -431.679 -431.634 -431.598 -431.537 -431.455 -431.325 -431 
+  Bin 569: -431 -430.774 -430.715 -430.677 -430.648 -430.603 -430.568 -430.519 -430.443 -430.318 -430 
+  Bin 570: -430 -429.773 -429.714 -429.683 -429.651 -429.625 -429.582 -429.527 -429.453 -429.315 -429 
+  Bin 571: -429 -428.781 -428.722 -428.686 -428.654 -428.615 -428.581 -428.532 -428.457 -428.329 -428 
+  Bin 572: -428 -427.787 -427.73 -427.696 -427.662 -427.613 -427.576 -427.521 -427.437 -427.296 -427 
+  Bin 573: -427 -426.801 -426.758 -426.721 -426.69 -426.638 -426.599 -426.542 -426.469 -426.33 -426 
+  Bin 574: -426 -425.767 -425.704 -425.665 -425.629 -425.581 -425.542 -425.495 -425.425 -425.302 -425 
+  Bin 575: -425 -424.774 -424.701 -424.674 -424.654 -424.622 -424.591 -424.541 -424.459 -424.316 -424 
+  Bin 576: -424 -423.823 -423.78 -423.739 -423.707 -423.661 -423.626 -423.574 -423.488 -423.337 -423 
+  Bin 577: -423 -422.763 -422.709 -422.674 -422.645 -422.618 -422.572 -422.525 -422.452 -422.324 -422 
+  Bin 578: -422 -421.754 -421.698 -421.664 -421.631 -421.604 -421.56 -421.513 -421.441 -421.301 -421 
+  Bin 579: -421 -420.766 -420.716 -420.674 -420.639 -420.594 -420.562 -420.515 -420.446 -420.317 -420 
+  Bin 580: -420 -419.795 -419.744 -419.705 -419.676 -419.652 -419.606 -419.558 -419.484 -419.35 -419 
+  Bin 581: -419 -418.754 -418.691 -418.636 -418.599 -418.556 -418.523 -418.478 -418.41 -418.303 -418 
+  Bin 582: -418 -417.78 -417.715 -417.666 -417.623 -417.582 -417.546 -417.506 -417.436 -417.339 -417 
+  Bin 583: -417 -416.836 -416.743 -416.684 -416.639 -416.598 -416.565 -416.514 -416.452 -416.349 -416 
+  Bin 584: -416 -415.791 -415.71 -415.657 -415.618 -415.59 -415.54 -415.491 -415.424 -415.327 -415 
+  Bin 585: -415 -414.818 -414.739 -414.684 -414.643 -414.6 -414.569 -414.521 -414.454 -414.342 -414 
+  Bin 586: -414 -413.813 -413.751 -413.7 -413.665 -413.634 -413.578 -413.525 -413.447 -413.322 -413 
+  Bin 587: -413 -412.764 -412.706 -412.652 -412.611 -412.568 -412.533 -412.486 -412.42 -412.298 -412 
+  Bin 588: -412 -411.771 -411.709 -411.665 -411.631 -411.583 -411.549 -411.505 -411.437 -411.308 -411 
+  Bin 589: -411 -410.772 -410.711 -410.669 -410.631 -410.585 -410.551 -410.507 -410.433 -410.316 -410 
+  Bin 590: -410 -409.779 -409.714 -409.653 -409.613 -409.569 -409.539 -409.494 -409.433 -409.327 -409 
+  Bin 591: -409 -408.729 -408.657 -408.608 -408.568 -408.539 -408.494 -408.45 -408.387 -408.281 -408 
+  Bin 592: -408 -407.75 -407.675 -407.63 -407.593 -407.565 -407.517 -407.473 -407.408 -407.303 -407 
+  Bin 593: -407 -406.756 -406.698 -406.655 -406.617 -406.577 -406.546 -406.501 -406.439 -406.333 -406 
+  Bin 594: -406 -405.782 -405.717 -405.669 -405.635 -405.61 -405.557 -405.509 -405.443 -405.328 -405 
+  Bin 595: -405 -404.783 -404.718 -404.671 -404.635 -404.594 -404.561 -404.516 -404.445 -404.333 -404 
+  Bin 596: -404 -403.782 -403.72 -403.67 -403.632 -403.605 -403.562 -403.519 -403.453 -403.339 -403 
+  Bin 597: -403 -402.78 -402.711 -402.658 -402.615 -402.571 -402.539 -402.497 -402.434 -402.327 -402 
+  Bin 598: -402 -401.764 -401.7 -401.657 -401.625 -401.601 -401.549 -401.508 -401.439 -401.317 -401 
+  Bin 599: -401 -400.746 -400.684 -400.652 -400.62 -400.583 -400.556 -400.508 -400.439 -400.317 -400 
+  Bin 600: -400 -399.752 -399.685 -399.638 -399.603 -399.576 -399.528 -399.481 -399.415 -399.298 -399 
+  Bin 601: -399 -398.747 -398.672 -398.621 -398.578 -398.533 -398.505 -398.465 -398.408 -398.309 -398 
+  Bin 602: -398 -397.791 -397.734 -397.691 -397.654 -397.612 -397.579 -397.536 -397.466 -397.348 -397 
+  Bin 603: -397 -396.776 -396.717 -396.675 -396.643 -396.62 -396.572 -396.522 -396.449 -396.333 -396 
+  Bin 604: -396 -395.759 -395.694 -395.654 -395.62 -395.581 -395.538 -395.492 -395.43 -395.309 -395 
+  Bin 605: -395 -394.759 -394.696 -394.653 -394.626 -394.589 -394.558 -394.512 -394.438 -394.324 -394 
+  Bin 606: -394 -393.808 -393.718 -393.653 -393.608 -393.555 -393.522 -393.476 -393.416 -393.315 -393 
+  Bin 607: -393 -392.745 -392.666 -392.629 -392.597 -392.574 -392.528 -392.481 -392.405 -392.284 -392 
+  Bin 608: -392 -391.736 -391.672 -391.636 -391.605 -391.577 -391.528 -391.484 -391.422 -391.302 -391 
+  Bin 609: -391 -390.714 -390.635 -390.601 -390.574 -390.551 -390.512 -390.477 -390.409 -390.284 -390 
+  Bin 610: -390 -389.743 -389.675 -389.647 -389.623 -389.582 -389.556 -389.513 -389.446 -389.313 -389 
+  Bin 611: -389 -388.763 -388.704 -388.671 -388.642 -388.619 -388.574 -388.529 -388.461 -388.329 -388 
+  Bin 612: -388 -387.722 -387.646 -387.609 -387.575 -387.535 -387.508 -387.47 -387.407 -387.285 -387 
+  Bin 613: -387 -386.746 -386.686 -386.652 -386.622 -386.581 -386.55 -386.514 -386.45 -386.329 -386 
+  Bin 614: -386 -385.729 -385.672 -385.638 -385.602 -385.572 -385.525 -385.482 -385.415 -385.298 -385 
+  Bin 615: -385 -384.753 -384.679 -384.652 -384.633 -384.593 -384.56 -384.52 -384.448 -384.318 -384 
+  Bin 616: -384 -383.771 -383.708 -383.67 -383.637 -383.588 -383.555 -383.511 -383.44 -383.31 -383 
+  Bin 617: -383 -382.738 -382.676 -382.649 -382.625 -382.604 -382.555 -382.512 -382.441 -382.318 -382 
+  Bin 618: -382 -381.729 -381.66 -381.626 -381.596 -381.556 -381.524 -381.481 -381.41 -381.291 -381 
+  Bin 619: -381 -380.722 -380.64 -380.606 -380.582 -380.56 -380.506 -380.463 -380.395 -380.277 -380 
+  Bin 620: -380 -379.736 -379.66 -379.628 -379.601 -379.556 -379.529 -379.484 -379.416 -379.292 -379 
+  Bin 621: -379 -378.774 -378.711 -378.684 -378.659 -378.616 -378.586 -378.541 -378.469 -378.334 -378 
+  Bin 622: -378 -377.756 -377.693 -377.655 -377.611 -377.56 -377.529 -377.483 -377.412 -377.292 -377 
+  Bin 623: -377 -376.775 -376.698 -376.662 -376.641 -376.628 -376.584 -376.541 -376.461 -376.315 -376 
+  Bin 624: -376 -375.745 -375.679 -375.648 -375.621 -375.58 -375.55 -375.508 -375.45 -375.324 -375 
+  Bin 625: -375 -374.757 -374.697 -374.664 -374.642 -374.62 -374.578 -374.536 -374.461 -374.316 -374 
+  Bin 626: -374 -373.71 -373.635 -373.605 -373.576 -373.556 -373.514 -373.476 -373.416 -373.299 -373 
+  Bin 627: -373 -372.721 -372.643 -372.611 -372.582 -372.559 -372.514 -372.474 -372.411 -372.289 -372 
+  Bin 628: -372 -371.739 -371.673 -371.641 -371.61 -371.572 -371.544 -371.503 -371.44 -371.304 -371 
+  Bin 629: -371 -370.759 -370.693 -370.661 -370.638 -370.619 -370.575 -370.534 -370.457 -370.319 -370 
+  Bin 630: -370 -369.732 -369.655 -369.623 -369.601 -369.556 -369.526 -369.485 -369.417 -369.297 -369 
+  Bin 631: -369 -368.748 -368.679 -368.646 -368.622 -368.601 -368.562 -368.519 -368.454 -368.322 -368 
+  Bin 632: -368 -367.751 -367.696 -367.651 -367.614 -367.573 -367.542 -367.499 -367.43 -367.314 -367 
+  Bin 633: -367 -366.749 -366.691 -366.655 -366.624 -366.581 -366.549 -366.501 -366.435 -366.313 -366 
+  Bin 634: -366 -365.719 -365.657 -365.615 -365.581 -365.557 -365.514 -365.469 -365.398 -365.287 -365 
+  Bin 635: -365 -364.743 -364.683 -364.637 -364.599 -364.56 -364.528 -364.48 -364.405 -364.28 -364 
+  Bin 636: -364 -363.726 -363.638 -363.598 -363.569 -363.54 -363.491 -363.45 -363.384 -363.269 -363 
+  Bin 637: -363 -362.737 -362.664 -362.636 -362.608 -362.59 -362.547 -362.505 -362.437 -362.305 -362 
+  Bin 638: -362 -361.731 -361.658 -361.615 -361.581 -361.537 -361.505 -361.465 -361.408 -361.308 -361 
+  Bin 639: -361 -360.704 -360.607 -360.556 -360.516 -360.474 -360.436 -360.392 -360.325 -360.221 -360 
+  Bin 640: -360 -359.747 -359.672 -359.631 -359.601 -359.576 -359.538 -359.493 -359.419 -359.299 -359 
+  Bin 641: -359 -358.752 -358.686 -358.646 -358.614 -358.568 -358.538 -358.492 -358.424 -358.314 -358 
+  Bin 642: -358 -357.747 -357.671 -357.625 -357.595 -357.569 -357.524 -357.477 -357.407 -357.293 -357 
+  Bin 643: -357 -356.78 -356.72 -356.695 -356.675 -356.642 -356.611 -356.56 -356.482 -356.335 -356 
+  Bin 644: -356 -355.808 -355.734 -355.684 -355.623 -355.59 -355.558 -355.515 -355.442 -355.32 -355 
+  Bin 645: -355 -354.714 -354.652 -354.638 -354.626 -354.612 -354.568 -354.528 -354.452 -354.306 -354 
+  Bin 646: -354 -353.728 -353.624 -353.571 -353.552 -353.533 -353.51 -353.465 -353.411 -353.319 -353 
+  Bin 647: -353 -352.706 -352.578 -352.525 -352.495 -352.472 -352.432 -352.397 -352.346 -352.256 -352 
+  Bin 648: -352 -351.711 -351.633 -351.593 -351.559 -351.516 -351.495 -351.457 -351.392 -351.278 -351 
+  Bin 649: -351 -350.764 -350.69 -350.655 -350.636 -350.616 -350.576 -350.532 -350.465 -350.328 -350 
+  Bin 650: -350 -349.788 -349.717 -349.679 -349.645 -349.596 -349.569 -349.531 -349.467 -349.356 -349 
+  Bin 651: -349 -348.748 -348.671 -348.638 -348.618 -348.598 -348.551 -348.505 -348.446 -348.336 -348 
+  Bin 652: -348 -347.781 -347.715 -347.66 -347.621 -347.574 -347.538 -347.491 -347.433 -347.33 -347 
+  Bin 653: -347 -346.785 -346.709 -346.662 -346.624 -346.577 -346.545 -346.497 -346.436 -346.34 -346 
+  Bin 654: -346 -345.796 -345.723 -345.667 -345.626 -345.578 -345.545 -345.504 -345.434 -345.325 -345 
+  Bin 655: -345 -344.786 -344.717 -344.673 -344.642 -344.615 -344.565 -344.52 -344.456 -344.343 -344 
+  Bin 656: -344 -343.775 -343.723 -343.703 -343.686 -343.651 -343.629 -343.594 -343.531 -343.399 -343 
+  Bin 657: -343 -342.796 -342.731 -342.681 -342.649 -342.608 -342.578 -342.53 -342.462 -342.342 -342 
+  Bin 658: -342 -341.759 -341.694 -341.655 -341.627 -341.601 -341.55 -341.509 -341.45 -341.336 -341 
+  Bin 659: -341 -340.724 -340.653 -340.61 -340.575 -340.533 -340.509 -340.469 -340.412 -340.302 -340 
+  Bin 660: -340 -339.766 -339.703 -339.664 -339.634 -339.589 -339.561 -339.52 -339.453 -339.334 -339 
+  Bin 661: -339 -338.767 -338.706 -338.67 -338.641 -338.618 -338.572 -338.526 -338.458 -338.326 -338 
+  Bin 662: -338 -337.737 -337.673 -337.647 -337.618 -337.578 -337.553 -337.517 -337.455 -337.331 -337 
+  Bin 663: -337 -336.777 -336.715 -336.681 -336.651 -336.611 -336.581 -336.539 -336.475 -336.343 -336 
+  Bin 664: -336 -335.749 -335.684 -335.64 -335.607 -335.564 -335.536 -335.494 -335.429 -335.316 -335 
+  Bin 665: -335 -334.744 -334.674 -334.631 -334.597 -334.57 -334.524 -334.481 -334.418 -334.31 -334 
+  Bin 666: -334 -333.782 -333.722 -333.681 -333.645 -333.6 -333.569 -333.525 -333.457 -333.34 -333 
+  Bin 667: -333 -332.786 -332.728 -332.695 -332.665 -332.621 -332.591 -332.544 -332.474 -332.344 -332 
+  Bin 668: -332 -331.769 -331.709 -331.671 -331.634 -331.594 -331.563 -331.522 -331.457 -331.342 -331 
+  Bin 669: -331 -330.751 -330.68 -330.651 -330.624 -330.607 -330.562 -330.523 -330.464 -330.348 -330 
+  Bin 670: -330 -329.76 -329.695 -329.649 -329.612 -329.563 -329.538 -329.5 -329.441 -329.329 -329 
+  Bin 671: -329 -328.742 -328.675 -328.635 -328.604 -328.575 -328.529 -328.485 -328.417 -328.309 -328 
+  Bin 672: -328 -327.744 -327.671 -327.62 -327.583 -327.541 -327.51 -327.468 -327.413 -327.306 -327 
+  Bin 673: -327 -326.767 -326.691 -326.645 -326.61 -326.582 -326.534 -326.487 -326.419 -326.32 -326 
+  Bin 674: -326 -325.745 -325.667 -325.611 -325.568 -325.532 -325.497 -325.452 -325.392 -325.3 -325 
+  Bin 675: -325 -324.768 -324.697 -324.653 -324.618 -324.576 -324.537 -324.487 -324.422 -324.32 -324 
+  Bin 676: -324 -323.769 -323.687 -323.64 -323.601 -323.559 -323.52 -323.469 -323.4 -323.304 -323 
+  Bin 677: -323 -322.766 -322.687 -322.637 -322.596 -322.555 -322.515 -322.465 -322.402 -322.31 -322 
+  Bin 678: -322 -321.784 -321.697 -321.643 -321.599 -321.551 -321.515 -321.467 -321.402 -321.301 -321 
+  Bin 679: -321 -320.762 -320.684 -320.631 -320.588 -320.537 -320.502 -320.456 -320.39 -320.293 -320 
+  Bin 680: -320 -319.729 -319.637 -319.582 -319.542 -319.508 -319.464 -319.418 -319.361 -319.256 -319 
+  Bin 681: -319 -318.729 -318.639 -318.584 -318.545 -318.503 -318.47 -318.419 -318.354 -318.257 -318 
+  Bin 682: -318 -317.762 -317.69 -317.644 -317.608 -317.565 -317.523 -317.469 -317.405 -317.308 -317 
+  Bin 683: -317 -316.785 -316.708 -316.649 -316.604 -316.561 -316.519 -316.476 -316.413 -316.311 -316 
+  Bin 684: -316 -315.783 -315.706 -315.653 -315.611 -315.569 -315.533 -315.483 -315.412 -315.303 -315 
+  Bin 685: -315 -314.76 -314.683 -314.634 -314.595 -314.565 -314.511 -314.453 -314.38 -314.265 -314 
+  Bin 686: -314 -313.766 -313.684 -313.636 -313.6 -313.565 -313.525 -313.474 -313.399 -313.291 -313 
+  Bin 687: -313 -312.753 -312.667 -312.606 -312.563 -312.533 -312.501 -312.469 -312.422 -312.347 -312 
+  Bin 688: -312 -311.761 -311.662 -311.609 -311.576 -311.541 -311.52 -311.492 -311.452 -311.358 -311 
+  Bin 689: -311 -310.807 -310.726 -310.681 -310.643 -310.604 -310.571 -310.527 -310.472 -310.378 -310 
+  Bin 690: -310 -309.781 -309.686 -309.627 -309.589 -309.561 -309.517 -309.473 -309.41 -309.321 -309 
+  Bin 691: -309 -308.799 -308.725 -308.68 -308.645 -308.606 -308.566 -308.521 -308.458 -308.344 -308 
+  Bin 692: -308 -307.755 -307.69 -307.644 -307.61 -307.575 -307.543 -307.498 -307.429 -307.312 -307 
+  Bin 693: -307 -306.74 -306.636 -306.591 -306.558 -306.526 -306.484 -306.439 -306.373 -306.266 -306 
+  Bin 694: -306 -305.727 -305.645 -305.602 -305.565 -305.52 -305.486 -305.445 -305.386 -305.275 -305 
+  Bin 695: -305 -304.684 -304.559 -304.509 -304.48 -304.457 -304.419 -304.38 -304.324 -304.22 -304 
+  Bin 696: -304 -303.8 -303.707 -303.667 -303.643 -303.623 -303.574 -303.503 -303.413 -303.228 -303 
+  Bin 697: -303 -302.943 -302.906 -302.855 -302.793 -302.731 -302.456 -302.211 -302.117 -302.058 -302 
+  Bin 698: -302 -301.774 -301.574 -301.417 -301.308 -301.223 -301.073 -301.007 -301.004 -301.001 -301 
+  Bin 699: -301 -300.959 -300.905 -300.851 -300.838 -300.838 -300.838 -300.811 -300.716 -300.527 -300 
+  Bin 700: -300 -299.974 -299.902 -299.756 -299.61 -299.53 -299.482 -299.407 -299.302 -299.169 -299 
+  Bin 701: -299 -298.935 -298.855 -298.605 -298.332 -298.267 -298.247 -298.233 -298.207 -298.151 -298 
+  Bin 702: -298 -297.718 -297.576 -297.523 -297.481 -297.436 -297.399 -297.36 -297.299 -297.208 -297 
+  Bin 703: -297 -296.83 -296.767 -296.737 -296.711 -296.679 -296.638 -296.582 -296.484 -296.326 -296 
+  Bin 704: -296 -295.786 -295.725 -295.691 -295.66 -295.622 -295.586 -295.535 -295.456 -295.326 -295 
+  Bin 705: -295 -294.682 -294.563 -294.513 -294.48 -294.452 -294.412 -294.374 -294.311 -294.215 -294 
+  Bin 706: -294 -293.747 -293.638 -293.592 -293.562 -293.528 -293.494 -293.447 -293.374 -293.262 -293 
+  Bin 707: -293 -292.772 -292.695 -292.664 -292.634 -292.601 -292.561 -292.504 -292.42 -292.299 -292 
+  Bin 708: -292 -291.781 -291.71 -291.678 -291.65 -291.608 -291.57 -291.51 -291.428 -291.297 -291 
+  Bin 709: -291 -290.75 -290.664 -290.627 -290.602 -290.565 -290.533 -290.486 -290.418 -290.289 -290 
+  Bin 710: -290 -289.732 -289.627 -289.584 -289.554 -289.526 -289.48 -289.427 -289.353 -289.225 -289 
+  Bin 711: -289 -288.754 -288.639 -288.591 -288.564 -288.539 -288.492 -288.444 -288.371 -288.253 -288 
+  Bin 712: -288 -287.761 -287.679 -287.646 -287.61 -287.565 -287.52 -287.467 -287.388 -287.265 -287 
+  Bin 713: -287 -286.765 -286.667 -286.628 -286.597 -286.569 -286.519 -286.468 -286.388 -286.271 -286 
+  Bin 714: -286 -285.746 -285.655 -285.618 -285.584 -285.541 -285.498 -285.442 -285.364 -285.25 -285 
+  Bin 715: -285 -284.781 -284.694 -284.658 -284.627 -284.587 -284.541 -284.485 -284.407 -284.277 -284 
+  Bin 716: -284 -283.754 -283.667 -283.634 -283.61 -283.57 -283.537 -283.489 -283.421 -283.292 -283 
+  Bin 717: -283 -282.744 -282.629 -282.581 -282.553 -282.531 -282.493 -282.451 -282.376 -282.248 -282 
+  Bin 718: -282 -281.75 -281.645 -281.605 -281.58 -281.554 -281.508 -281.459 -281.39 -281.266 -281 
+  Bin 719: -281 -280.768 -280.69 -280.658 -280.628 -280.59 -280.551 -280.499 -280.425 -280.293 -280 
+  Bin 720: -280 -279.772 -279.707 -279.677 -279.649 -279.609 -279.577 -279.533 -279.455 -279.314 -279 
+  Bin 721: -279 -278.733 -278.656 -278.626 -278.606 -278.58 -278.53 -278.486 -278.411 -278.284 -278 
+  Bin 722: -278 -277.77 -277.693 -277.66 -277.64 -277.611 -277.582 -277.536 -277.461 -277.326 -277 
+  Bin 723: -277 -276.759 -276.695 -276.664 -276.632 -276.591 -276.558 -276.506 -276.434 -276.305 -276 
+  Bin 724: -276 -275.737 -275.646 -275.615 -275.592 -275.572 -275.53 -275.485 -275.415 -275.294 -275 
+  Bin 725: -275 -274.704 -274.626 -274.589 -274.554 -274.512 -274.478 -274.432 -274.368 -274.258 -274 
+  Bin 726: -274 -273.72 -273.624 -273.585 -273.556 -273.529 -273.48 -273.435 -273.362 -273.248 -273 
+  Bin 727: -273 -272.74 -272.635 -272.595 -272.567 -272.529 -272.494 -272.442 -272.373 -272.256 -272 
+  Bin 728: -272 -271.77 -271.699 -271.664 -271.636 -271.594 -271.555 -271.506 -271.436 -271.308 -271 
+  Bin 729: -271 -270.724 -270.644 -270.599 -270.566 -270.53 -270.48 -270.434 -270.362 -270.245 -270 
+  Bin 730: -270 -269.75 -269.655 -269.617 -269.587 -269.549 -269.515 -269.467 -269.398 -269.273 -269 
+  Bin 731: -269 -268.729 -268.646 -268.608 -268.575 -268.534 -268.495 -268.446 -268.371 -268.26 -268 
+  Bin 732: -268 -267.732 -267.64 -267.601 -267.57 -267.537 -267.489 -267.432 -267.362 -267.248 -267 
+  Bin 733: -267 -266.735 -266.639 -266.602 -266.573 -266.531 -266.495 -266.438 -266.367 -266.251 -266 
+  Bin 734: -266 -265.785 -265.712 -265.677 -265.647 -265.609 -265.569 -265.509 -265.424 -265.295 -265 
+  Bin 735: -265 -264.845 -264.797 -264.768 -264.735 -264.714 -264.679 -264.617 -264.523 -264.367 -264 
+  Bin 736: -264 -263.839 -263.794 -263.765 -263.744 -263.712 -263.683 -263.642 -263.565 -263.397 -263 
+  Bin 737: -263 -262.731 -262.668 -262.637 -262.605 -262.578 -262.538 -262.498 -262.433 -262.315 -262 
+  Bin 738: -262 -261.704 -261.61 -261.577 -261.558 -261.538 -261.502 -261.465 -261.409 -261.286 -261 
+  Bin 739: -261 -260.753 -260.699 -260.664 -260.627 -260.594 -260.568 -260.522 -260.454 -260.32 -260 
+  Bin 740: -260 -259.813 -259.764 -259.735 -259.717 -259.688 -259.656 -259.611 -259.526 -259.359 -259 
+  Bin 741: -259 -258.752 -258.676 -258.647 -258.629 -258.599 -258.574 -258.537 -258.47 -258.334 -258 
+  Bin 742: -258 -257.724 -257.63 -257.6 -257.581 -257.563 -257.53 -257.492 -257.431 -257.301 -257 
+  Bin 743: -257 -256.805 -256.75 -256.731 -256.713 -256.686 -256.654 -256.594 -256.472 -256.218 -256 
+  Bin 744: -256 -255.645 -255.44 -255.293 -255.184 -255.117 -255.098 -255.083 -255.063 -255.036 -255 
+  Bin 745: -255 -254.991 -254.975 -254.94 -254.846 -254.503 -254.135 -254.05 -254.023 -254.011 -254 
+  Bin 746: -254 -253.977 -253.959 -253.944 -253.935 -253.927 -253.874 -253.819 -253.726 -253.552 -253 
+  Bin 747: -253 -252.74 -252.579 -252.501 -252.474 -252.452 -252.419 -252.393 -252.348 -252.248 -252 
+  Bin 748: -252 -251.757 -251.68 -251.649 -251.63 -251.592 -251.569 -251.53 -251.469 -251.325 -251 
+  Bin 749: -251 -250.771 -250.698 -250.667 -250.647 -250.629 -250.59 -250.551 -250.487 -250.348 -250 
+  Bin 750: -250 -249.746 -249.666 -249.635 -249.611 -249.589 -249.546 -249.502 -249.435 -249.308 -249 
+  Bin 751: -249 -248.768 -248.676 -248.636 -248.612 -248.579 -248.565 -248.539 -248.48 -248.342 -248 
+  Bin 752: -248 -247.752 -247.659 -247.625 -247.606 -247.59 -247.555 -247.531 -247.483 -247.363 -247 
+  Bin 753: -247 -246.727 -246.646 -246.612 -246.591 -246.553 -246.531 -246.499 -246.439 -246.322 -246 
+  Bin 754: -246 -245.739 -245.656 -245.627 -245.608 -245.595 -245.558 -245.524 -245.467 -245.348 -245 
+  Bin 755: -245 -244.757 -244.705 -244.667 -244.632 -244.591 -244.561 -244.517 -244.447 -244.31 -244 
+  Bin 756: -244 -243.762 -243.688 -243.659 -243.64 -243.607 -243.586 -243.551 -243.483 -243.352 -243 
+  Bin 757: -243 -242.722 -242.634 -242.603 -242.582 -242.566 -242.527 -242.497 -242.44 -242.316 -242 
+  Bin 758: -242 -241.74 -241.631 -241.591 -241.574 -241.561 -241.528 -241.501 -241.442 -241.319 -241 
+  Bin 759: -241 -240.778 -240.696 -240.661 -240.643 -240.612 -240.594 -240.563 -240.5 -240.35 -240 
+  Bin 760: -240 -239.778 -239.7 -239.669 -239.652 -239.619 -239.599 -239.566 -239.5 -239.367 -239 
+  Bin 761: -239 -238.747 -238.658 -238.628 -238.607 -238.59 -238.549 -238.518 -238.449 -238.315 -238 
+  Bin 762: -238 -237.737 -237.648 -237.613 -237.595 -237.56 -237.544 -237.514 -237.456 -237.333 -237 
+  Bin 763: -237 -236.756 -236.667 -236.631 -236.613 -236.6 -236.562 -236.532 -236.471 -236.342 -236 
+  Bin 764: -236 -235.734 -235.64 -235.608 -235.588 -235.554 -235.535 -235.5 -235.442 -235.316 -235 
+  Bin 765: -235 -234.745 -234.651 -234.608 -234.59 -234.577 -234.544 -234.516 -234.451 -234.307 -234 
+  Bin 766: -234 -233.776 -233.692 -233.655 -233.634 -233.602 -233.589 -233.569 -233.515 -233.384 -233 
+  Bin 767: -233 -232.725 -232.632 -232.596 -232.578 -232.56 -232.53 -232.496 -232.436 -232.318 -232 
+  Bin 768: -232 -231.747 -231.665 -231.634 -231.614 -231.601 -231.567 -231.54 -231.483 -231.359 -231 
+  Bin 769: -231 -230.736 -230.647 -230.615 -230.598 -230.564 -230.546 -230.516 -230.456 -230.335 -230 
+  Bin 770: -230 -229.756 -229.668 -229.635 -229.616 -229.603 -229.569 -229.54 -229.487 -229.367 -229 
+  Bin 771: -229 -228.759 -228.677 -228.639 -228.623 -228.593 -228.58 -228.555 -228.502 -228.373 -228 
+  Bin 772: -228 -227.755 -227.678 -227.65 -227.631 -227.62 -227.588 -227.558 -227.496 -227.36 -227 
+  Bin 773: -227 -226.759 -226.688 -226.659 -226.642 -226.609 -226.589 -226.554 -226.489 -226.356 -226 
+  Bin 774: -226 -225.752 -225.673 -225.637 -225.618 -225.603 -225.567 -225.54 -225.483 -225.364 -225 
+  Bin 775: -225 -224.745 -224.657 -224.623 -224.603 -224.59 -224.555 -224.526 -224.469 -224.338 -224 
+  Bin 776: -224 -223.761 -223.669 -223.634 -223.61 -223.574 -223.559 -223.533 -223.479 -223.352 -223 
+  Bin 777: -223 -222.759 -222.673 -222.647 -222.63 -222.616 -222.584 -222.552 -222.493 -222.36 -222 
+  Bin 778: -222 -221.772 -221.689 -221.651 -221.633 -221.598 -221.583 -221.56 -221.508 -221.381 -221 
+  Bin 779: -221 -220.748 -220.652 -220.613 -220.594 -220.579 -220.543 -220.518 -220.468 -220.347 -220 
+  Bin 780: -220 -219.771 -219.681 -219.644 -219.623 -219.595 -219.576 -219.543 -219.469 -219.324 -219 
+  Bin 781: -219 -218.787 -218.722 -218.699 -218.683 -218.646 -218.624 -218.585 -218.516 -218.378 -218 
+  Bin 782: -218 -217.723 -217.648 -217.619 -217.597 -217.553 -217.533 -217.501 -217.445 -217.343 -217 
+  Bin 783: -217 -216.703 -216.65 -216.622 -216.598 -216.58 -216.538 -216.5 -216.445 -216.342 -216 
+  Bin 784: -216 -215.73 -215.675 -215.647 -215.624 -215.603 -215.563 -215.529 -215.476 -215.371 -215 
+  Bin 785: -215 -214.719 -214.657 -214.626 -214.6 -214.563 -214.54 -214.506 -214.447 -214.34 -214 
+  Bin 786: -214 -213.738 -213.681 -213.651 -213.628 -213.61 -213.573 -213.536 -213.477 -213.365 -213 
+  Bin 787: -213 -212.724 -212.628 -212.594 -212.577 -212.565 -212.534 -212.504 -212.454 -212.344 -212 
+  Bin 788: -212 -211.737 -211.664 -211.639 -211.623 -211.595 -211.578 -211.546 -211.491 -211.362 -211 
+  Bin 789: -211 -210.757 -210.691 -210.666 -210.649 -210.632 -210.588 -210.556 -210.499 -210.373 -210 
+  Bin 790: -210 -209.74 -209.661 -209.63 -209.609 -209.575 -209.554 -209.523 -209.467 -209.348 -209 
+  Bin 791: -209 -208.764 -208.677 -208.646 -208.626 -208.599 -208.58 -208.557 -208.5 -208.366 -208 
+  Bin 792: -208 -207.758 -207.669 -207.626 -207.606 -207.592 -207.555 -207.531 -207.481 -207.364 -207 
+  Bin 793: -207 -206.734 -206.644 -206.612 -206.594 -206.579 -206.543 -206.508 -206.452 -206.343 -206 
+  Bin 794: -206 -205.722 -205.632 -205.602 -205.582 -205.549 -205.53 -205.494 -205.436 -205.32 -205 
+  Bin 795: -205 -204.762 -204.68 -204.647 -204.63 -204.616 -204.581 -204.546 -204.469 -204.337 -204 
+  Bin 796: -204 -203.774 -203.706 -203.675 -203.646 -203.612 -203.584 -203.546 -203.484 -203.353 -203 
+  Bin 797: -203 -202.76 -202.696 -202.659 -202.622 -202.574 -202.546 -202.509 -202.454 -202.341 -202 
+  Bin 798: -202 -201.773 -201.71 -201.683 -201.661 -201.641 -201.592 -201.55 -201.478 -201.331 -201 
+  Bin 799: -201 -200.799 -200.726 -200.694 -200.676 -200.648 -200.632 -200.601 -200.545 -200.401 -200 
+  Bin 800: -200 -199.723 -199.636 -199.598 -199.579 -199.563 -199.534 -199.511 -199.458 -199.338 -199 
+  Bin 801: -199 -198.735 -198.649 -198.615 -198.595 -198.569 -198.552 -198.525 -198.47 -198.354 -198 
+  Bin 802: -198 -197.716 -197.624 -197.59 -197.572 -197.538 -197.52 -197.486 -197.428 -197.31 -197 
+  Bin 803: -197 -196.744 -196.653 -196.612 -196.586 -196.555 -196.541 -196.513 -196.461 -196.338 -196 
+  Bin 804: -196 -195.729 -195.631 -195.594 -195.574 -195.564 -195.53 -195.502 -195.443 -195.324 -195 
+  Bin 805: -195 -194.746 -194.651 -194.615 -194.594 -194.568 -194.545 -194.52 -194.464 -194.342 -194 
+  Bin 806: -194 -193.727 -193.634 -193.603 -193.585 -193.555 -193.535 -193.502 -193.448 -193.321 -193 
+  Bin 807: -193 -192.74 -192.649 -192.618 -192.599 -192.571 -192.552 -192.517 -192.458 -192.332 -192 
+  Bin 808: -192 -191.752 -191.645 -191.603 -191.582 -191.553 -191.54 -191.516 -191.463 -191.345 -191 
+  Bin 809: -191 -190.732 -190.635 -190.594 -190.573 -190.558 -190.521 -190.49 -190.429 -190.309 -190 
+  Bin 810: -190 -189.742 -189.651 -189.614 -189.597 -189.562 -189.541 -189.497 -189.433 -189.306 -189 
+  Bin 811: -189 -188.745 -188.639 -188.602 -188.581 -188.569 -188.534 -188.506 -188.454 -188.341 -188 
+  Bin 812: -188 -187.726 -187.65 -187.61 -187.575 -187.547 -187.503 -187.461 -187.399 -187.287 -187 
+  Bin 813: -187 -186.745 -186.662 -186.631 -186.606 -186.567 -186.54 -186.499 -186.438 -186.313 -186 
+  Bin 814: -186 -185.734 -185.651 -185.623 -185.608 -185.59 -185.549 -185.514 -185.456 -185.341 -185 
+  Bin 815: -185 -184.758 -184.69 -184.663 -184.646 -184.613 -184.589 -184.553 -184.494 -184.369 -184 
+  Bin 816: -184 -183.715 -183.648 -183.622 -183.598 -183.578 -183.535 -183.488 -183.424 -183.312 -183 
+  Bin 817: -183 -182.713 -182.61 -182.574 -182.554 -182.54 -182.513 -182.483 -182.425 -182.308 -182 
+  Bin 818: -182 -181.747 -181.674 -181.644 -181.622 -181.589 -181.569 -181.532 -181.464 -181.336 -181 
+  Bin 819: -181 -180.744 -180.674 -180.641 -180.626 -180.611 -180.572 -180.537 -180.467 -180.336 -180 
+  Bin 820: -180 -179.725 -179.639 -179.605 -179.587 -179.554 -179.537 -179.505 -179.445 -179.321 -179 
+  Bin 821: -179 -178.721 -178.632 -178.597 -178.575 -178.559 -178.521 -178.49 -178.428 -178.318 -178 
+  Bin 822: -178 -177.73 -177.636 -177.598 -177.577 -177.546 -177.522 -177.486 -177.422 -177.288 -177 
+  Bin 823: -177 -176.753 -176.663 -176.623 -176.602 -176.576 -176.563 -176.537 -176.484 -176.355 -176 
+  Bin 824: -176 -175.753 -175.66 -175.628 -175.61 -175.595 -175.554 -175.513 -175.435 -175.301 -175 
+  Bin 825: -175 -174.768 -174.693 -174.659 -174.634 -174.601 -174.58 -174.545 -174.482 -174.342 -174 
+  Bin 826: -174 -173.741 -173.653 -173.617 -173.597 -173.58 -173.546 -173.506 -173.436 -173.311 -173 
+  Bin 827: -173 -172.718 -172.61 -172.571 -172.548 -172.52 -172.493 -172.457 -172.395 -172.277 -172 
+  Bin 828: -172 -171.734 -171.629 -171.588 -171.563 -171.528 -171.503 -171.468 -171.41 -171.295 -171 
+  Bin 829: -171 -170.737 -170.64 -170.603 -170.582 -170.568 -170.531 -170.495 -170.421 -170.29 -170 
+  Bin 830: -170 -169.751 -169.65 -169.611 -169.589 -169.552 -169.529 -169.494 -169.436 -169.309 -169 
+  Bin 831: -169 -168.73 -168.627 -168.589 -168.566 -168.538 -168.518 -168.486 -168.422 -168.291 -168 
+  Bin 832: -168 -167.723 -167.634 -167.596 -167.577 -167.552 -167.532 -167.503 -167.442 -167.323 -167 
+  Bin 833: -167 -166.741 -166.645 -166.614 -166.591 -166.576 -166.54 -166.502 -166.44 -166.318 -166 
+  Bin 834: -166 -165.772 -165.709 -165.682 -165.659 -165.621 -165.592 -165.54 -165.464 -165.32 -165 
+  Bin 835: -165 -164.774 -164.688 -164.653 -164.63 -164.598 -164.581 -164.556 -164.501 -164.366 -164 
+  Bin 836: -164 -163.775 -163.692 -163.654 -163.637 -163.625 -163.591 -163.555 -163.48 -163.33 -163 
+  Bin 837: -163 -162.789 -162.71 -162.678 -162.659 -162.624 -162.603 -162.564 -162.49 -162.333 -162 
+  Bin 838: -162 -161.773 -161.693 -161.66 -161.641 -161.617 -161.587 -161.551 -161.474 -161.341 -161 
+  Bin 839: -161 -160.775 -160.691 -160.652 -160.623 -160.59 -160.563 -160.519 -160.448 -160.317 -160 
+  Bin 840: -160 -159.733 -159.656 -159.623 -159.599 -159.575 -159.533 -159.488 -159.413 -159.282 -159 
+  Bin 841: -159 -158.78 -158.686 -158.64 -158.612 -158.573 -158.542 -158.497 -158.425 -158.31 -158 
+  Bin 842: -158 -157.782 -157.724 -157.691 -157.667 -157.628 -157.593 -157.541 -157.463 -157.328 -157 
+  Bin 843: -157 -156.811 -156.756 -156.723 -156.695 -156.661 -156.629 -156.58 -156.502 -156.359 -156 
+  Bin 844: -156 -155.793 -155.73 -155.702 -155.681 -155.646 -155.619 -155.574 -155.498 -155.358 -155 
+  Bin 845: -155 -154.739 -154.652 -154.62 -154.6 -154.582 -154.543 -154.508 -154.44 -154.313 -154 
+  Bin 846: -154 -153.76 -153.664 -153.632 -153.61 -153.581 -153.547 -153.509 -153.433 -153.293 -153 
+  Bin 847: -153 -152.813 -152.742 -152.71 -152.685 -152.663 -152.639 -152.596 -152.516 -152.339 -152 
+  Bin 848: -152 -151.788 -151.722 -151.69 -151.668 -151.637 -151.6 -151.55 -151.475 -151.327 -151 
+  Bin 849: -151 -150.738 -150.645 -150.606 -150.586 -150.566 -150.529 -150.487 -150.419 -150.29 -150 
+  Bin 850: -150 -149.755 -149.668 -149.636 -149.616 -149.584 -149.558 -149.519 -149.451 -149.314 -149 
+  Bin 851: -149 -148.741 -148.658 -148.629 -148.607 -148.585 -148.544 -148.505 -148.432 -148.291 -148 
+  Bin 852: -148 -147.75 -147.659 -147.626 -147.606 -147.57 -147.546 -147.51 -147.443 -147.307 -147 
+  Bin 853: -147 -146.751 -146.665 -146.627 -146.604 -146.568 -146.541 -146.505 -146.435 -146.295 -146 
+  Bin 854: -146 -145.724 -145.634 -145.603 -145.582 -145.55 -145.523 -145.481 -145.417 -145.284 -145 
+  Bin 855: -145 -144.747 -144.652 -144.616 -144.598 -144.582 -144.542 -144.501 -144.424 -144.283 -144 
+  Bin 856: -144 -143.752 -143.657 -143.619 -143.596 -143.563 -143.539 -143.49 -143.416 -143.272 -143 
+  Bin 857: -143 -142.758 -142.654 -142.619 -142.599 -142.583 -142.544 -142.507 -142.436 -142.299 -142 
+  Bin 858: -142 -141.75 -141.655 -141.615 -141.594 -141.573 -141.531 -141.486 -141.416 -141.274 -141 
+  Bin 859: -141 -140.775 -140.684 -140.647 -140.625 -140.591 -140.566 -140.527 -140.453 -140.303 -140 
+  Bin 860: -140 -139.751 -139.658 -139.625 -139.602 -139.565 -139.536 -139.494 -139.42 -139.282 -139 
+  Bin 861: -139 -138.77 -138.668 -138.623 -138.598 -138.58 -138.544 -138.508 -138.434 -138.29 -138 
+  Bin 862: -138 -137.749 -137.665 -137.619 -137.587 -137.547 -137.526 -137.495 -137.442 -137.321 -137 
+  Bin 863: -137 -136.701 -136.566 -136.514 -136.485 -136.467 -136.445 -136.413 -136.361 -136.258 -136 
+  Bin 864: -136 -135.731 -135.636 -135.598 -135.567 -135.529 -135.508 -135.473 -135.412 -135.296 -135 
+  Bin 865: -135 -134.745 -134.66 -134.628 -134.608 -134.593 -134.557 -134.521 -134.458 -134.333 -134 
+  Bin 866: -134 -133.758 -133.675 -133.64 -133.621 -133.589 -133.569 -133.536 -133.471 -133.34 -133 
+  Bin 867: -133 -132.755 -132.686 -132.657 -132.635 -132.601 -132.581 -132.54 -132.471 -132.341 -132 
+  Bin 868: -132 -131.745 -131.646 -131.599 -131.568 -131.55 -131.518 -131.494 -131.447 -131.33 -131 
+  Bin 869: -131 -130.743 -130.665 -130.631 -130.609 -130.575 -130.552 -130.512 -130.442 -130.317 -130 
+  Bin 870: -130 -129.758 -129.675 -129.641 -129.619 -129.587 -129.569 -129.535 -129.466 -129.331 -129 
+  Bin 871: -129 -128.733 -128.64 -128.598 -128.575 -128.559 -128.521 -128.488 -128.434 -128.313 -128 
+  Bin 872: -128 -127.752 -127.649 -127.606 -127.583 -127.552 -127.528 -127.493 -127.429 -127.299 -127 
+  Bin 873: -127 -126.751 -126.657 -126.622 -126.602 -126.585 -126.547 -126.508 -126.434 -126.297 -126 
+  Bin 874: -126 -125.752 -125.652 -125.608 -125.587 -125.557 -125.538 -125.507 -125.452 -125.339 -125 
+  Bin 875: -125 -124.717 -124.621 -124.588 -124.568 -124.552 -124.514 -124.477 -124.414 -124.29 -124 
+  Bin 876: -124 -123.785 -123.721 -123.688 -123.661 -123.626 -123.598 -123.551 -123.474 -123.333 -123 
+  Bin 877: -123 -122.759 -122.687 -122.653 -122.629 -122.595 -122.566 -122.518 -122.444 -122.311 -122 
+  Bin 878: -122 -121.738 -121.653 -121.619 -121.597 -121.577 -121.536 -121.49 -121.42 -121.294 -121 
+  Bin 879: -121 -120.772 -120.702 -120.668 -120.641 -120.607 -120.576 -120.531 -120.457 -120.319 -120 
+  Bin 880: -120 -119.742 -119.674 -119.642 -119.62 -119.597 -119.554 -119.514 -119.451 -119.321 -119 
+  Bin 881: -119 -118.72 -118.638 -118.604 -118.577 -118.554 -118.517 -118.478 -118.414 -118.292 -118 
+  Bin 882: -118 -117.749 -117.672 -117.642 -117.622 -117.587 -117.561 -117.52 -117.453 -117.331 -117 
+  Bin 883: -117 -116.73 -116.661 -116.629 -116.596 -116.573 -116.531 -116.487 -116.419 -116.301 -116 
+  Bin 884: -116 -115.735 -115.66 -115.619 -115.591 -115.55 -115.521 -115.479 -115.411 -115.292 -115 
+  Bin 885: -115 -114.741 -114.649 -114.615 -114.589 -114.55 -114.522 -114.476 -114.414 -114.294 -114 
+  Bin 886: -114 -113.747 -113.672 -113.637 -113.608 -113.571 -113.534 -113.492 -113.424 -113.3 -113 
+  Bin 887: -113 -112.744 -112.674 -112.636 -112.604 -112.576 -112.53 -112.486 -112.417 -112.291 -112 
+  Bin 888: -112 -111.732 -111.648 -111.606 -111.574 -111.537 -111.508 -111.464 -111.399 -111.285 -111 
+  Bin 889: -111 -110.718 -110.627 -110.592 -110.568 -110.545 -110.501 -110.46 -110.399 -110.288 -110 
+  Bin 890: -110 -109.742 -109.669 -109.63 -109.598 -109.56 -109.528 -109.482 -109.415 -109.297 -109 
+  Bin 891: -109 -108.751 -108.679 -108.637 -108.603 -108.563 -108.528 -108.481 -108.414 -108.303 -108 
+  Bin 892: -108 -107.742 -107.663 -107.624 -107.591 -107.556 -107.519 -107.473 -107.404 -107.282 -107 
+  Bin 893: -107 -106.743 -106.657 -106.619 -106.593 -106.56 -106.532 -106.491 -106.418 -106.288 -106 
+  Bin 894: -106 -105.759 -105.689 -105.651 -105.626 -105.587 -105.559 -105.518 -105.447 -105.322 -105 
+  Bin 895: -105 -104.743 -104.667 -104.638 -104.615 -104.583 -104.559 -104.525 -104.465 -104.348 -104 
+  Bin 896: -104 -103.707 -103.63 -103.59 -103.557 -103.529 -103.489 -103.447 -103.382 -103.27 -103 
+  Bin 897: -103 -102.725 -102.653 -102.619 -102.592 -102.561 -102.532 -102.495 -102.432 -102.318 -102 
+  Bin 898: -102 -101.708 -101.63 -101.592 -101.562 -101.539 -101.503 -101.462 -101.402 -101.293 -101 
+  Bin 899: -101 -100.728 -100.654 -100.617 -100.591 -100.557 -100.53 -100.488 -100.425 -100.307 -100 
+  Bin 900: -100 -99.7298 -99.6545 -99.62 -99.5957 -99.5624 -99.5357 -99.4954 -99.4328 -99.3156 -99 
+  Bin 901: -99 -98.7037 -98.6301 -98.593 -98.5706 -98.5477 -98.5115 -98.4703 -98.4105 -98.2983 -98 
+  Bin 902: -98 -97.7494 -97.6855 -97.6519 -97.6205 -97.5827 -97.5531 -97.5113 -97.4465 -97.3262 -97 
+  Bin 903: -97 -96.7276 -96.6496 -96.6048 -96.5681 -96.5393 -96.4954 -96.4483 -96.3815 -96.2724 -96 
+  Bin 904: -96 -95.7241 -95.6347 -95.5934 -95.5643 -95.5295 -95.5051 -95.4654 -95.4014 -95.2906 -95 
+  Bin 905: -95 -94.7221 -94.6509 -94.6134 -94.5815 -94.5567 -94.5148 -94.4727 -94.4135 -94.3091 -94 
+  Bin 906: -94 -93.7188 -93.6388 -93.5968 -93.5673 -93.5289 -93.4961 -93.458 -93.4004 -93.2961 -93 
+  Bin 907: -93 -92.7477 -92.6573 -92.6157 -92.5898 -92.5554 -92.5256 -92.4832 -92.4136 -92.2848 -92 
+  Bin 908: -92 -91.7477 -91.6528 -91.612 -91.5862 -91.5564 -91.5295 -91.4848 -91.4145 -91.2841 -91 
+  Bin 909: -91 -90.7307 -90.6512 -90.6171 -90.5929 -90.5525 -90.5256 -90.4865 -90.4265 -90.3053 -90 
+  Bin 910: -90 -89.7399 -89.647 -89.6108 -89.5899 -89.5728 -89.5405 -89.5066 -89.4358 -89.3025 -89 
+  Bin 911: -89 -88.7792 -88.7113 -88.6832 -88.6596 -88.6345 -88.6089 -88.5667 -88.4963 -88.3393 -88 
+  Bin 912: -88 -87.7441 -87.675 -87.6397 -87.6162 -87.5941 -87.5496 -87.5066 -87.4363 -87.3155 -87 
+  Bin 913: -87 -86.7139 -86.619 -86.5771 -86.5474 -86.5139 -86.4889 -86.4519 -86.3955 -86.2873 -86 
+  Bin 914: -86 -85.6958 -85.6106 -85.5748 -85.5453 -85.5207 -85.4824 -85.4411 -85.3782 -85.2716 -85 
+  Bin 915: -85 -84.7136 -84.6229 -84.5811 -84.5589 -84.5385 -84.5028 -84.4676 -84.4087 -84.2904 -84 
+  Bin 916: -84 -83.6908 -83.582 -83.5366 -83.5118 -83.4782 -83.4579 -83.4306 -83.3756 -83.2564 -83 
+  Bin 917: -83 -82.7464 -82.6271 -82.5664 -82.5407 -82.5133 -82.4938 -82.4664 -82.4055 -82.2814 -82 
+  Bin 918: -82 -81.7571 -81.6383 -81.585 -81.5558 -81.5324 -81.4994 -81.4636 -81.3935 -81.2543 -81 
+  Bin 919: -81 -80.8036 -80.7206 -80.6566 -80.6028 -80.5542 -80.5051 -80.4433 -80.363 -80.2519 -80 
+  Bin 920: -80 -79.8307 -79.775 -79.7367 -79.7051 -79.662 -79.6252 -79.5715 -79.4918 -79.3491 -79 
+  Bin 921: -79 -78.7929 -78.7344 -78.6999 -78.6691 -78.6311 -78.5899 -78.5426 -78.4653 -78.3241 -78 
+  Bin 922: -78 -77.7354 -77.6532 -77.6196 -77.5934 -77.5619 -77.5384 -77.4952 -77.4249 -77.301 -77 
+  Bin 923: -77 -76.7022 -76.6128 -76.5769 -76.5498 -76.5224 -76.4829 -76.4455 -76.3791 -76.26 -76 
+  Bin 924: -76 -75.7171 -75.5844 -75.5262 -75.4951 -75.4739 -75.4428 -75.4129 -75.3567 -75.251 -75 
+  Bin 925: -75 -74.7921 -74.6611 -74.593 -74.5557 -74.5329 -74.503 -74.4649 -74.3845 -74.2408 -74 
+  Bin 926: -74 -73.8281 -73.748 -73.6797 -73.625 -73.5803 -73.5177 -73.4508 -73.3693 -73.2526 -73 
+  Bin 927: -73 -72.8495 -72.7983 -72.7629 -72.7274 -72.6874 -72.6436 -72.5796 -72.475 -72.3063 -72 
+  Bin 928: -72 -71.8121 -71.7507 -71.7211 -71.7036 -71.6899 -71.6492 -71.6109 -71.5316 -71.3535 -71 
+  Bin 929: -71 -70.802 -70.7338 -70.7029 -70.6769 -70.6492 -70.6197 -70.5754 -70.4986 -70.3333 -70 
+  Bin 930: -70 -69.7668 -69.6835 -69.6472 -69.6253 -69.6078 -69.5742 -69.5399 -69.4729 -69.3292 -69 
+  Bin 931: -69 -68.776 -68.6775 -68.6341 -68.6136 -68.5851 -68.5673 -68.5377 -68.472 -68.3343 -68 
+  Bin 932: -68 -67.7831 -67.694 -67.6561 -67.6312 -67.612 -67.5767 -67.5363 -67.4638 -67.3173 -67 
+  Bin 933: -67 -66.7878 -66.6934 -66.6496 -66.6238 -66.595 -66.5737 -66.5379 -66.4681 -66.3086 -66 
+  Bin 934: -66 -65.7981 -65.7126 -65.67 -65.6469 -65.6193 -65.5974 -65.5606 -65.4838 -65.3117 -65 
+  Bin 935: -65 -64.8031 -64.718 -64.6784 -64.6547 -64.6273 -64.6049 -64.5693 -64.4996 -64.3314 -64 
+  Bin 936: -64 -63.789 -63.6984 -63.6608 -63.6345 -63.6016 -63.5818 -63.5508 -63.4863 -63.3424 -63 
+  Bin 937: -63 -62.7476 -62.662 -62.6228 -62.5982 -62.5639 -62.5394 -62.5015 -62.4371 -62.3135 -62 
+  Bin 938: -62 -61.7536 -61.6698 -61.6308 -61.5988 -61.5696 -61.5275 -61.4795 -61.4058 -61.2744 -61 
+  Bin 939: -61 -60.7643 -60.6936 -60.649 -60.6127 -60.5754 -60.5396 -60.4899 -60.42 -60.2909 -60 
+  Bin 940: -60 -59.7474 -59.663 -59.6236 -59.5919 -59.5616 -59.5183 -59.4757 -59.4103 -59.2922 -59 
+  Bin 941: -59 -58.7524 -58.6604 -58.6279 -58.6012 -58.5579 -58.5268 -58.4818 -58.4093 -58.2676 -58 
+  Bin 942: -58 -57.7584 -57.6482 -57.6107 -57.5912 -57.5559 -57.5281 -57.4842 -57.4116 -57.2795 -57 
+  Bin 943: -57 -56.7689 -56.6349 -56.5559 -56.521 -56.5033 -56.4716 -56.4308 -56.3546 -56.2282 -56 
+  Bin 944: -56 -55.7925 -55.6977 -55.6495 -55.6266 -55.6006 -55.5804 -55.5439 -55.4714 -55.3172 -55 
+  Bin 945: -55 -54.7837 -54.6905 -54.6422 -54.6097 -54.5935 -54.5648 -54.5358 -54.473 -54.336 -54 
+  Bin 946: -54 -53.794 -53.6884 -53.6339 -53.599 -53.5646 -53.544 -53.5221 -53.474 -53.3494 -53 
+  Bin 947: -53 -52.774 -52.6722 -52.6198 -52.5865 -52.5525 -52.5357 -52.5124 -52.4636 -52.3369 -52 
+  Bin 948: -52 -51.7874 -51.6808 -51.6228 -51.5867 -51.5617 -51.5276 -51.5037 -51.4638 -51.3298 -51 
+  Bin 949: -51 -50.799 -50.6999 -50.6446 -50.6107 -50.5746 -50.5562 -50.5337 -50.4817 -50.3428 -50 
+  Bin 950: -50 -49.7936 -49.6971 -49.6415 -49.6097 -49.5888 -49.5552 -49.5336 -49.4813 -49.3331 -49 
+  Bin 951: -49 -48.7918 -48.6906 -48.636 -48.6049 -48.5749 -48.5608 -48.5379 -48.4811 -48.3481 -48 
+  Bin 952: -48 -47.7677 -47.661 -47.6127 -47.5876 -47.5553 -47.5335 -47.4966 -47.4255 -47.2888 -47 
+  Bin 953: -47 -46.7805 -46.6814 -46.6299 -46.6007 -46.5698 -46.5469 -46.5096 -46.4388 -46.3007 -46 
+  Bin 954: -46 -45.7871 -45.682 -45.6225 -45.5895 -45.5524 -45.5283 -45.4968 -45.4371 -45.3106 -45 
+  Bin 955: -45 -44.793 -44.6789 -44.6178 -44.5853 -44.5502 -44.5305 -44.4994 -44.4406 -44.3079 -44 
+  Bin 956: -44 -43.7721 -43.6743 -43.6229 -43.5961 -43.5655 -43.5477 -43.5174 -43.4507 -43.3057 -43 
+  Bin 957: -43 -42.7964 -42.7005 -42.6433 -42.6097 -42.5752 -42.5536 -42.527 -42.4794 -42.347 -42 
+  Bin 958: -42 -41.7835 -41.676 -41.6208 -41.5882 -41.5643 -41.5401 -41.5102 -41.4477 -41.3093 -41 
+  Bin 959: -41 -40.8041 -40.7163 -40.6668 -40.6389 -40.6056 -40.5881 -40.5604 -40.503 -40.3464 -40 
+  Bin 960: -40 -39.7942 -39.7109 -39.6644 -39.6386 -39.6071 -39.5871 -39.5609 -39.5201 -39.3928 -39 
+  Bin 961: -39 -38.7632 -38.6631 -38.6088 -38.5788 -38.5478 -38.5282 -38.5056 -38.4628 -38.3465 -38 
+  Bin 962: -38 -37.7871 -37.689 -37.6356 -37.5983 -37.5636 -37.5397 -37.5124 -37.4705 -37.3509 -37 
+  Bin 963: -37 -36.7925 -36.6957 -36.6474 -36.6165 -36.5844 -36.5662 -36.541 -36.4911 -36.3587 -36 
+  Bin 964: -36 -35.7626 -35.6701 -35.621 -35.5962 -35.5816 -35.5535 -35.5278 -35.4758 -35.349 -35 
+  Bin 965: -35 -34.7664 -34.6657 -34.6129 -34.5848 -34.5561 -34.5405 -34.519 -34.4645 -34.3395 -34 
+  Bin 966: -34 -33.7645 -33.6645 -33.6164 -33.5874 -33.5714 -33.5429 -33.5226 -33.4741 -33.3499 -33 
+  Bin 967: -33 -32.7611 -32.668 -32.6275 -32.6074 -32.5783 -32.5588 -32.5239 -32.4619 -32.327 -32 
+  Bin 968: -32 -31.7889 -31.698 -31.6504 -31.6226 -31.6054 -31.5756 -31.5482 -31.4913 -31.3439 -31 
+  Bin 969: -31 -30.776 -30.6807 -30.6355 -30.6078 -30.5763 -30.5566 -30.5298 -30.477 -30.3493 -30 
+  Bin 970: -30 -29.786 -29.6882 -29.6392 -29.6112 -29.5956 -29.5665 -29.5428 -29.4896 -29.3663 -29 
+  Bin 971: -29 -28.7823 -28.6902 -28.6384 -28.6088 -28.5773 -28.5591 -28.5381 -28.4835 -28.3501 -28 
+  Bin 972: -28 -27.7731 -27.6844 -27.6398 -27.62 -27.5917 -27.5728 -27.5398 -27.4786 -27.3398 -27 
+  Bin 973: -27 -26.7775 -26.6757 -26.6235 -26.5933 -26.5754 -26.5432 -26.5169 -26.4657 -26.3417 -26 
+  Bin 974: -26 -25.7789 -25.676 -25.6277 -25.5985 -25.5655 -25.5455 -25.517 -25.4646 -25.3266 -25 
+  Bin 975: -25 -24.8072 -24.7255 -24.6809 -24.653 -24.6206 -24.5988 -24.5721 -24.5221 -24.3587 -24 
+  Bin 976: -24 -23.8081 -23.73 -23.6938 -23.6675 -23.6371 -23.6159 -23.5848 -23.5216 -23.3703 -23 
+  Bin 977: -23 -22.7607 -22.6638 -22.6176 -22.5877 -22.5606 -22.545 -22.5169 -22.4616 -22.3237 -22 
+  Bin 978: -22 -21.7717 -21.6683 -21.6161 -21.585 -21.5671 -21.5369 -21.5122 -21.4636 -21.3378 -21 
+  Bin 979: -21 -20.7753 -20.6759 -20.6254 -20.5993 -20.5709 -20.554 -20.5252 -20.4634 -20.317 -20 
+  Bin 980: -20 -19.7744 -19.6797 -19.6288 -19.6033 -19.5735 -19.5579 -19.5322 -19.4794 -19.3514 -19 
+  Bin 981: -19 -18.7753 -18.6794 -18.631 -18.608 -18.5916 -18.5607 -18.5316 -18.4687 -18.3273 -18 
+  Bin 982: -18 -17.7798 -17.6911 -17.6527 -17.6288 -17.6019 -17.5785 -17.5391 -17.4674 -17.3171 -17 
+  Bin 983: -17 -16.7687 -16.6701 -16.6172 -16.5902 -16.5751 -16.5427 -16.5128 -16.4587 -16.3295 -16 
+  Bin 984: -16 -15.7649 -15.652 -15.5966 -15.5651 -15.5463 -15.5178 -15.4899 -15.4288 -15.3049 -15 
+  Bin 985: -15 -14.7699 -14.6574 -14.5991 -14.5662 -14.535 -14.5168 -14.4907 -14.44 -14.3157 -14 
+  Bin 986: -14 -13.7707 -13.6588 -13.6012 -13.5705 -13.5522 -13.5237 -13.4935 -13.4305 -13.2888 -13 
+  Bin 987: -13 -12.7852 -12.6809 -12.6247 -12.5899 -12.5536 -12.5331 -12.5062 -12.4655 -12.3488 -12 
+  Bin 988: -12 -11.75 -11.6496 -11.6038 -11.5782 -11.5486 -11.5286 -11.4964 -11.4343 -11.3063 -11 
+  Bin 989: -11 -10.787 -10.6972 -10.6563 -10.6351 -10.6055 -10.5837 -10.5441 -10.4726 -10.3215 -10 
+  Bin 990: -10 -9.76673 -9.66497 -9.61522 -9.58537 -9.55682 -9.53992 -9.51154 -9.45718 -9.33615 -9 
+  Bin 991: -9 -8.75694 -8.64486 -8.59289 -8.56734 -8.5515 -8.52334 -8.49392 -8.43489 -8.30488 -8 
+  Bin 992: -8 -7.7662 -7.65709 -7.60347 -7.57744 -7.54742 -7.5313 -7.5067 -7.45282 -7.33083 -7 
+  Bin 993: -7 -6.75467 -6.64418 -6.59185 -6.56824 -6.55334 -6.52299 -6.49223 -6.43317 -6.31469 -6 
+  Bin 994: -6 -5.76711 -5.65149 -5.59362 -5.56182 -5.53208 -5.51172 -5.48398 -5.42901 -5.29724 -5 
+  Bin 995: -5 -4.78499 -4.67272 -4.61366 -4.57835 -4.54618 -4.52834 -4.50248 -4.45167 -4.31811 -4 
+  Bin 996: -4 -3.78833 -3.68157 -3.62426 -3.59252 -3.56034 -3.5411 -3.51375 -3.45526 -3.31309 -3 
+  Bin 997: -3 -2.77183 -2.66397 -2.60987 -2.58135 -2.55336 -2.53722 -2.50589 -2.44046 -2.30452 -2 
+  Bin 998: -2 -1.77337 -1.66885 -1.61677 -1.59092 -1.57537 -1.5427 -1.50585 -1.43727 -1.3006 -1 
+  Bin 999: -1 -0.772417 -0.657811 -0.59853 -0.568255 -0.538505 -0.520078 -0.486633 -0.422659 -0.294332 0 
+  Bin 1000: 0 0.230617 0.357855 0.42593 0.460977 0.481626 0.512095 0.542872 0.607847 0.730981 1 
+  Bin 1001: 1 1.22357 1.32846 1.37705 1.39917 1.42946 1.45077 1.49064 1.56325 1.70603 2 
+  Bin 1002: 2 2.22874 2.33505 2.38709 2.41217 2.44329 2.46269 2.49605 2.55564 2.67893 3 
+  Bin 1003: 3 3.24401 3.36344 3.41522 3.44189 3.4621 3.49971 3.54144 3.61184 3.74351 4 
+  Bin 1004: 4 4.19957 4.30122 4.35917 4.39389 4.42602 4.44697 4.47691 4.54411 4.68564 5 
+  Bin 1005: 5 5.23191 5.34121 5.38735 5.40843 5.43628 5.45762 5.49655 5.56281 5.69577 6 
+  Bin 1006: 6 6.26164 6.38508 6.43556 6.46008 6.49252 6.51567 6.55296 6.60943 6.72416 7 
+  Bin 1007: 7 7.24017 7.35015 7.39791 7.42511 7.44451 7.4768 7.51652 7.58188 7.70305 8 
+  Bin 1008: 8 8.24294 8.3494 8.40173 8.42746 8.44564 8.47483 8.50412 8.56099 8.68364 9 
+  Bin 1009: 9 9.23555 9.34017 9.38751 9.41217 9.4417 9.46086 9.48879 9.5491 9.67246 10 
+  Bin 1010: 10 10.2237 10.3208 10.3725 10.4007 10.4242 10.4481 10.4726 10.5274 10.648 11 
+  Bin 1011: 11 11.2263 11.3314 11.3826 11.4059 11.4314 11.4514 11.4844 11.5435 11.6717 12 
+  Bin 1012: 12 12.2503 12.3421 12.3778 12.4029 12.4272 12.4669 12.5084 12.5761 12.7002 13 
+  Bin 1013: 13 13.2348 13.3359 13.3844 13.4084 13.4371 13.4616 13.5042 13.5714 13.6954 14 
+  Bin 1014: 14 14.2316 14.3381 14.3884 14.4151 14.4438 14.4633 14.4949 14.5551 14.6777 15 
+  Bin 1015: 15 15.2454 15.3505 15.3941 15.4176 15.4359 15.4739 15.5169 15.5865 15.71 16 
+  Bin 1016: 16 16.2162 16.3278 16.3846 16.4154 16.445 16.4637 16.4956 16.5604 16.6881 17 
+  Bin 1017: 17 17.2457 17.3511 17.3978 17.4234 17.4545 17.4808 17.5226 17.5932 17.7199 18 
+  Bin 1018: 18 18.221 18.3282 18.3824 18.4081 18.4371 18.4567 18.4894 18.5526 18.6821 19 
+  Bin 1019: 19 19.2391 19.3439 19.3892 19.4125 19.4323 19.4707 19.5084 19.572 19.6968 20 
+  Bin 1020: 20 20.2579 20.3603 20.3993 20.4274 20.4541 20.4977 20.5416 20.6078 20.7294 21 
+  Bin 1021: 21 21.2328 21.3409 21.3928 21.42 21.4506 21.4731 21.509 21.5751 21.6978 22 
+  Bin 1022: 22 22.2142 22.3173 22.3713 22.3986 22.4263 22.4518 22.4941 22.5779 22.7263 23 
+  Bin 1023: 23 23.1817 23.2618 23.3122 23.3483 23.3736 23.3963 23.4278 23.5012 23.6722 24 
+  Bin 1024: 24 24.2317 24.3215 24.3646 24.3911 24.4236 24.4423 24.4751 24.5395 24.6864 25 
+  Bin 1025: 25 25.2242 25.3375 25.3895 25.4156 25.4449 25.4704 25.5132 25.5808 25.715 26 
+  Bin 1026: 26 26.2611 26.3864 26.4468 26.4753 26.4911 26.5165 26.5483 26.6076 26.7191 27 
+  Bin 1027: 27 27.2573 27.3771 27.4187 27.4436 27.4788 27.5082 27.5525 27.6224 27.7495 28 
+  Bin 1028: 28 28.2275 28.3344 28.3846 28.4075 28.4327 28.4546 28.4933 28.5635 28.7014 29 
+  Bin 1029: 29 29.261 29.3735 29.4186 29.4391 29.4586 29.4952 29.5376 29.6034 29.7347 30 
+  Bin 1030: 30 30.2437 30.3539 30.3985 30.4226 30.4557 30.4848 30.5286 30.5997 30.7366 31 
+  Bin 1031: 31 31.2319 31.3372 31.3857 31.4099 31.4383 31.4625 31.5032 31.5701 31.7063 32 
+  Bin 1032: 32 32.2685 32.3899 32.4334 32.4566 32.4781 32.5176 32.5631 32.6357 32.7605 33 
+  Bin 1033: 33 33.2333 33.352 33.411 33.4371 33.4684 33.4917 33.531 33.6028 33.7367 34 
+  Bin 1034: 34 34.2413 34.3488 34.3938 34.4147 34.4443 34.4743 34.5241 34.5998 34.7397 35 
+  Bin 1035: 35 35.2249 35.3381 35.3932 35.4179 35.4451 35.469 35.515 35.594 35.7352 36 
+  Bin 1036: 36 36.2368 36.3477 36.3952 36.4161 36.447 36.4751 36.5196 36.5955 36.7398 37 
+  Bin 1037: 37 37.2417 37.3632 37.4228 37.4515 37.4661 37.4993 37.5413 37.6109 37.7396 38 
+  Bin 1038: 38 38.2335 38.3587 38.4221 38.449 38.4659 38.4998 38.5459 38.6183 38.7521 39 
+  Bin 1039: 39 39.2046 39.2964 39.3431 39.3656 39.3925 39.4135 39.454 39.5323 39.6923 40 
+  Bin 1040: 40 40.2316 40.3232 40.368 40.3894 40.4028 40.4354 40.4725 40.5387 40.6823 41 
+  Bin 1041: 41 41.2577 41.3578 41.4028 41.4231 41.4484 41.4704 41.5058 41.5675 41.6961 42 
+  Bin 1042: 42 42.2781 42.3813 42.4228 42.4431 42.4703 42.4912 42.5268 42.5861 42.7076 43 
+  Bin 1043: 43 43.2715 43.3754 43.418 43.4398 43.4586 43.4909 43.529 43.592 43.7133 44 
+  Bin 1044: 44 44.2594 44.3633 44.4001 44.4237 44.4573 44.4864 44.529 44.5905 44.7101 45 
+  Bin 1045: 45 45.2545 45.3756 45.4308 45.4541 45.4706 45.5016 45.5375 45.5992 45.7246 46 
+  Bin 1046: 46 46.2606 46.3674 46.4093 46.4287 46.458 46.4812 46.5201 46.5839 46.7174 47 
+  Bin 1047: 47 47.2603 47.3595 47.3991 47.4172 47.4462 47.4715 47.5108 47.5776 47.7115 48 
+  Bin 1048: 48 48.2536 48.358 48.4021 48.4201 48.4363 48.4726 48.5145 48.5894 48.7225 49 
+  Bin 1049: 49 49.2626 49.3615 49.3972 49.4215 49.4574 49.4868 49.5288 49.5946 49.7202 50 
+  Bin 1050: 50 50.2698 50.3815 50.4195 50.4418 50.4742 50.5019 50.542 50.607 50.7302 51 
+  Bin 1051: 51 51.265 51.3742 51.4166 51.4368 51.4664 51.4924 51.5312 51.5999 51.7288 52 
+  Bin 1052: 52 52.2483 52.3677 52.4259 52.4523 52.4646 52.4932 52.5304 52.5961 52.7296 53 
+  Bin 1053: 53 53.2487 53.3536 53.406 53.43 53.4528 53.4733 53.5093 53.5758 53.7113 54 
+  Bin 1054: 54 54.2678 54.3968 54.4543 54.4833 54.5003 54.5273 54.5565 54.6098 54.7172 55 
+  Bin 1055: 55 55.2477 55.3804 55.4427 55.4713 55.4873 55.5127 55.5497 55.6095 55.7373 56 
+  Bin 1056: 56 56.2611 56.3726 56.4245 56.4524 56.4783 56.4958 56.5276 56.5843 56.7051 57 
+  Bin 1057: 57 57.2596 57.3762 57.4321 57.4643 57.4808 57.5056 57.5312 57.5856 57.7006 58 
+  Bin 1058: 58 58.2743 58.3817 58.4227 58.4442 58.4775 58.5032 58.5398 58.6051 58.7261 59 
+  Bin 1059: 59 59.2481 59.3507 59.3932 59.4136 59.4397 59.4641 59.5058 59.5746 59.7103 60 
+  Bin 1060: 60 60.2704 60.3732 60.4137 60.4329 60.4578 60.4804 60.5176 60.5818 60.7055 61 
+  Bin 1061: 61 61.2658 61.3888 61.4464 61.4739 61.4911 61.5219 61.5565 61.6129 61.7271 62 
+  Bin 1062: 62 62.2766 62.3973 62.4426 62.4654 62.4908 62.5278 62.5676 62.6327 62.7525 63 
+  Bin 1063: 63 63.237 63.3453 63.3993 63.4223 63.45 63.4744 63.5152 63.5814 63.7086 64 
+  Bin 1064: 64 64.2431 64.3496 64.4009 64.4254 64.4482 64.4677 64.5039 64.5701 64.7066 65 
+  Bin 1065: 65 65.2534 65.3597 65.4113 65.4351 65.4565 65.4818 65.5189 65.5822 65.705 66 
+  Bin 1066: 66 66.2549 66.3736 66.4278 66.4512 66.4688 66.503 66.5412 66.607 66.7329 67 
+  Bin 1067: 67 67.2586 67.3718 67.4175 67.4401 67.4698 67.4948 67.5332 67.5961 67.7174 68 
+  Bin 1068: 68 68.256 68.3688 68.4186 68.4446 68.4602 68.4934 68.5316 68.5978 68.723 69 
+  Bin 1069: 69 69.2178 69.3251 69.3802 69.4077 69.4328 69.451 69.4851 69.5567 69.6969 70 
+  Bin 1070: 70 70.2432 70.3406 70.3781 70.3984 70.4238 70.448 70.49 70.5655 70.7076 71 
+  Bin 1071: 71 71.2357 71.3358 71.3898 71.4174 71.4405 71.458 71.49 71.5501 71.6833 72 
+  Bin 1072: 72 72.2546 72.3479 72.3906 72.4094 72.4327 72.4544 72.4924 72.5545 72.6891 73 
+  Bin 1073: 73 73.2678 73.3719 73.4214 73.4467 73.4726 73.4902 73.5223 73.582 73.7041 74 
+  Bin 1074: 74 74.2625 74.3675 74.4164 74.4388 74.4584 74.4809 74.5145 74.5756 74.6979 75 
+  Bin 1075: 75 75.2599 75.362 75.4073 75.4289 75.4527 75.4733 75.509 75.5676 75.6897 76 
+  Bin 1076: 76 76.2733 76.3732 76.4193 76.4411 76.4554 76.4843 76.5203 76.5863 76.7104 77 
+  Bin 1077: 77 77.2664 77.3618 77.3953 77.4191 77.4512 77.4808 77.5191 77.5867 77.7081 78 
+  Bin 1078: 78 78.267 78.3726 78.4198 78.4402 78.4653 78.4872 78.5211 78.5779 78.6977 79 
+  Bin 1079: 79 79.2993 79.3957 79.4292 79.4552 79.4815 79.5195 79.5586 79.6215 79.7359 80 
+  Bin 1080: 80 80.2741 80.3723 80.4048 80.4249 80.4543 80.481 80.5231 80.5874 80.704 81 
+  Bin 1081: 81 81.2767 81.3664 81.3971 81.4252 81.4613 81.4913 81.5313 81.597 81.7156 82 
+  Bin 1082: 82 82.2816 82.3927 82.4321 82.4529 82.4736 82.5084 82.548 82.6121 82.7326 83 
+  Bin 1083: 83 83.2578 83.3606 83.3991 83.4189 83.448 83.4738 83.5147 83.5836 83.7086 84 
+  Bin 1084: 84 84.2789 84.3854 84.4283 84.4487 84.4773 84.501 84.5405 84.6066 84.7321 85 
+  Bin 1085: 85 85.2641 85.3705 85.4117 85.44 85.4709 85.5027 85.5482 85.6186 85.7464 86 
+  Bin 1086: 86 86.2516 86.3529 86.3948 86.4141 86.4398 86.463 86.5048 86.5737 86.7089 87 
+  Bin 1087: 87 87.2405 87.341 87.3928 87.4189 87.4422 87.4635 87.4977 87.5607 87.6964 88 
+  Bin 1088: 88 88.2707 88.3639 88.4005 88.4196 88.4374 88.4706 88.511 88.5811 88.7094 89 
+  Bin 1089: 89 89.2591 89.3666 89.4232 89.4537 89.4817 89.4973 89.5242 89.5804 89.7062 90 
+  Bin 1090: 90 90.276 90.3817 90.422 90.4426 90.4711 90.4968 90.5325 90.5923 90.7104 91 
+  Bin 1091: 91 91.299 91.4108 91.4536 91.4736 91.4931 91.5271 91.5655 91.6234 91.7395 92 
+  Bin 1092: 92 92.2792 92.4073 92.466 92.4923 92.5184 92.5353 92.565 92.6205 92.7255 93 
+  Bin 1093: 93 93.2254 93.3134 93.3453 93.3613 93.3763 93.4219 93.4868 93.5827 93.7403 94 
+  Bin 1094: 94 94.3487 94.5662 94.7166 94.8231 94.8902 94.9043 94.9195 94.9365 94.9614 95 
+  Bin 1095: 95 95.0159 95.0451 95.1024 95.2425 95.5443 95.8354 95.9307 95.9714 95.989 96 
+  Bin 1096: 96 96.0313 96.0558 96.0737 96.0874 96.1007 96.16 96.2433 96.3505 96.5305 97 
+  Bin 1097: 97 97.2344 97.4022 97.511 97.5635 97.5902 97.6152 97.6464 97.6944 97.7896 98 
+  Bin 1098: 98 98.2643 98.3658 98.4073 98.4285 98.4545 98.4805 98.5213 98.5903 98.7256 99 
+  Bin 1099: 99 99.2374 99.3361 99.3779 99.4012 99.4268 99.4481 99.4883 99.5555 99.6983 100 
+  Bin 1100: 100 100.262 100.365 100.403 100.426 100.453 100.481 100.524 100.589 100.721 101 
+  Bin 1101: 101 101.281 101.389 101.427 101.455 101.481 101.516 101.556 101.623 101.746 102 
+  Bin 1102: 102 102.263 102.359 102.392 102.416 102.449 102.477 102.518 102.589 102.713 103 
+  Bin 1103: 103 103.27 103.36 103.395 103.417 103.449 103.479 103.52 103.589 103.719 104 
+  Bin 1104: 104 104.272 104.37 104.404 104.425 104.444 104.48 104.52 104.588 104.713 105 
+  Bin 1105: 105 105.271 105.374 105.417 105.442 105.469 105.492 105.528 105.592 105.716 106 
+  Bin 1106: 106 106.266 106.359 106.399 106.421 106.449 106.475 106.512 106.578 106.708 107 
+  Bin 1107: 107 107.282 107.393 107.436 107.459 107.482 107.507 107.544 107.605 107.731 108 
+  Bin 1108: 108 108.265 108.37 108.415 108.438 108.456 108.488 108.525 108.589 108.715 109 
+  Bin 1109: 109 109.266 109.365 109.403 109.425 109.455 109.479 109.517 109.58 109.709 110 
+  Bin 1110: 110 110.29 110.381 110.418 110.444 110.47 110.509 110.551 110.619 110.742 111 
+  Bin 1111: 111 111.264 111.384 111.434 111.459 111.476 111.511 111.547 111.614 111.737 112 
+  Bin 1112: 112 112.261 112.36 112.396 112.423 112.456 112.484 112.528 112.596 112.727 113 
+  Bin 1113: 113 113.265 113.36 113.401 113.422 113.44 113.476 113.521 113.593 113.729 114 
+  Bin 1114: 114 114.278 114.387 114.424 114.447 114.478 114.505 114.544 114.61 114.733 115 
+  Bin 1115: 115 115.263 115.366 115.409 115.431 115.448 115.481 115.523 115.592 115.722 116 
+  Bin 1116: 116 116.275 116.386 116.428 116.453 116.481 116.506 116.547 116.616 116.74 117 
+  Bin 1117: 117 117.278 117.391 117.435 117.459 117.48 117.514 117.555 117.622 117.749 118 
+  Bin 1118: 118 118.264 118.378 118.422 118.446 118.477 118.502 118.543 118.608 118.729 119 
+  Bin 1119: 119 119.288 119.402 119.447 119.471 119.499 119.524 119.56 119.621 119.738 120 
+  Bin 1120: 120 120.307 120.416 120.453 120.478 120.5 120.534 120.57 120.626 120.736 121 
+  Bin 1121: 121 121.263 121.36 121.398 121.422 121.45 121.474 121.512 121.575 121.698 122 
+  Bin 1122: 122 122.263 122.349 122.384 122.41 122.444 122.469 122.513 122.575 122.707 123 
+  Bin 1123: 123 123.248 123.357 123.408 123.437 123.463 123.482 123.512 123.567 123.689 124 
+  Bin 1124: 124 124.25 124.35 124.394 124.418 124.435 124.464 124.499 124.566 124.698 125 
+  Bin 1125: 125 125.245 125.344 125.387 125.408 125.435 125.456 125.495 125.563 125.7 126 
+  Bin 1126: 126 126.252 126.351 126.393 126.418 126.446 126.471 126.508 126.571 126.695 127 
+  Bin 1127: 127 127.254 127.354 127.391 127.414 127.435 127.469 127.513 127.583 127.715 128 
+  Bin 1128: 128 128.256 128.357 128.401 128.425 128.453 128.473 128.512 128.576 128.71 129 
+  Bin 1129: 129 129.249 129.346 129.388 129.41 129.429 129.463 129.508 129.583 129.72 130 
+  Bin 1130: 130 130.242 130.343 130.388 130.414 130.439 130.463 130.5 130.574 130.711 131 
+  Bin 1131: 131 131.229 131.333 131.381 131.401 131.424 131.448 131.49 131.561 131.699 132 
+  Bin 1132: 132 132.255 132.364 132.413 132.438 132.456 132.489 132.527 132.593 132.719 133 
+  Bin 1133: 133 133.236 133.347 133.402 133.429 133.445 133.474 133.507 133.575 133.708 134 
+  Bin 1134: 134 134.261 134.374 134.426 134.455 134.481 134.498 134.532 134.591 134.714 135 
+  Bin 1135: 135 135.237 135.338 135.387 135.411 135.428 135.453 135.486 135.553 135.692 136 
+  Bin 1136: 136 136.248 136.348 136.395 136.418 136.443 136.46 136.489 136.544 136.668 137 
+  Bin 1137: 137 137.251 137.35 137.397 137.418 137.44 137.459 137.494 137.556 137.692 138 
+  Bin 1138: 138 138.249 138.344 138.389 138.41 138.435 138.452 138.484 138.54 138.665 139 
+  Bin 1139: 139 139.261 139.361 139.404 139.424 139.439 139.467 139.504 139.564 139.689 140 
+  Bin 1140: 140 140.249 140.352 140.397 140.419 140.442 140.46 140.494 140.558 140.687 141 
+  Bin 1141: 141 141.237 141.335 141.384 141.411 141.437 141.456 141.488 141.549 141.683 142 
+  Bin 1142: 142 142.238 142.345 142.399 142.427 142.453 142.466 142.492 142.544 142.671 143 
+  Bin 1143: 143 143.254 143.357 143.398 143.42 143.439 143.468 143.504 143.569 143.704 144 
+  Bin 1144: 144 144.241 144.354 144.413 144.444 144.469 144.484 144.511 144.569 144.698 145 
+  Bin 1145: 145 145.212 145.313 145.37 145.404 145.426 145.454 145.473 145.52 145.653 146 
+  Bin 1146: 146 146.235 146.343 146.397 146.428 146.455 146.467 146.491 146.549 146.675 147 
+  Bin 1147: 147 147.23 147.333 147.389 147.425 147.447 147.472 147.493 147.544 147.67 148 
+  Bin 1148: 148 148.228 148.342 148.407 148.446 148.477 148.492 148.514 148.567 148.689 149 
+  Bin 1149: 149 149.226 149.335 149.392 149.426 149.451 149.467 149.495 149.562 149.7 150 
+  Bin 1150: 150 150.237 150.34 150.391 150.42 150.444 150.459 150.49 150.555 150.686 151 
+  Bin 1151: 151 151.2 151.297 151.351 151.385 151.414 151.435 151.455 151.508 151.663 152 
+  Bin 1152: 152 152.213 152.295 152.343 152.374 152.394 152.424 152.443 152.488 152.621 153 
+  Bin 1153: 153 153.234 153.331 153.383 153.421 153.454 153.475 153.495 153.532 153.646 154 
+  Bin 1154: 154 154.237 154.342 154.398 154.435 154.459 154.49 154.509 154.546 154.655 155 
+  Bin 1155: 155 155.208 155.314 155.371 155.408 155.443 155.474 155.505 155.536 155.657 156 
+  Bin 1156: 156 156.222 156.323 156.379 156.415 156.449 156.471 156.492 156.53 156.661 157 
+  Bin 1157: 157 157.231 157.34 157.398 157.437 157.471 157.487 157.504 157.552 157.672 158 
+  Bin 1158: 158 158.221 158.334 158.388 158.425 158.454 158.483 158.505 158.541 158.665 159 
+  Bin 1159: 159 159.236 159.346 159.405 159.441 159.477 159.5 159.519 159.554 159.672 160 
+  Bin 1160: 160 160.22 160.33 160.389 160.426 160.451 160.484 160.508 160.543 160.654 161 
+  Bin 1161: 161 161.222 161.331 161.391 161.432 161.463 161.488 161.511 161.546 161.668 162 
+  Bin 1162: 162 162.218 162.321 162.378 162.414 162.448 162.47 162.49 162.533 162.656 163 
+  Bin 1163: 163 163.228 163.338 163.402 163.442 163.481 163.503 163.527 163.556 163.66 164 
+  Bin 1164: 164 164.214 164.323 164.387 164.426 164.453 164.485 164.513 164.544 164.655 165 
+  Bin 1165: 165 165.194 165.296 165.352 165.389 165.423 165.452 165.479 165.512 165.65 166 
+  Bin 1166: 166 166.224 166.338 166.402 166.446 166.48 166.512 166.548 166.582 166.651 167 
+  Bin 1167: 167 167.291 167.421 167.486 167.529 167.556 167.579 167.602 167.626 167.698 168 
+  Bin 1168: 168 168.24 168.346 168.405 168.441 168.465 168.493 168.513 168.541 168.643 169 
+  Bin 1169: 169 169.251 169.345 169.393 169.425 169.457 169.475 169.494 169.523 169.618 170 
+  Bin 1170: 170 170.231 170.323 170.372 170.405 170.435 170.455 170.475 170.509 170.617 171 
+  Bin 1171: 171 171.227 171.318 171.365 171.399 171.43 171.452 171.476 171.503 171.598 172 
+  Bin 1172: 172 172.242 172.346 172.398 172.43 172.458 172.485 172.507 172.534 172.62 173 
+  Bin 1173: 173 173.238 173.341 173.395 173.428 173.459 173.479 173.499 173.528 173.629 174 
+  Bin 1174: 174 174.231 174.328 174.38 174.412 174.443 174.46 174.479 174.517 174.629 175 
+  Bin 1175: 175 175.229 175.316 175.364 175.393 175.42 175.435 175.451 175.495 175.62 176 
+  Bin 1176: 176 176.24 176.331 176.381 176.415 176.446 176.465 176.485 176.511 176.604 177 
+  Bin 1177: 177 177.241 177.342 177.394 177.427 177.45 177.48 177.499 177.532 177.637 178 
+  Bin 1178: 178 178.237 178.34 178.397 178.432 178.463 178.481 178.499 178.532 178.633 179 
+  Bin 1179: 179 179.241 179.34 179.39 179.421 179.444 179.471 179.49 179.52 179.624 180 
+  Bin 1180: 180 180.233 180.33 180.381 180.414 180.448 180.469 180.49 180.519 180.619 181 
+  Bin 1181: 181 181.215 181.304 181.357 181.391 181.421 181.446 181.471 181.499 181.605 182 
+  Bin 1182: 182 182.228 182.318 182.37 182.4 182.426 182.441 182.462 182.511 182.645 183 
+  Bin 1183: 183 183.206 183.296 183.344 183.379 183.408 183.428 183.445 183.484 183.622 184 
+  Bin 1184: 184 184.224 184.313 184.36 184.393 184.417 184.451 184.476 184.506 184.614 185 
+  Bin 1185: 185 185.24 185.343 185.404 185.444 185.475 185.497 185.523 185.548 185.638 186 
+  Bin 1186: 186 186.234 186.346 186.403 186.442 186.469 186.501 186.524 186.555 186.657 187 
+  Bin 1187: 187 187.226 187.33 187.384 187.422 187.457 187.485 187.514 187.542 187.646 188 
+  Bin 1188: 188 188.223 188.327 188.389 188.431 188.466 188.493 188.522 188.548 188.646 189 
+  Bin 1189: 189 189.229 189.344 189.4 189.441 189.466 189.499 189.525 189.554 189.654 190 
+  Bin 1190: 190 190.214 190.32 190.378 190.415 190.451 190.477 190.503 190.531 190.639 191 
+  Bin 1191: 191 191.218 191.327 191.387 191.429 191.467 191.497 191.53 191.562 191.649 192 
+  Bin 1192: 192 192.212 192.329 192.397 192.439 192.475 192.508 192.546 192.592 192.663 193 
+  Bin 1193: 193 193.189 193.3 193.374 193.421 193.463 193.495 193.541 193.598 193.685 194 
+  Bin 1194: 194 194.188 194.288 194.354 194.401 194.437 194.482 194.529 194.595 194.684 195 
+  Bin 1195: 195 195.174 195.268 195.332 195.376 195.412 195.45 195.498 195.563 195.658 196 
+  Bin 1196: 196 196.166 196.263 196.32 196.361 196.402 196.432 196.475 196.527 196.618 197 
+  Bin 1197: 197 197.238 197.324 197.378 197.419 197.448 197.486 197.525 197.57 197.637 198 
+  Bin 1198: 198 198.213 198.319 198.376 198.421 198.461 198.495 198.533 198.576 198.669 199 
+  Bin 1199: 199 199.167 199.258 199.313 199.349 199.38 199.409 199.445 199.497 199.587 200 
+  Bin 1200: 200 200.246 200.358 200.418 200.455 200.48 200.503 200.523 200.559 200.656 201 
+  Bin 1201: 201 201.243 201.345 201.403 201.441 201.468 201.5 201.526 201.554 201.67 202 
+  Bin 1202: 202 202.184 202.273 202.33 202.365 202.395 202.422 202.463 202.508 202.598 203 
+  Bin 1203: 203 203.199 203.298 203.352 203.391 203.419 203.458 203.504 203.558 203.625 204 
+  Bin 1204: 204 204.239 204.352 204.415 204.456 204.487 204.519 204.553 204.595 204.664 205 
+  Bin 1205: 205 205.217 205.316 205.371 205.406 205.438 205.464 205.496 205.539 205.62 206 
+  Bin 1206: 206 206.212 206.316 206.374 206.416 206.445 206.482 206.52 206.566 206.637 207 
+  Bin 1207: 207 207.199 207.292 207.342 207.38 207.413 207.445 207.487 207.537 207.619 208 
+  Bin 1208: 208 208.217 208.324 208.386 208.43 208.467 208.497 208.532 208.578 208.641 209 
+  Bin 1209: 209 209.242 209.354 209.418 209.455 209.483 209.514 209.547 209.582 209.67 210 
+  Bin 1210: 210 210.185 210.282 210.339 210.378 210.412 210.438 210.476 210.519 210.595 211 
+  Bin 1211: 211 211.232 211.332 211.392 211.432 211.463 211.493 211.524 211.557 211.629 212 
+  Bin 1212: 212 212.219 212.321 212.38 212.418 212.455 212.483 212.514 212.542 212.634 213 
+  Bin 1213: 213 213.214 213.317 213.375 213.412 213.447 213.475 213.502 213.528 213.623 214 
+  Bin 1214: 214 214.207 214.313 214.372 214.409 214.439 214.477 214.511 214.548 214.644 215 
+  Bin 1215: 215 215.191 215.288 215.347 215.384 215.418 215.449 215.489 215.533 215.608 216 
+  Bin 1216: 216 216.234 216.337 216.394 216.429 216.456 216.489 216.519 216.554 216.617 217 
+  Bin 1217: 217 217.21 217.301 217.36 217.399 217.432 217.466 217.503 217.55 217.617 218 
+  Bin 1218: 218 218.187 218.286 218.343 218.383 218.418 218.448 218.485 218.523 218.599 219 
+  Bin 1219: 219 219.187 219.283 219.34 219.38 219.411 219.441 219.479 219.522 219.601 220 
+  Bin 1220: 220 220.178 220.273 220.333 220.372 220.404 220.437 220.473 220.519 220.601 221 
+  Bin 1221: 221 221.197 221.305 221.363 221.403 221.439 221.465 221.493 221.528 221.623 222 
+  Bin 1222: 222 222.203 222.299 222.353 222.391 222.418 222.45 222.481 222.517 222.616 223 
+  Bin 1223: 223 223.181 223.283 223.34 223.38 223.413 223.443 223.476 223.511 223.593 224 
+  Bin 1224: 224 224.204 224.305 224.366 224.401 224.431 224.463 224.49 224.522 224.615 225 
+  Bin 1225: 225 225.181 225.277 225.337 225.377 225.41 225.44 225.477 225.516 225.595 226 
+  Bin 1226: 226 226.195 226.293 226.348 226.387 226.426 226.455 226.488 226.525 226.612 227 
+  Bin 1227: 227 227.191 227.298 227.364 227.402 227.438 227.466 227.496 227.533 227.621 228 
+  Bin 1228: 228 228.158 228.245 228.3 228.336 228.371 228.407 228.447 228.501 228.582 229 
+  Bin 1229: 229 229.163 229.257 229.311 229.35 229.386 229.414 229.453 229.501 229.574 230 
+  Bin 1230: 230 230.194 230.298 230.36 230.402 230.435 230.469 230.503 230.546 230.614 231 
+  Bin 1231: 231 231.177 231.271 231.332 231.373 231.41 231.438 231.471 231.514 231.593 232 
+  Bin 1232: 232 232.18 232.285 232.344 232.383 232.416 232.45 232.493 232.547 232.61 233 
+  Bin 1233: 233 233.216 233.322 233.383 233.424 233.451 233.476 233.495 233.526 233.636 234 
+  Bin 1234: 234 234.201 234.304 234.359 234.395 234.426 234.447 234.463 234.496 234.607 235 
+  Bin 1235: 235 235.209 235.313 235.371 235.41 235.432 235.464 235.487 235.519 235.629 236 
+  Bin 1236: 236 236.201 236.302 236.36 236.406 236.44 236.462 236.488 236.515 236.616 237 
+  Bin 1237: 237 237.196 237.293 237.35 237.389 237.415 237.445 237.478 237.51 237.605 238 
+  Bin 1238: 238 238.191 238.284 238.345 238.385 238.421 238.452 238.485 238.52 238.616 239 
+  Bin 1239: 239 239.204 239.31 239.374 239.412 239.447 239.467 239.488 239.522 239.639 240 
+  Bin 1240: 240 240.204 240.306 240.365 240.403 240.434 240.455 240.477 240.517 240.649 241 
+  Bin 1241: 241 241.201 241.307 241.365 241.403 241.436 241.459 241.483 241.518 241.629 242 
+  Bin 1242: 242 242.219 242.341 242.41 242.452 242.479 242.506 242.525 242.556 242.65 243 
+  Bin 1243: 243 243.234 243.358 243.43 243.478 243.509 243.535 243.551 243.58 243.663 244 
+  Bin 1244: 244 244.244 244.367 244.439 244.481 244.506 244.531 244.553 244.587 244.68 245 
+  Bin 1245: 245 245.222 245.344 245.409 245.452 245.486 245.504 245.525 245.564 245.678 246 
+  Bin 1246: 246 246.196 246.3 246.356 246.391 246.418 246.439 246.462 246.509 246.65 247 
+  Bin 1247: 247 247.188 247.276 247.33 247.364 247.391 247.415 247.441 247.484 247.634 248 
+  Bin 1248: 248 248.2 248.286 248.336 248.369 248.399 248.421 248.442 248.482 248.601 249 
+  Bin 1249: 249 249.24 249.337 249.387 249.418 249.447 249.462 249.484 249.524 249.636 250 
+  Bin 1250: 250 250.257 250.371 250.436 250.472 250.495 250.52 250.538 250.568 250.658 251 
+  Bin 1251: 251 251.287 251.421 251.492 251.535 251.566 251.585 251.603 251.632 251.696 252 
+  Bin 1252: 252 252.248 252.348 252.408 252.442 252.469 252.504 252.542 252.576 252.661 253 
+  Bin 1253: 253 253.503 253.728 253.859 253.948 253.991 253.993 253.996 253.997 253.997 254 
+  Bin 1254: 254 -nan -nan -nan -nan -nan -nan -nan -nan -nan 255 
+  Bin 1255: 255 -nan -nan -nan -nan -nan -nan -nan -nan -nan 256 
+  Bin 1256: 256 256 256 256.191 256.258 256.266 256.318 256.381 256.444 256.533 257 
+  Bin 1257: 257 257.217 257.324 257.383 257.424 257.451 257.466 257.491 257.545 257.709 258 
+  Bin 1258: 258 258.147 258.217 258.259 258.29 258.319 258.35 258.387 258.428 258.536 259 
+  Bin 1259: 259 259.197 259.298 259.357 259.392 259.42 259.452 259.482 259.516 259.617 260 
+  Bin 1260: 260 260.194 260.304 260.364 260.406 260.442 260.468 260.498 260.529 260.592 261 
+  Bin 1261: 261 261.241 261.348 261.401 261.435 261.459 261.486 261.511 261.542 261.634 262 
+  Bin 1262: 262 262.191 262.288 262.348 262.384 262.416 262.438 262.466 262.5 262.606 263 
+  Bin 1263: 263 263.198 263.296 263.354 263.389 263.413 263.445 263.472 263.507 263.606 264 
+  Bin 1264: 264 264.197 264.296 264.351 264.389 264.426 264.456 264.491 264.526 264.598 265 
+  Bin 1265: 265 265.221 265.326 265.381 265.415 265.442 265.47 265.499 265.522 265.61 266 
+  Bin 1266: 266 266.221 266.32 266.368 266.396 266.423 266.44 266.463 266.506 266.62 267 
+  Bin 1267: 267 267.208 267.308 267.365 267.402 267.436 267.459 267.482 267.514 267.613 268 
+  Bin 1268: 268 268.224 268.336 268.396 268.436 268.468 268.492 268.513 268.539 268.626 269 
+  Bin 1269: 269 269.221 269.322 269.383 269.417 269.445 269.474 269.5 269.532 269.629 270 
+  Bin 1270: 270 270.21 270.311 270.366 270.404 270.436 270.461 270.483 270.516 270.609 271 
+  Bin 1271: 271 271.215 271.31 271.361 271.4 271.43 271.459 271.49 271.522 271.602 272 
+  Bin 1272: 272 272.225 272.343 272.411 272.456 272.484 272.513 272.541 272.569 272.64 273 
+  Bin 1273: 273 273.207 273.305 273.356 273.39 273.41 273.437 273.468 273.537 273.686 274 
+  Bin 1274: 274 274.544 274.751 274.866 274.933 274.966 274.969 274.972 274.981 274.988 275 
+  Bin 1275: 275 275.003 275.015 275.049 275.17 275.464 275.837 275.963 275.988 275.996 276 
+  Bin 1276: 276 276.008 276.015 276.017 276.021 276.024 276.046 276.103 276.213 276.403 277 
+  Bin 1277: 277 277.251 277.363 277.446 277.501 277.545 277.573 277.601 277.63 277.696 278 
+  Bin 1278: 278 278.204 278.309 278.362 278.404 278.437 278.46 278.485 278.524 278.636 279 
+  Bin 1279: 279 279.201 279.296 279.349 279.388 279.421 279.448 279.474 279.507 279.6 280 
+  Bin 1280: 280 280.204 280.308 280.364 280.401 280.426 280.452 280.478 280.511 280.612 281 
+  Bin 1281: 281 281.198 281.307 281.36 281.395 281.427 281.457 281.482 281.518 281.601 282 
+  Bin 1282: 282 282.209 282.309 282.362 282.398 282.426 282.448 282.476 282.515 282.617 283 
+  Bin 1283: 283 283.235 283.344 283.401 283.442 283.471 283.502 283.529 283.558 283.645 284 
+  Bin 1284: 284 284.225 284.331 284.392 284.432 284.461 284.483 284.509 284.545 284.64 285 
+  Bin 1285: 285 285.209 285.308 285.367 285.405 285.432 285.463 285.488 285.523 285.618 286 
+  Bin 1286: 286 286.2 286.299 286.359 286.395 286.432 286.459 286.49 286.529 286.639 287 
+  Bin 1287: 287 287.196 287.291 287.345 287.38 287.41 287.439 287.475 287.516 287.593 288 
+  Bin 1288: 288 288.223 288.328 288.388 288.43 288.458 288.489 288.519 288.551 288.646 289 
+  Bin 1289: 289 289.218 289.32 289.378 289.418 289.452 289.476 289.498 289.527 289.628 290 
+  Bin 1290: 290 290.199 290.299 290.358 290.396 290.423 290.456 290.485 290.522 290.611 291 
+  Bin 1291: 291 291.233 291.344 291.402 291.441 291.472 291.492 291.515 291.555 291.645 292 
+  Bin 1292: 292 292.226 292.332 292.395 292.434 292.459 292.488 292.515 292.555 292.65 293 
+  Bin 1293: 293 293.198 293.305 293.363 293.399 293.436 293.465 293.496 293.535 293.629 294 
+  Bin 1294: 294 294.201 294.309 294.371 294.409 294.442 294.466 294.494 294.527 294.607 295 
+  Bin 1295: 295 295.254 295.356 295.414 295.448 295.474 295.499 295.524 295.554 295.643 296 
+  Bin 1296: 296 296.238 296.366 296.434 296.473 296.502 296.53 296.554 296.587 296.667 297 
+  Bin 1297: 297 297.226 297.337 297.394 297.436 297.476 297.499 297.529 297.562 297.645 298 
+  Bin 1298: 298 298.204 298.295 298.345 298.38 298.41 298.435 298.47 298.508 298.609 299 
+  Bin 1299: 299 299.192 299.291 299.348 299.391 299.426 299.457 299.494 299.541 299.624 300 
+  Bin 1300: 300 300.219 300.324 300.387 300.432 300.463 300.495 300.525 300.562 300.639 301 
+  Bin 1301: 301 301.211 301.323 301.392 301.432 301.466 301.501 301.535 301.566 301.649 302 
+  Bin 1302: 302 302.199 302.309 302.371 302.414 302.449 302.476 302.511 302.553 302.64 303 
+  Bin 1303: 303 303.185 303.283 303.337 303.375 303.407 303.434 303.465 303.501 303.597 304 
+  Bin 1304: 304 304.216 304.322 304.388 304.429 304.463 304.487 304.515 304.55 304.621 305 
+  Bin 1305: 305 305.269 305.411 305.488 305.542 305.58 305.609 305.644 305.683 305.745 306 
+  Bin 1306: 306 306.274 306.367 306.426 306.464 306.493 306.522 306.555 306.587 306.663 307 
+  Bin 1307: 307 307.523 307.765 307.882 307.946 307.992 307.994 307.996 307.997 307.997 308 
+  Bin 1308: 308 -nan -nan -nan -nan -nan -nan -nan -nan -nan 309 
+  Bin 1309: 309 -nan -nan -nan -nan -nan -nan -nan -nan -nan 310 
+  Bin 1310: 310 310 310 310.108 310.177 310.182 310.255 310.34 310.427 310.524 311 
+  Bin 1311: 311 311.225 311.32 311.38 311.419 311.442 311.461 311.489 311.544 311.711 312 
+  Bin 1312: 312 312.157 312.224 312.265 312.301 312.324 312.351 312.379 312.423 312.546 313 
+  Bin 1313: 313 313.21 313.308 313.366 313.408 313.435 313.464 313.496 313.53 313.607 314 
+  Bin 1314: 314 314.197 314.293 314.348 314.387 314.416 314.445 314.476 314.515 314.614 315 
+  Bin 1315: 315 315.194 315.298 315.359 315.397 315.428 315.464 315.498 315.539 315.621 316 
+  Bin 1316: 316 316.19 316.288 316.345 316.386 316.419 316.446 316.478 316.516 316.611 317 
+  Bin 1317: 317 317.193 317.298 317.353 317.395 317.427 317.452 317.489 317.523 317.63 318 
+  Bin 1318: 318 318.179 318.28 318.344 318.387 318.418 318.455 318.49 318.537 318.632 319 
+  Bin 1319: 319 319.165 319.253 319.307 319.35 319.388 319.421 319.47 319.528 319.601 320 
+  Bin 1320: 320 320.186 320.282 320.343 320.385 320.42 320.448 320.485 320.529 320.605 321 
+  Bin 1321: 321 321.178 321.288 321.353 321.397 321.435 321.47 321.501 321.54 321.635 322 
+  Bin 1322: 322 322.17 322.265 322.321 322.366 322.395 322.422 322.454 322.491 322.581 323 
+  Bin 1323: 323 323.187 323.278 323.335 323.378 323.408 323.442 323.485 323.526 323.608 324 
+  Bin 1324: 324 324.198 324.292 324.351 324.387 324.424 324.453 324.493 324.536 324.629 325 
+  Bin 1325: 325 325.161 325.256 325.313 325.356 325.386 325.421 325.462 325.511 325.622 326 
+  Bin 1326: 326 326.176 326.276 326.335 326.376 326.409 326.449 326.483 326.517 326.607 327 
+  Bin 1327: 327 327.192 327.277 327.331 327.367 327.395 327.428 327.454 327.492 327.599 328 
+  Bin 1328: 328 328.203 328.292 328.345 328.382 328.415 328.433 328.454 328.486 328.569 329 
+  Bin 1329: 329 329.226 329.334 329.392 329.433 329.458 329.484 329.511 329.543 329.62 330 
+  Bin 1330: 330 330.227 330.313 330.37 330.409 330.44 330.46 330.483 330.509 330.601 331 
+  Bin 1331: 331 331.208 331.309 331.37 331.41 331.44 331.463 331.486 331.515 331.611 332 
+  Bin 1332: 332 332.205 332.312 332.377 332.415 332.442 332.471 332.502 332.528 332.613 333 
+  Bin 1333: 333 333.213 333.313 333.364 333.398 333.427 333.455 333.481 333.514 333.618 334 
+  Bin 1334: 334 334.22 334.315 334.37 334.403 334.432 334.452 334.475 334.508 334.616 335 
+  Bin 1335: 335 335.2 335.294 335.347 335.385 335.418 335.439 335.462 335.493 335.608 336 
+  Bin 1336: 336 336.215 336.305 336.356 336.388 336.422 336.443 336.468 336.504 336.611 337 
+  Bin 1337: 337 337.197 337.292 337.352 337.392 337.421 337.451 337.48 337.514 337.625 338 
+  Bin 1338: 338 338.182 338.28 338.336 338.376 338.407 338.431 338.456 338.489 338.598 339 
+  Bin 1339: 339 339.208 339.311 339.37 339.402 339.426 339.456 339.482 339.521 339.619 340 
+  Bin 1340: 340 340.207 340.309 340.37 340.407 340.44 340.465 340.491 340.528 340.63 341 
+  Bin 1341: 341 341.2 341.309 341.372 341.403 341.436 341.462 341.488 341.523 341.625 342 
+  Bin 1342: 342 342.21 342.305 342.359 342.396 342.418 342.445 342.465 342.502 342.599 343 
+  Bin 1343: 343 343.202 343.291 343.347 343.376 343.401 343.426 343.452 343.483 343.59 344 
+  Bin 1344: 344 344.236 344.327 344.387 344.423 344.452 344.474 344.493 344.53 344.607 345 
+  Bin 1345: 345 345.244 345.348 345.401 345.439 345.462 345.485 345.506 345.533 345.621 346 
+  Bin 1346: 346 346.233 346.335 346.39 346.428 346.454 346.482 346.508 346.534 346.623 347 
+  Bin 1347: 347 347.191 347.289 347.34 347.381 347.408 347.436 347.467 347.504 347.582 348 
+  Bin 1348: 348 348.21 348.296 348.35 348.384 348.406 348.431 348.454 348.484 348.582 349 
+  Bin 1349: 349 349.212 349.305 349.362 349.403 349.436 349.455 349.484 349.507 349.586 350 
+  Bin 1350: 350 350.228 350.335 350.392 350.421 350.445 350.471 350.494 350.524 350.617 351 
+  Bin 1351: 351 351.207 351.304 351.363 351.399 351.429 351.455 351.481 351.523 351.635 352 
+  Bin 1352: 352 352.181 352.273 352.33 352.361 352.388 352.41 352.444 352.477 352.566 353 
+  Bin 1353: 353 353.222 353.324 353.385 353.428 353.457 353.494 353.528 353.574 353.631 354 
+  Bin 1354: 354 354.218 354.311 354.37 354.412 354.442 354.471 354.504 354.542 354.607 355 
+  Bin 1355: 355 355.194 355.281 355.333 355.37 355.4 355.428 355.464 355.502 355.585 356 
+  Bin 1356: 356 356.186 356.283 356.339 356.377 356.41 356.438 356.471 356.51 356.59 357 
+  Bin 1357: 357 357.194 357.289 357.348 357.386 357.422 357.447 357.479 357.516 357.598 358 
+  Bin 1358: 358 358.167 358.261 358.316 358.357 358.387 358.409 358.448 358.499 358.573 359 
+  Bin 1359: 359 359.207 359.283 359.332 359.368 359.398 359.431 359.471 359.522 359.594 360 
+  Bin 1360: 360 360.171 360.254 360.312 360.348 360.385 360.412 360.45 360.495 360.572 361 
+  Bin 1361: 361 361.177 361.259 361.313 361.343 361.371 361.408 361.44 361.491 361.56 362 
+  Bin 1362: 362 362.198 362.288 362.345 362.387 362.42 362.447 362.485 362.528 362.595 363 
+  Bin 1363: 363 363.22 363.324 363.385 363.423 363.454 363.477 363.511 363.544 363.616 364 
+  Bin 1364: 364 364.196 364.288 364.349 364.386 364.422 364.453 364.492 364.531 364.602 365 
+  Bin 1365: 365 365.189 365.287 365.344 365.382 365.417 365.447 365.489 365.523 365.599 366 
+  Bin 1366: 366 366.206 366.312 366.37 366.405 366.435 366.47 366.506 366.551 366.613 367 
+  Bin 1367: 367 367.205 367.292 367.352 367.393 367.427 367.456 367.494 367.54 367.609 368 
+  Bin 1368: 368 368.178 368.274 368.334 368.373 368.41 368.442 368.477 368.52 368.595 369 
+  Bin 1369: 369 369.196 369.298 369.36 369.398 369.432 369.457 369.494 369.532 369.599 370 
+  Bin 1370: 370 370.202 370.299 370.363 370.402 370.43 370.463 370.501 370.546 370.615 371 
+  Bin 1371: 371 371.209 371.308 371.373 371.413 371.436 371.469 371.499 371.535 371.614 372 
+  Bin 1372: 372 372.202 372.298 372.359 372.4 372.426 372.457 372.49 372.526 372.608 373 
+  Bin 1373: 373 373.202 373.297 373.351 373.391 373.424 373.452 373.481 373.511 373.601 374 
+  Bin 1374: 374 374.218 374.318 374.383 374.422 374.456 374.485 374.522 374.562 374.619 375 
+  Bin 1375: 375 375.216 375.317 375.381 375.42 375.454 375.491 375.524 375.559 375.648 376 
+  Bin 1376: 376 376.198 376.283 376.338 376.379 376.407 376.449 376.485 376.527 376.6 377 
+  Bin 1377: 377 377.181 377.276 377.348 377.399 377.435 377.468 377.499 377.535 377.637 378 
+  Bin 1378: 378 378.181 378.274 378.336 378.378 378.409 378.442 378.483 378.524 378.608 379 
+  Bin 1379: 379 379.205 379.311 379.379 379.423 379.463 379.499 379.533 379.569 379.651 380 
+  Bin 1380: 380 380.205 380.307 380.378 380.428 380.467 380.499 380.534 380.569 380.659 381 
+  Bin 1381: 381 381.18 381.28 381.334 381.386 381.423 381.457 381.497 381.543 381.637 382 
+  Bin 1382: 382 382.176 382.273 382.336 382.391 382.429 382.46 382.496 382.54 382.637 383 
+  Bin 1383: 383 383.194 383.292 383.356 383.399 383.436 383.477 383.519 383.564 383.657 384 
+  Bin 1384: 384 384.178 384.277 384.348 384.399 384.439 384.471 384.507 384.549 384.646 385 
+  Bin 1385: 385 385.182 385.292 385.354 385.4 385.434 385.468 385.511 385.559 385.649 386 
+  Bin 1386: 386 386.186 386.279 386.342 386.388 386.43 386.462 386.503 386.543 386.629 387 
+  Bin 1387: 387 387.187 387.292 387.364 387.419 387.451 387.486 387.515 387.554 387.665 388 
+  Bin 1388: 388 388.168 388.275 388.347 388.393 388.431 388.464 388.503 388.542 388.653 389 
+  Bin 1389: 389 389.175 389.27 389.338 389.385 389.42 389.457 389.49 389.532 389.627 390 
+  Bin 1390: 390 390.182 390.28 390.341 390.389 390.424 390.459 390.485 390.53 390.66 391 
+  Bin 1391: 391 391.164 391.252 391.312 391.353 391.383 391.423 391.46 391.514 391.638 392 
+  Bin 1392: 392 392.166 392.244 392.291 392.326 392.354 392.391 392.432 392.496 392.578 393 
+  Bin 1393: 393 393.174 393.266 393.326 393.368 393.407 393.44 393.48 393.527 393.587 394 
+  Bin 1394: 394 394.192 394.286 394.342 394.382 394.411 394.447 394.481 394.532 394.59 395 
+  Bin 1395: 395 395.239 395.339 395.396 395.438 395.471 395.5 395.538 395.585 395.635 396 
+  Bin 1396: 396 396.218 396.312 396.367 396.407 396.438 396.466 396.5 396.547 396.617 397 
+  Bin 1397: 397 397.192 397.291 397.351 397.395 397.428 397.462 397.496 397.549 397.615 398 
+  Bin 1398: 398 398.209 398.305 398.369 398.409 398.443 398.472 398.511 398.558 398.63 399 
+  Bin 1399: 399 399.187 399.266 399.32 399.362 399.393 399.424 399.466 399.522 399.594 400 
+  Bin 1400: 400 400.176 400.266 400.325 400.362 400.388 400.426 400.464 400.517 400.604 401 
+  Bin 1401: 401 401.212 401.316 401.371 401.415 401.45 401.476 401.516 401.552 401.618 402 
+  Bin 1402: 402 402.229 402.334 402.394 402.437 402.466 402.499 402.537 402.574 402.641 403 
+  Bin 1403: 403 403.191 403.29 403.344 403.375 403.409 403.435 403.472 403.513 403.607 404 
+  Bin 1404: 404 404.186 404.28 404.34 404.382 404.409 404.444 404.487 404.539 404.61 405 
+  Bin 1405: 405 405.199 405.302 405.359 405.402 405.436 405.463 405.5 405.546 405.622 406 
+  Bin 1406: 406 406.181 406.262 406.307 406.346 406.374 406.418 406.464 406.523 406.623 407 
+  Bin 1407: 407 407.138 407.21 407.26 407.292 407.324 407.371 407.417 407.485 407.599 408 
+  Bin 1408: 408 408.115 408.192 408.246 408.292 408.322 408.362 408.415 408.48 408.582 409 
+  Bin 1409: 409 409.126 409.213 409.27 409.314 409.345 409.386 409.437 409.505 409.608 410 
+  Bin 1410: 410 410.138 410.236 410.301 410.347 410.383 410.419 410.468 410.528 410.61 411 
+  Bin 1411: 411 411.153 411.241 411.303 411.344 411.373 411.411 411.466 411.533 411.614 412 
+  Bin 1412: 412 412.189 412.287 412.351 412.397 412.429 412.466 412.511 412.567 412.651 413 
+  Bin 1413: 413 413.172 413.256 413.31 413.352 413.387 413.422 413.471 413.522 413.616 414 
+  Bin 1414: 414 414.175 414.279 414.346 414.394 414.43 414.462 414.501 414.541 414.624 415 
+  Bin 1415: 415 415.175 415.275 415.329 415.367 415.403 415.439 415.484 415.537 415.624 416 
+  Bin 1416: 416 416.164 416.256 416.31 416.356 416.394 416.432 416.477 416.519 416.632 417 
+  Bin 1417: 417 417.145 417.238 417.297 417.332 417.373 417.413 417.455 417.504 417.611 418 
+  Bin 1418: 418 418.152 418.238 418.297 418.337 418.373 418.405 418.446 418.491 418.601 419 
+  Bin 1419: 419 419.141 419.231 419.291 419.335 419.381 419.424 419.466 419.515 419.606 420 
+  Bin 1420: 420 420.19 420.276 420.338 420.385 420.422 420.458 420.508 420.562 420.64 421 
+  Bin 1421: 421 421.182 421.278 421.343 421.391 421.424 421.464 421.506 421.546 421.652 422 
+  Bin 1422: 422 422.183 422.302 422.376 422.417 422.454 422.483 422.52 422.556 422.63 423 
+  Bin 1423: 423 423.234 423.33 423.386 423.43 423.457 423.485 423.525 423.56 423.641 424 
+  Bin 1424: 424 424.2 424.291 424.352 424.388 424.428 424.448 424.475 424.509 424.576 425 
+  Bin 1425: 425 425.219 425.314 425.371 425.409 425.432 425.462 425.495 425.54 425.597 426 
+  Bin 1426: 426 426.212 426.306 426.362 426.401 426.429 426.455 426.491 426.526 426.606 427 
+  Bin 1427: 427 427.19 427.275 427.324 427.358 427.385 427.415 427.445 427.476 427.571 428 
+  Bin 1428: 428 428.178 428.263 428.315 428.351 428.382 428.413 428.447 428.472 428.576 429 
+  Bin 1429: 429 429.187 429.284 429.336 429.376 429.402 429.432 429.459 429.491 429.599 430 
+  Bin 1430: 430 430.195 430.295 430.349 430.386 430.415 430.449 430.484 430.516 430.619 431 
+  Bin 1431: 431 431.192 431.284 431.339 431.375 431.404 431.429 431.459 431.493 431.623 432 
+  Bin 1432: 432 432.165 432.243 432.298 432.337 432.368 432.394 432.438 432.487 432.569 433 
+  Bin 1433: 433 433.172 433.261 433.318 433.361 433.389 433.422 433.466 433.504 433.606 434 
+  Bin 1434: 434 434.181 434.274 434.32 434.36 434.391 434.423 434.463 434.513 434.616 435 
+  Bin 1435: 435 435.183 435.276 435.329 435.366 435.403 435.436 435.468 435.508 435.584 436 
+  Bin 1436: 436 436.463 436.683 436.838 436.918 436.991 436.991 436.991 436.991 436.991 437 
+  Bin 1437: 437 -nan -nan -nan -nan -nan -nan -nan -nan -nan 438 
+  Bin 1438: 438 -nan -nan -nan -nan -nan -nan -nan -nan -nan 439 
+  Bin 1439: 439 -nan -nan -nan -nan -nan -nan -nan -nan -nan 440 
+  Bin 1440: 440 -nan -nan -nan -nan -nan -nan -nan -nan -nan 441 
+  Bin 1441: 441 -nan -nan -nan -nan -nan -nan -nan -nan -nan 442 
+  Bin 1442: 442 -nan -nan -nan -nan -nan -nan -nan -nan -nan 443 
+  Bin 1443: 443 -nan -nan -nan -nan -nan -nan -nan -nan -nan 444 
+  Bin 1444: 444 -nan -nan -nan -nan -nan -nan -nan -nan -nan 445 
+  Bin 1445: 445 -nan -nan -nan -nan -nan -nan -nan -nan -nan 446 
+  Bin 1446: 446 -nan -nan -nan -nan -nan -nan -nan -nan -nan 447 
+  Bin 1447: 447 -nan -nan -nan -nan -nan -nan -nan -nan -nan 448 
+  Bin 1448: 448 -nan -nan -nan -nan -nan -nan -nan -nan -nan 449 
+  Bin 1449: 449 -nan -nan -nan -nan -nan -nan -nan -nan -nan 450 
+  Bin 1450: 450 -nan -nan -nan -nan -nan -nan -nan -nan -nan 451 
+  Bin 1451: 451 -nan -nan -nan -nan -nan -nan -nan -nan -nan 452 
+  Bin 1452: 452 -nan -nan -nan -nan -nan -nan -nan -nan -nan 453 
+  Bin 1453: 453 -nan -nan -nan -nan -nan -nan -nan -nan -nan 454 
+  Bin 1454: 454 -nan -nan -nan -nan -nan -nan -nan -nan -nan 455 
+  Bin 1455: 455 -nan -nan -nan -nan -nan -nan -nan -nan -nan 456 
+  Bin 1456: 456 -nan -nan -nan -nan -nan -nan -nan -nan -nan 457 
+  Bin 1457: 457 -nan -nan -nan -nan -nan -nan -nan -nan -nan 458 
+  Bin 1458: 458 -nan -nan -nan -nan -nan -nan -nan -nan -nan 459 
+  Bin 1459: 459 -nan -nan -nan -nan -nan -nan -nan -nan -nan 460 
+  Bin 1460: 460 -nan -nan -nan -nan -nan -nan -nan -nan -nan 461 
+  Bin 1461: 461 -nan -nan -nan -nan -nan -nan -nan -nan -nan 462 
+  Bin 1462: 462 -nan -nan -nan -nan -nan -nan -nan -nan -nan 463 
+  Bin 1463: 463 -nan -nan -nan -nan -nan -nan -nan -nan -nan 464 
+  Bin 1464: 464 -nan -nan -nan -nan -nan -nan -nan -nan -nan 465 
+  Bin 1465: 465 -nan -nan -nan -nan -nan -nan -nan -nan -nan 466 
+  Bin 1466: 466 -nan -nan -nan -nan -nan -nan -nan -nan -nan 467 
+  Bin 1467: 467 -nan -nan -nan -nan -nan -nan -nan -nan -nan 468 
+  Bin 1468: 468 -nan -nan -nan -nan -nan -nan -nan -nan -nan 469 
+  Bin 1469: 469 -nan -nan -nan -nan -nan -nan -nan -nan -nan 470 
+  Bin 1470: 470 -nan -nan -nan -nan -nan -nan -nan -nan -nan 471 
+  Bin 1471: 471 -nan -nan -nan -nan -nan -nan -nan -nan -nan 472 
+  Bin 1472: 472 -nan -nan -nan -nan -nan -nan -nan -nan -nan 473 
+  Bin 1473: 473 -nan -nan -nan -nan -nan -nan -nan -nan -nan 474 
+  Bin 1474: 474 -nan -nan -nan -nan -nan -nan -nan -nan -nan 475 
+  Bin 1475: 475 -nan -nan -nan -nan -nan -nan -nan -nan -nan 476 
+  Bin 1476: 476 -nan -nan -nan -nan -nan -nan -nan -nan -nan 477 
+  Bin 1477: 477 -nan -nan -nan -nan -nan -nan -nan -nan -nan 478 
+  Bin 1478: 478 -nan -nan -nan -nan -nan -nan -nan -nan -nan 479 
+  Bin 1479: 479 -nan -nan -nan -nan -nan -nan -nan -nan -nan 480 
+  Bin 1480: 480 -nan -nan -nan -nan -nan -nan -nan -nan -nan 481 
+  Bin 1481: 481 -nan -nan -nan -nan -nan -nan -nan -nan -nan 482 
+  Bin 1482: 482 -nan -nan -nan -nan -nan -nan -nan -nan -nan 483 
+  Bin 1483: 483 -nan -nan -nan -nan -nan -nan -nan -nan -nan 484 
+  Bin 1484: 484 -nan -nan -nan -nan -nan -nan -nan -nan -nan 485 
+  Bin 1485: 485 -nan -nan -nan -nan -nan -nan -nan -nan -nan 486 
+  Bin 1486: 486 -nan -nan -nan -nan -nan -nan -nan -nan -nan 487 
+  Bin 1487: 487 -nan -nan -nan -nan -nan -nan -nan -nan -nan 488 
+  Bin 1488: 488 -nan -nan -nan -nan -nan -nan -nan -nan -nan 489 
+  Bin 1489: 489 -nan -nan -nan -nan -nan -nan -nan -nan -nan 490 
+  Bin 1490: 490 -nan -nan -nan -nan -nan -nan -nan -nan -nan 491 
+  Bin 1491: 491 -nan -nan -nan -nan -nan -nan -nan -nan -nan 492 
+  Bin 1492: 492 -nan -nan -nan -nan -nan -nan -nan -nan -nan 493 
+  Bin 1493: 493 -nan -nan -nan -nan -nan -nan -nan -nan -nan 494 
+  Bin 1494: 494 -nan -nan -nan -nan -nan -nan -nan -nan -nan 495 
+  Bin 1495: 495 -nan -nan -nan -nan -nan -nan -nan -nan -nan 496 
+  Bin 1496: 496 -nan -nan -nan -nan -nan -nan -nan -nan -nan 497 
+  Bin 1497: 497 -nan -nan -nan -nan -nan -nan -nan -nan -nan 498 
+  Bin 1498: 498 -nan -nan -nan -nan -nan -nan -nan -nan -nan 499 
+  Bin 1499: 499 -nan -nan -nan -nan -nan -nan -nan -nan -nan 500 
+  Bin 1500: 500 -nan -nan -nan -nan -nan -nan -nan -nan -nan 501 
+  Bin 1501: 501 -nan -nan -nan -nan -nan -nan -nan -nan -nan 502 
+  Bin 1502: 502 -nan -nan -nan -nan -nan -nan -nan -nan -nan 503 
+  Bin 1503: 503 -nan -nan -nan -nan -nan -nan -nan -nan -nan 504 
+  Bin 1504: 504 -nan -nan -nan -nan -nan -nan -nan -nan -nan 505 
+  Bin 1505: 505 -nan -nan -nan -nan -nan -nan -nan -nan -nan 506 
+  Bin 1506: 506 -nan -nan -nan -nan -nan -nan -nan -nan -nan 507 
+  Bin 1507: 507 -nan -nan -nan -nan -nan -nan -nan -nan -nan 508 
+  Bin 1508: 508 -nan -nan -nan -nan -nan -nan -nan -nan -nan 509 
+  Bin 1509: 509 -nan -nan -nan -nan -nan -nan -nan -nan -nan 510 
+  Bin 1510: 510 -nan -nan -nan -nan -nan -nan -nan -nan -nan 511 
+  Bin 1511: 511 -nan -nan -nan -nan -nan -nan -nan -nan -nan 512 
+  Bin 1512: 512 -nan -nan -nan -nan -nan -nan -nan -nan -nan 513 
+  Bin 1513: 513 -nan -nan -nan -nan -nan -nan -nan -nan -nan 514 
+  Bin 1514: 514 -nan -nan -nan -nan -nan -nan -nan -nan -nan 515 
+  Bin 1515: 515 -nan -nan -nan -nan -nan -nan -nan -nan -nan 516 
+  Bin 1516: 516 -nan -nan -nan -nan -nan -nan -nan -nan -nan 517 
+  Bin 1517: 517 -nan -nan -nan -nan -nan -nan -nan -nan -nan 518 
+  Bin 1518: 518 -nan -nan -nan -nan -nan -nan -nan -nan -nan 519 
+  Bin 1519: 519 -nan -nan -nan -nan -nan -nan -nan -nan -nan 520 
+  Bin 1520: 520 -nan -nan -nan -nan -nan -nan -nan -nan -nan 521 
+  Bin 1521: 521 -nan -nan -nan -nan -nan -nan -nan -nan -nan 522 
+  Bin 1522: 522 -nan -nan -nan -nan -nan -nan -nan -nan -nan 523 
+  Bin 1523: 523 -nan -nan -nan -nan -nan -nan -nan -nan -nan 524 
+  Bin 1524: 524 -nan -nan -nan -nan -nan -nan -nan -nan -nan 525 
+  Bin 1525: 525 -nan -nan -nan -nan -nan -nan -nan -nan -nan 526 
+  Bin 1526: 526 -nan -nan -nan -nan -nan -nan -nan -nan -nan 527 
+  Bin 1527: 527 -nan -nan -nan -nan -nan -nan -nan -nan -nan 528 
+  Bin 1528: 528 -nan -nan -nan -nan -nan -nan -nan -nan -nan 529 
+  Bin 1529: 529 -nan -nan -nan -nan -nan -nan -nan -nan -nan 530 
+  Bin 1530: 530 -nan -nan -nan -nan -nan -nan -nan -nan -nan 531 
+  Bin 1531: 531 -nan -nan -nan -nan -nan -nan -nan -nan -nan 532 
+  Bin 1532: 532 -nan -nan -nan -nan -nan -nan -nan -nan -nan 533 
+  Bin 1533: 533 -nan -nan -nan -nan -nan -nan -nan -nan -nan 534 
+  Bin 1534: 534 -nan -nan -nan -nan -nan -nan -nan -nan -nan 535 
+  Bin 1535: 535 -nan -nan -nan -nan -nan -nan -nan -nan -nan 536 
+  Bin 1536: 536 -nan -nan -nan -nan -nan -nan -nan -nan -nan 537 
+  Bin 1537: 537 -nan -nan -nan -nan -nan -nan -nan -nan -nan 538 
+  Bin 1538: 538 -nan -nan -nan -nan -nan -nan -nan -nan -nan 539 
+  Bin 1539: 539 -nan -nan -nan -nan -nan -nan -nan -nan -nan 540 
+  Bin 1540: 540 -nan -nan -nan -nan -nan -nan -nan -nan -nan 541 
+  Bin 1541: 541 -nan -nan -nan -nan -nan -nan -nan -nan -nan 542 
+  Bin 1542: 542 -nan -nan -nan -nan -nan -nan -nan -nan -nan 543 
+  Bin 1543: 543 -nan -nan -nan -nan -nan -nan -nan -nan -nan 544 
+  Bin 1544: 544 -nan -nan -nan -nan -nan -nan -nan -nan -nan 545 
+  Bin 1545: 545 -nan -nan -nan -nan -nan -nan -nan -nan -nan 546 
+  Bin 1546: 546 -nan -nan -nan -nan -nan -nan -nan -nan -nan 547 
+  Bin 1547: 547 -nan -nan -nan -nan -nan -nan -nan -nan -nan 548 
+  Bin 1548: 548 -nan -nan -nan -nan -nan -nan -nan -nan -nan 549 
+  Bin 1549: 549 -nan -nan -nan -nan -nan -nan -nan -nan -nan 550 
+  Bin 1550: 550 -nan -nan -nan -nan -nan -nan -nan -nan -nan 551 
+  Bin 1551: 551 -nan -nan -nan -nan -nan -nan -nan -nan -nan 552 
+  Bin 1552: 552 -nan -nan -nan -nan -nan -nan -nan -nan -nan 553 
+  Bin 1553: 553 -nan -nan -nan -nan -nan -nan -nan -nan -nan 554 
+  Bin 1554: 554 -nan -nan -nan -nan -nan -nan -nan -nan -nan 555 
+  Bin 1555: 555 -nan -nan -nan -nan -nan -nan -nan -nan -nan 556 
+  Bin 1556: 556 -nan -nan -nan -nan -nan -nan -nan -nan -nan 557 
+  Bin 1557: 557 -nan -nan -nan -nan -nan -nan -nan -nan -nan 558 
+  Bin 1558: 558 -nan -nan -nan -nan -nan -nan -nan -nan -nan 559 
+  Bin 1559: 559 -nan -nan -nan -nan -nan -nan -nan -nan -nan 560 
+  Bin 1560: 560 -nan -nan -nan -nan -nan -nan -nan -nan -nan 561 
+  Bin 1561: 561 -nan -nan -nan -nan -nan -nan -nan -nan -nan 562 
+  Bin 1562: 562 -nan -nan -nan -nan -nan -nan -nan -nan -nan 563 
+  Bin 1563: 563 -nan -nan -nan -nan -nan -nan -nan -nan -nan 564 
+  Bin 1564: 564 -nan -nan -nan -nan -nan -nan -nan -nan -nan 565 
+  Bin 1565: 565 -nan -nan -nan -nan -nan -nan -nan -nan -nan 566 
+  Bin 1566: 566 -nan -nan -nan -nan -nan -nan -nan -nan -nan 567 
+  Bin 1567: 567 -nan -nan -nan -nan -nan -nan -nan -nan -nan 568 
+  Bin 1568: 568 -nan -nan -nan -nan -nan -nan -nan -nan -nan 569 
+  Bin 1569: 569 -nan -nan -nan -nan -nan -nan -nan -nan -nan 570 
+  Bin 1570: 570 -nan -nan -nan -nan -nan -nan -nan -nan -nan 571 
+  Bin 1571: 571 -nan -nan -nan -nan -nan -nan -nan -nan -nan 572 
+  Bin 1572: 572 -nan -nan -nan -nan -nan -nan -nan -nan -nan 573 
+  Bin 1573: 573 -nan -nan -nan -nan -nan -nan -nan -nan -nan 574 
+  Bin 1574: 574 -nan -nan -nan -nan -nan -nan -nan -nan -nan 575 
+  Bin 1575: 575 -nan -nan -nan -nan -nan -nan -nan -nan -nan 576 
+  Bin 1576: 576 -nan -nan -nan -nan -nan -nan -nan -nan -nan 577 
+  Bin 1577: 577 -nan -nan -nan -nan -nan -nan -nan -nan -nan 578 
+  Bin 1578: 578 -nan -nan -nan -nan -nan -nan -nan -nan -nan 579 
+  Bin 1579: 579 -nan -nan -nan -nan -nan -nan -nan -nan -nan 580 
+  Bin 1580: 580 -nan -nan -nan -nan -nan -nan -nan -nan -nan 581 
+  Bin 1581: 581 -nan -nan -nan -nan -nan -nan -nan -nan -nan 582 
+  Bin 1582: 582 -nan -nan -nan -nan -nan -nan -nan -nan -nan 583 
+  Bin 1583: 583 -nan -nan -nan -nan -nan -nan -nan -nan -nan 584 
+  Bin 1584: 584 -nan -nan -nan -nan -nan -nan -nan -nan -nan 585 
+  Bin 1585: 585 -nan -nan -nan -nan -nan -nan -nan -nan -nan 586 
+  Bin 1586: 586 -nan -nan -nan -nan -nan -nan -nan -nan -nan 587 
+  Bin 1587: 587 -nan -nan -nan -nan -nan -nan -nan -nan -nan 588 
+  Bin 1588: 588 -nan -nan -nan -nan -nan -nan -nan -nan -nan 589 
+  Bin 1589: 589 -nan -nan -nan -nan -nan -nan -nan -nan -nan 590 
+  Bin 1590: 590 -nan -nan -nan -nan -nan -nan -nan -nan -nan 591 
+  Bin 1591: 591 -nan -nan -nan -nan -nan -nan -nan -nan -nan 592 
+  Bin 1592: 592 -nan -nan -nan -nan -nan -nan -nan -nan -nan 593 
+  Bin 1593: 593 -nan -nan -nan -nan -nan -nan -nan -nan -nan 594 
+  Bin 1594: 594 -nan -nan -nan -nan -nan -nan -nan -nan -nan 595 
+  Bin 1595: 595 -nan -nan -nan -nan -nan -nan -nan -nan -nan 596 
+  Bin 1596: 596 -nan -nan -nan -nan -nan -nan -nan -nan -nan 597 
+  Bin 1597: 597 -nan -nan -nan -nan -nan -nan -nan -nan -nan 598 
+  Bin 1598: 598 -nan -nan -nan -nan -nan -nan -nan -nan -nan 599 
+  Bin 1599: 599 -nan -nan -nan -nan -nan -nan -nan -nan -nan 600 
+  Bin 1600: 600 -nan -nan -nan -nan -nan -nan -nan -nan -nan 601 
+  Bin 1601: 601 -nan -nan -nan -nan -nan -nan -nan -nan -nan 602 
+  Bin 1602: 602 -nan -nan -nan -nan -nan -nan -nan -nan -nan 603 
+  Bin 1603: 603 -nan -nan -nan -nan -nan -nan -nan -nan -nan 604 
+  Bin 1604: 604 -nan -nan -nan -nan -nan -nan -nan -nan -nan 605 
+  Bin 1605: 605 -nan -nan -nan -nan -nan -nan -nan -nan -nan 606 
+  Bin 1606: 606 -nan -nan -nan -nan -nan -nan -nan -nan -nan 607 
+  Bin 1607: 607 -nan -nan -nan -nan -nan -nan -nan -nan -nan 608 
+  Bin 1608: 608 -nan -nan -nan -nan -nan -nan -nan -nan -nan 609 
+  Bin 1609: 609 -nan -nan -nan -nan -nan -nan -nan -nan -nan 610 
+  Bin 1610: 610 -nan -nan -nan -nan -nan -nan -nan -nan -nan 611 
+  Bin 1611: 611 -nan -nan -nan -nan -nan -nan -nan -nan -nan 612 
+  Bin 1612: 612 -nan -nan -nan -nan -nan -nan -nan -nan -nan 613 
+  Bin 1613: 613 -nan -nan -nan -nan -nan -nan -nan -nan -nan 614 
+  Bin 1614: 614 -nan -nan -nan -nan -nan -nan -nan -nan -nan 615 
+  Bin 1615: 615 -nan -nan -nan -nan -nan -nan -nan -nan -nan 616 
+  Bin 1616: 616 -nan -nan -nan -nan -nan -nan -nan -nan -nan 617 
+  Bin 1617: 617 -nan -nan -nan -nan -nan -nan -nan -nan -nan 618 
+  Bin 1618: 618 -nan -nan -nan -nan -nan -nan -nan -nan -nan 619 
+  Bin 1619: 619 -nan -nan -nan -nan -nan -nan -nan -nan -nan 620 
+  Bin 1620: 620 -nan -nan -nan -nan -nan -nan -nan -nan -nan 621 
+  Bin 1621: 621 -nan -nan -nan -nan -nan -nan -nan -nan -nan 622 
+  Bin 1622: 622 -nan -nan -nan -nan -nan -nan -nan -nan -nan 623 
+  Bin 1623: 623 -nan -nan -nan -nan -nan -nan -nan -nan -nan 624 
+  Bin 1624: 624 -nan -nan -nan -nan -nan -nan -nan -nan -nan 625 
+  Bin 1625: 625 -nan -nan -nan -nan -nan -nan -nan -nan -nan 626 
+  Bin 1626: 626 -nan -nan -nan -nan -nan -nan -nan -nan -nan 627 
+  Bin 1627: 627 -nan -nan -nan -nan -nan -nan -nan -nan -nan 628 
+  Bin 1628: 628 -nan -nan -nan -nan -nan -nan -nan -nan -nan 629 
+  Bin 1629: 629 -nan -nan -nan -nan -nan -nan -nan -nan -nan 630 
+  Bin 1630: 630 -nan -nan -nan -nan -nan -nan -nan -nan -nan 631 
+  Bin 1631: 631 -nan -nan -nan -nan -nan -nan -nan -nan -nan 632 
+  Bin 1632: 632 -nan -nan -nan -nan -nan -nan -nan -nan -nan 633 
+  Bin 1633: 633 -nan -nan -nan -nan -nan -nan -nan -nan -nan 634 
+  Bin 1634: 634 -nan -nan -nan -nan -nan -nan -nan -nan -nan 635 
+  Bin 1635: 635 -nan -nan -nan -nan -nan -nan -nan -nan -nan 636 
+  Bin 1636: 636 -nan -nan -nan -nan -nan -nan -nan -nan -nan 637 
+  Bin 1637: 637 -nan -nan -nan -nan -nan -nan -nan -nan -nan 638 
+  Bin 1638: 638 -nan -nan -nan -nan -nan -nan -nan -nan -nan 639 
+  Bin 1639: 639 -nan -nan -nan -nan -nan -nan -nan -nan -nan 640 
+  Bin 1640: 640 -nan -nan -nan -nan -nan -nan -nan -nan -nan 641 
+  Bin 1641: 641 -nan -nan -nan -nan -nan -nan -nan -nan -nan 642 
+  Bin 1642: 642 -nan -nan -nan -nan -nan -nan -nan -nan -nan 643 
+  Bin 1643: 643 -nan -nan -nan -nan -nan -nan -nan -nan -nan 644 
+  Bin 1644: 644 -nan -nan -nan -nan -nan -nan -nan -nan -nan 645 
+  Bin 1645: 645 -nan -nan -nan -nan -nan -nan -nan -nan -nan 646 
+  Bin 1646: 646 -nan -nan -nan -nan -nan -nan -nan -nan -nan 647 
+  Bin 1647: 647 -nan -nan -nan -nan -nan -nan -nan -nan -nan 648 
+  Bin 1648: 648 -nan -nan -nan -nan -nan -nan -nan -nan -nan 649 
+  Bin 1649: 649 -nan -nan -nan -nan -nan -nan -nan -nan -nan 650 
+  Bin 1650: 650 -nan -nan -nan -nan -nan -nan -nan -nan -nan 651 
+  Bin 1651: 651 -nan -nan -nan -nan -nan -nan -nan -nan -nan 652 
+  Bin 1652: 652 -nan -nan -nan -nan -nan -nan -nan -nan -nan 653 
+  Bin 1653: 653 -nan -nan -nan -nan -nan -nan -nan -nan -nan 654 
+  Bin 1654: 654 -nan -nan -nan -nan -nan -nan -nan -nan -nan 655 
+  Bin 1655: 655 -nan -nan -nan -nan -nan -nan -nan -nan -nan 656 
+  Bin 1656: 656 -nan -nan -nan -nan -nan -nan -nan -nan -nan 657 
+  Bin 1657: 657 -nan -nan -nan -nan -nan -nan -nan -nan -nan 658 
+  Bin 1658: 658 -nan -nan -nan -nan -nan -nan -nan -nan -nan 659 
+  Bin 1659: 659 -nan -nan -nan -nan -nan -nan -nan -nan -nan 660 
+  Bin 1660: 660 -nan -nan -nan -nan -nan -nan -nan -nan -nan 661 
+  Bin 1661: 661 -nan -nan -nan -nan -nan -nan -nan -nan -nan 662 
+  Bin 1662: 662 -nan -nan -nan -nan -nan -nan -nan -nan -nan 663 
+  Bin 1663: 663 -nan -nan -nan -nan -nan -nan -nan -nan -nan 664 
+  Bin 1664: 664 -nan -nan -nan -nan -nan -nan -nan -nan -nan 665 
+  Bin 1665: 665 -nan -nan -nan -nan -nan -nan -nan -nan -nan 666 
+  Bin 1666: 666 -nan -nan -nan -nan -nan -nan -nan -nan -nan 667 
+  Bin 1667: 667 -nan -nan -nan -nan -nan -nan -nan -nan -nan 668 
+  Bin 1668: 668 -nan -nan -nan -nan -nan -nan -nan -nan -nan 669 
+  Bin 1669: 669 -nan -nan -nan -nan -nan -nan -nan -nan -nan 670 
+  Bin 1670: 670 -nan -nan -nan -nan -nan -nan -nan -nan -nan 671 
+  Bin 1671: 671 -nan -nan -nan -nan -nan -nan -nan -nan -nan 672 
+  Bin 1672: 672 -nan -nan -nan -nan -nan -nan -nan -nan -nan 673 
+  Bin 1673: 673 -nan -nan -nan -nan -nan -nan -nan -nan -nan 674 
+  Bin 1674: 674 -nan -nan -nan -nan -nan -nan -nan -nan -nan 675 
+  Bin 1675: 675 -nan -nan -nan -nan -nan -nan -nan -nan -nan 676 
+  Bin 1676: 676 -nan -nan -nan -nan -nan -nan -nan -nan -nan 677 
+  Bin 1677: 677 -nan -nan -nan -nan -nan -nan -nan -nan -nan 678 
+  Bin 1678: 678 -nan -nan -nan -nan -nan -nan -nan -nan -nan 679 
+  Bin 1679: 679 -nan -nan -nan -nan -nan -nan -nan -nan -nan 680 
+  Bin 1680: 680 -nan -nan -nan -nan -nan -nan -nan -nan -nan 681 
+  Bin 1681: 681 -nan -nan -nan -nan -nan -nan -nan -nan -nan 682 
+  Bin 1682: 682 -nan -nan -nan -nan -nan -nan -nan -nan -nan 683 
+  Bin 1683: 683 -nan -nan -nan -nan -nan -nan -nan -nan -nan 684 
+  Bin 1684: 684 -nan -nan -nan -nan -nan -nan -nan -nan -nan 685 
+  Bin 1685: 685 -nan -nan -nan -nan -nan -nan -nan -nan -nan 686 
+  Bin 1686: 686 -nan -nan -nan -nan -nan -nan -nan -nan -nan 687 
+  Bin 1687: 687 -nan -nan -nan -nan -nan -nan -nan -nan -nan 688 
+  Bin 1688: 688 -nan -nan -nan -nan -nan -nan -nan -nan -nan 689 
+  Bin 1689: 689 -nan -nan -nan -nan -nan -nan -nan -nan -nan 690 
+  Bin 1690: 690 -nan -nan -nan -nan -nan -nan -nan -nan -nan 691 
+  Bin 1691: 691 -nan -nan -nan -nan -nan -nan -nan -nan -nan 692 
+  Bin 1692: 692 -nan -nan -nan -nan -nan -nan -nan -nan -nan 693 
+  Bin 1693: 693 -nan -nan -nan -nan -nan -nan -nan -nan -nan 694 
+  Bin 1694: 694 -nan -nan -nan -nan -nan -nan -nan -nan -nan 695 
+  Bin 1695: 695 -nan -nan -nan -nan -nan -nan -nan -nan -nan 696 
+  Bin 1696: 696 -nan -nan -nan -nan -nan -nan -nan -nan -nan 697 
+  Bin 1697: 697 -nan -nan -nan -nan -nan -nan -nan -nan -nan 698 
+  Bin 1698: 698 -nan -nan -nan -nan -nan -nan -nan -nan -nan 699 
+  Bin 1699: 699 -nan -nan -nan -nan -nan -nan -nan -nan -nan 700 
+  Bin 1700: 700 -nan -nan -nan -nan -nan -nan -nan -nan -nan 701 
+  Bin 1701: 701 -nan -nan -nan -nan -nan -nan -nan -nan -nan 702 
+  Bin 1702: 702 -nan -nan -nan -nan -nan -nan -nan -nan -nan 703 
+  Bin 1703: 703 -nan -nan -nan -nan -nan -nan -nan -nan -nan 704 
+  Bin 1704: 704 -nan -nan -nan -nan -nan -nan -nan -nan -nan 705 
+  Bin 1705: 705 -nan -nan -nan -nan -nan -nan -nan -nan -nan 706 
+  Bin 1706: 706 -nan -nan -nan -nan -nan -nan -nan -nan -nan 707 
+  Bin 1707: 707 -nan -nan -nan -nan -nan -nan -nan -nan -nan 708 
+  Bin 1708: 708 -nan -nan -nan -nan -nan -nan -nan -nan -nan 709 
+  Bin 1709: 709 -nan -nan -nan -nan -nan -nan -nan -nan -nan 710 
+  Bin 1710: 710 -nan -nan -nan -nan -nan -nan -nan -nan -nan 711 
+  Bin 1711: 711 -nan -nan -nan -nan -nan -nan -nan -nan -nan 712 
+  Bin 1712: 712 -nan -nan -nan -nan -nan -nan -nan -nan -nan 713 
+  Bin 1713: 713 -nan -nan -nan -nan -nan -nan -nan -nan -nan 714 
+  Bin 1714: 714 -nan -nan -nan -nan -nan -nan -nan -nan -nan 715 
+  Bin 1715: 715 -nan -nan -nan -nan -nan -nan -nan -nan -nan 716 
+  Bin 1716: 716 -nan -nan -nan -nan -nan -nan -nan -nan -nan 717 
+  Bin 1717: 717 -nan -nan -nan -nan -nan -nan -nan -nan -nan 718 
+  Bin 1718: 718 -nan -nan -nan -nan -nan -nan -nan -nan -nan 719 
+  Bin 1719: 719 -nan -nan -nan -nan -nan -nan -nan -nan -nan 720 
+  Bin 1720: 720 -nan -nan -nan -nan -nan -nan -nan -nan -nan 721 
+  Bin 1721: 721 -nan -nan -nan -nan -nan -nan -nan -nan -nan 722 
+  Bin 1722: 722 -nan -nan -nan -nan -nan -nan -nan -nan -nan 723 
+  Bin 1723: 723 -nan -nan -nan -nan -nan -nan -nan -nan -nan 724 
+  Bin 1724: 724 -nan -nan -nan -nan -nan -nan -nan -nan -nan 725 
+  Bin 1725: 725 -nan -nan -nan -nan -nan -nan -nan -nan -nan 726 
+  Bin 1726: 726 -nan -nan -nan -nan -nan -nan -nan -nan -nan 727 
+  Bin 1727: 727 -nan -nan -nan -nan -nan -nan -nan -nan -nan 728 
+  Bin 1728: 728 -nan -nan -nan -nan -nan -nan -nan -nan -nan 729 
+  Bin 1729: 729 -nan -nan -nan -nan -nan -nan -nan -nan -nan 730 
+  Bin 1730: 730 -nan -nan -nan -nan -nan -nan -nan -nan -nan 731 
+  Bin 1731: 731 -nan -nan -nan -nan -nan -nan -nan -nan -nan 732 
+  Bin 1732: 732 -nan -nan -nan -nan -nan -nan -nan -nan -nan 733 
+  Bin 1733: 733 -nan -nan -nan -nan -nan -nan -nan -nan -nan 734 
+  Bin 1734: 734 -nan -nan -nan -nan -nan -nan -nan -nan -nan 735 
+  Bin 1735: 735 -nan -nan -nan -nan -nan -nan -nan -nan -nan 736 
+  Bin 1736: 736 -nan -nan -nan -nan -nan -nan -nan -nan -nan 737 
+  Bin 1737: 737 -nan -nan -nan -nan -nan -nan -nan -nan -nan 738 
+  Bin 1738: 738 -nan -nan -nan -nan -nan -nan -nan -nan -nan 739 
+  Bin 1739: 739 -nan -nan -nan -nan -nan -nan -nan -nan -nan 740 
+  Bin 1740: 740 -nan -nan -nan -nan -nan -nan -nan -nan -nan 741 
+  Bin 1741: 741 -nan -nan -nan -nan -nan -nan -nan -nan -nan 742 
+  Bin 1742: 742 -nan -nan -nan -nan -nan -nan -nan -nan -nan 743 
+  Bin 1743: 743 -nan -nan -nan -nan -nan -nan -nan -nan -nan 744 
+  Bin 1744: 744 -nan -nan -nan -nan -nan -nan -nan -nan -nan 745 
+  Bin 1745: 745 -nan -nan -nan -nan -nan -nan -nan -nan -nan 746 
+  Bin 1746: 746 -nan -nan -nan -nan -nan -nan -nan -nan -nan 747 
+  Bin 1747: 747 -nan -nan -nan -nan -nan -nan -nan -nan -nan 748 
+  Bin 1748: 748 -nan -nan -nan -nan -nan -nan -nan -nan -nan 749 
+  Bin 1749: 749 -nan -nan -nan -nan -nan -nan -nan -nan -nan 750 
+  Bin 1750: 750 -nan -nan -nan -nan -nan -nan -nan -nan -nan 751 
+  Bin 1751: 751 -nan -nan -nan -nan -nan -nan -nan -nan -nan 752 
+  Bin 1752: 752 -nan -nan -nan -nan -nan -nan -nan -nan -nan 753 
+  Bin 1753: 753 -nan -nan -nan -nan -nan -nan -nan -nan -nan 754 
+  Bin 1754: 754 -nan -nan -nan -nan -nan -nan -nan -nan -nan 755 
+  Bin 1755: 755 -nan -nan -nan -nan -nan -nan -nan -nan -nan 756 
+  Bin 1756: 756 -nan -nan -nan -nan -nan -nan -nan -nan -nan 757 
+  Bin 1757: 757 -nan -nan -nan -nan -nan -nan -nan -nan -nan 758 
+  Bin 1758: 758 -nan -nan -nan -nan -nan -nan -nan -nan -nan 759 
+  Bin 1759: 759 -nan -nan -nan -nan -nan -nan -nan -nan -nan 760 
+  Bin 1760: 760 -nan -nan -nan -nan -nan -nan -nan -nan -nan 761 
+  Bin 1761: 761 -nan -nan -nan -nan -nan -nan -nan -nan -nan 762 
+  Bin 1762: 762 -nan -nan -nan -nan -nan -nan -nan -nan -nan 763 
+  Bin 1763: 763 -nan -nan -nan -nan -nan -nan -nan -nan -nan 764 
+  Bin 1764: 764 -nan -nan -nan -nan -nan -nan -nan -nan -nan 765 
+  Bin 1765: 765 -nan -nan -nan -nan -nan -nan -nan -nan -nan 766 
+  Bin 1766: 766 -nan -nan -nan -nan -nan -nan -nan -nan -nan 767 
+  Bin 1767: 767 -nan -nan -nan -nan -nan -nan -nan -nan -nan 768 
+  Bin 1768: 768 -nan -nan -nan -nan -nan -nan -nan -nan -nan 769 
+  Bin 1769: 769 -nan -nan -nan -nan -nan -nan -nan -nan -nan 770 
+  Bin 1770: 770 -nan -nan -nan -nan -nan -nan -nan -nan -nan 771 
+  Bin 1771: 771 -nan -nan -nan -nan -nan -nan -nan -nan -nan 772 
+  Bin 1772: 772 -nan -nan -nan -nan -nan -nan -nan -nan -nan 773 
+  Bin 1773: 773 -nan -nan -nan -nan -nan -nan -nan -nan -nan 774 
+  Bin 1774: 774 -nan -nan -nan -nan -nan -nan -nan -nan -nan 775 
+  Bin 1775: 775 -nan -nan -nan -nan -nan -nan -nan -nan -nan 776 
+  Bin 1776: 776 -nan -nan -nan -nan -nan -nan -nan -nan -nan 777 
+  Bin 1777: 777 -nan -nan -nan -nan -nan -nan -nan -nan -nan 778 
+  Bin 1778: 778 -nan -nan -nan -nan -nan -nan -nan -nan -nan 779 
+  Bin 1779: 779 -nan -nan -nan -nan -nan -nan -nan -nan -nan 780 
+  Bin 1780: 780 -nan -nan -nan -nan -nan -nan -nan -nan -nan 781 
+  Bin 1781: 781 -nan -nan -nan -nan -nan -nan -nan -nan -nan 782 
+  Bin 1782: 782 -nan -nan -nan -nan -nan -nan -nan -nan -nan 783 
+  Bin 1783: 783 -nan -nan -nan -nan -nan -nan -nan -nan -nan 784 
+  Bin 1784: 784 -nan -nan -nan -nan -nan -nan -nan -nan -nan 785 
+  Bin 1785: 785 -nan -nan -nan -nan -nan -nan -nan -nan -nan 786 
+  Bin 1786: 786 -nan -nan -nan -nan -nan -nan -nan -nan -nan 787 
+  Bin 1787: 787 -nan -nan -nan -nan -nan -nan -nan -nan -nan 788 
+  Bin 1788: 788 -nan -nan -nan -nan -nan -nan -nan -nan -nan 789 
+  Bin 1789: 789 -nan -nan -nan -nan -nan -nan -nan -nan -nan 790 
+  Bin 1790: 790 -nan -nan -nan -nan -nan -nan -nan -nan -nan 791 
+  Bin 1791: 791 -nan -nan -nan -nan -nan -nan -nan -nan -nan 792 
+  Bin 1792: 792 -nan -nan -nan -nan -nan -nan -nan -nan -nan 793 
+  Bin 1793: 793 -nan -nan -nan -nan -nan -nan -nan -nan -nan 794 
+  Bin 1794: 794 -nan -nan -nan -nan -nan -nan -nan -nan -nan 795 
+  Bin 1795: 795 -nan -nan -nan -nan -nan -nan -nan -nan -nan 796 
+  Bin 1796: 796 -nan -nan -nan -nan -nan -nan -nan -nan -nan 797 
+  Bin 1797: 797 -nan -nan -nan -nan -nan -nan -nan -nan -nan 798 
+  Bin 1798: 798 -nan -nan -nan -nan -nan -nan -nan -nan -nan 799 
+  Bin 1799: 799 -nan -nan -nan -nan -nan -nan -nan -nan -nan 800 
+  Bin 1800: 800 -nan -nan -nan -nan -nan -nan -nan -nan -nan 801 
+  Bin 1801: 801 -nan -nan -nan -nan -nan -nan -nan -nan -nan 802 
+  Bin 1802: 802 -nan -nan -nan -nan -nan -nan -nan -nan -nan 803 
+  Bin 1803: 803 -nan -nan -nan -nan -nan -nan -nan -nan -nan 804 
+  Bin 1804: 804 -nan -nan -nan -nan -nan -nan -nan -nan -nan 805 
+  Bin 1805: 805 -nan -nan -nan -nan -nan -nan -nan -nan -nan 806 
+  Bin 1806: 806 -nan -nan -nan -nan -nan -nan -nan -nan -nan 807 
+  Bin 1807: 807 -nan -nan -nan -nan -nan -nan -nan -nan -nan 808 
+  Bin 1808: 808 -nan -nan -nan -nan -nan -nan -nan -nan -nan 809 
+  Bin 1809: 809 -nan -nan -nan -nan -nan -nan -nan -nan -nan 810 
+  Bin 1810: 810 -nan -nan -nan -nan -nan -nan -nan -nan -nan 811 
+  Bin 1811: 811 -nan -nan -nan -nan -nan -nan -nan -nan -nan 812 
+  Bin 1812: 812 -nan -nan -nan -nan -nan -nan -nan -nan -nan 813 
+  Bin 1813: 813 -nan -nan -nan -nan -nan -nan -nan -nan -nan 814 
+  Bin 1814: 814 -nan -nan -nan -nan -nan -nan -nan -nan -nan 815 
+  Bin 1815: 815 -nan -nan -nan -nan -nan -nan -nan -nan -nan 816 
+  Bin 1816: 816 -nan -nan -nan -nan -nan -nan -nan -nan -nan 817 
+  Bin 1817: 817 -nan -nan -nan -nan -nan -nan -nan -nan -nan 818 
+  Bin 1818: 818 -nan -nan -nan -nan -nan -nan -nan -nan -nan 819 
+  Bin 1819: 819 -nan -nan -nan -nan -nan -nan -nan -nan -nan 820 
+  Bin 1820: 820 -nan -nan -nan -nan -nan -nan -nan -nan -nan 821 
+  Bin 1821: 821 -nan -nan -nan -nan -nan -nan -nan -nan -nan 822 
+  Bin 1822: 822 -nan -nan -nan -nan -nan -nan -nan -nan -nan 823 
+  Bin 1823: 823 -nan -nan -nan -nan -nan -nan -nan -nan -nan 824 
+  Bin 1824: 824 -nan -nan -nan -nan -nan -nan -nan -nan -nan 825 
+  Bin 1825: 825 -nan -nan -nan -nan -nan -nan -nan -nan -nan 826 
+  Bin 1826: 826 -nan -nan -nan -nan -nan -nan -nan -nan -nan 827 
+  Bin 1827: 827 -nan -nan -nan -nan -nan -nan -nan -nan -nan 828 
+  Bin 1828: 828 -nan -nan -nan -nan -nan -nan -nan -nan -nan 829 
+  Bin 1829: 829 -nan -nan -nan -nan -nan -nan -nan -nan -nan 830 
+  Bin 1830: 830 -nan -nan -nan -nan -nan -nan -nan -nan -nan 831 
+  Bin 1831: 831 -nan -nan -nan -nan -nan -nan -nan -nan -nan 832 
+  Bin 1832: 832 -nan -nan -nan -nan -nan -nan -nan -nan -nan 833 
+  Bin 1833: 833 -nan -nan -nan -nan -nan -nan -nan -nan -nan 834 
+  Bin 1834: 834 -nan -nan -nan -nan -nan -nan -nan -nan -nan 835 
+  Bin 1835: 835 -nan -nan -nan -nan -nan -nan -nan -nan -nan 836 
+  Bin 1836: 836 -nan -nan -nan -nan -nan -nan -nan -nan -nan 837 
+  Bin 1837: 837 -nan -nan -nan -nan -nan -nan -nan -nan -nan 838 
+  Bin 1838: 838 -nan -nan -nan -nan -nan -nan -nan -nan -nan 839 
+  Bin 1839: 839 -nan -nan -nan -nan -nan -nan -nan -nan -nan 840 
+  Bin 1840: 840 -nan -nan -nan -nan -nan -nan -nan -nan -nan 841 
+  Bin 1841: 841 -nan -nan -nan -nan -nan -nan -nan -nan -nan 842 
+  Bin 1842: 842 -nan -nan -nan -nan -nan -nan -nan -nan -nan 843 
+  Bin 1843: 843 -nan -nan -nan -nan -nan -nan -nan -nan -nan 844 
+  Bin 1844: 844 -nan -nan -nan -nan -nan -nan -nan -nan -nan 845 
+  Bin 1845: 845 -nan -nan -nan -nan -nan -nan -nan -nan -nan 846 
+  Bin 1846: 846 -nan -nan -nan -nan -nan -nan -nan -nan -nan 847 
+  Bin 1847: 847 -nan -nan -nan -nan -nan -nan -nan -nan -nan 848 
+  Bin 1848: 848 -nan -nan -nan -nan -nan -nan -nan -nan -nan 849 
+  Bin 1849: 849 -nan -nan -nan -nan -nan -nan -nan -nan -nan 850 
+  Bin 1850: 850 -nan -nan -nan -nan -nan -nan -nan -nan -nan 851 
+  Bin 1851: 851 -nan -nan -nan -nan -nan -nan -nan -nan -nan 852 
+  Bin 1852: 852 -nan -nan -nan -nan -nan -nan -nan -nan -nan 853 
+  Bin 1853: 853 -nan -nan -nan -nan -nan -nan -nan -nan -nan 854 
+  Bin 1854: 854 -nan -nan -nan -nan -nan -nan -nan -nan -nan 855 
+  Bin 1855: 855 -nan -nan -nan -nan -nan -nan -nan -nan -nan 856 
+  Bin 1856: 856 -nan -nan -nan -nan -nan -nan -nan -nan -nan 857 
+  Bin 1857: 857 -nan -nan -nan -nan -nan -nan -nan -nan -nan 858 
+  Bin 1858: 858 -nan -nan -nan -nan -nan -nan -nan -nan -nan 859 
+  Bin 1859: 859 -nan -nan -nan -nan -nan -nan -nan -nan -nan 860 
+  Bin 1860: 860 -nan -nan -nan -nan -nan -nan -nan -nan -nan 861 
+  Bin 1861: 861 -nan -nan -nan -nan -nan -nan -nan -nan -nan 862 
+  Bin 1862: 862 -nan -nan -nan -nan -nan -nan -nan -nan -nan 863 
+  Bin 1863: 863 -nan -nan -nan -nan -nan -nan -nan -nan -nan 864 
+  Bin 1864: 864 -nan -nan -nan -nan -nan -nan -nan -nan -nan 865 
+  Bin 1865: 865 -nan -nan -nan -nan -nan -nan -nan -nan -nan 866 
+  Bin 1866: 866 -nan -nan -nan -nan -nan -nan -nan -nan -nan 867 
+  Bin 1867: 867 -nan -nan -nan -nan -nan -nan -nan -nan -nan 868 
+  Bin 1868: 868 -nan -nan -nan -nan -nan -nan -nan -nan -nan 869 
+  Bin 1869: 869 -nan -nan -nan -nan -nan -nan -nan -nan -nan 870 
+  Bin 1870: 870 -nan -nan -nan -nan -nan -nan -nan -nan -nan 871 
+  Bin 1871: 871 -nan -nan -nan -nan -nan -nan -nan -nan -nan 872 
+  Bin 1872: 872 -nan -nan -nan -nan -nan -nan -nan -nan -nan 873 
+  Bin 1873: 873 -nan -nan -nan -nan -nan -nan -nan -nan -nan 874 
+  Bin 1874: 874 -nan -nan -nan -nan -nan -nan -nan -nan -nan 875 
+  Bin 1875: 875 -nan -nan -nan -nan -nan -nan -nan -nan -nan 876 
+  Bin 1876: 876 -nan -nan -nan -nan -nan -nan -nan -nan -nan 877 
+  Bin 1877: 877 -nan -nan -nan -nan -nan -nan -nan -nan -nan 878 
+  Bin 1878: 878 -nan -nan -nan -nan -nan -nan -nan -nan -nan 879 
+  Bin 1879: 879 -nan -nan -nan -nan -nan -nan -nan -nan -nan 880 
+  Bin 1880: 880 -nan -nan -nan -nan -nan -nan -nan -nan -nan 881 
+  Bin 1881: 881 -nan -nan -nan -nan -nan -nan -nan -nan -nan 882 
+  Bin 1882: 882 -nan -nan -nan -nan -nan -nan -nan -nan -nan 883 
+  Bin 1883: 883 -nan -nan -nan -nan -nan -nan -nan -nan -nan 884 
+  Bin 1884: 884 -nan -nan -nan -nan -nan -nan -nan -nan -nan 885 
+  Bin 1885: 885 -nan -nan -nan -nan -nan -nan -nan -nan -nan 886 
+  Bin 1886: 886 -nan -nan -nan -nan -nan -nan -nan -nan -nan 887 
+  Bin 1887: 887 -nan -nan -nan -nan -nan -nan -nan -nan -nan 888 
+  Bin 1888: 888 -nan -nan -nan -nan -nan -nan -nan -nan -nan 889 
+  Bin 1889: 889 -nan -nan -nan -nan -nan -nan -nan -nan -nan 890 
+  Bin 1890: 890 -nan -nan -nan -nan -nan -nan -nan -nan -nan 891 
+  Bin 1891: 891 -nan -nan -nan -nan -nan -nan -nan -nan -nan 892 
+  Bin 1892: 892 -nan -nan -nan -nan -nan -nan -nan -nan -nan 893 
+  Bin 1893: 893 -nan -nan -nan -nan -nan -nan -nan -nan -nan 894 
+  Bin 1894: 894 -nan -nan -nan -nan -nan -nan -nan -nan -nan 895 
+  Bin 1895: 895 -nan -nan -nan -nan -nan -nan -nan -nan -nan 896 
+  Bin 1896: 896 -nan -nan -nan -nan -nan -nan -nan -nan -nan 897 
+  Bin 1897: 897 -nan -nan -nan -nan -nan -nan -nan -nan -nan 898 
+  Bin 1898: 898 -nan -nan -nan -nan -nan -nan -nan -nan -nan 899 
+  Bin 1899: 899 -nan -nan -nan -nan -nan -nan -nan -nan -nan 900 
+  Bin 1900: 900 -nan -nan -nan -nan -nan -nan -nan -nan -nan 901 
+  Bin 1901: 901 -nan -nan -nan -nan -nan -nan -nan -nan -nan 902 
+  Bin 1902: 902 -nan -nan -nan -nan -nan -nan -nan -nan -nan 903 
+  Bin 1903: 903 -nan -nan -nan -nan -nan -nan -nan -nan -nan 904 
+  Bin 1904: 904 -nan -nan -nan -nan -nan -nan -nan -nan -nan 905 
+  Bin 1905: 905 -nan -nan -nan -nan -nan -nan -nan -nan -nan 906 
+  Bin 1906: 906 -nan -nan -nan -nan -nan -nan -nan -nan -nan 907 
+  Bin 1907: 907 -nan -nan -nan -nan -nan -nan -nan -nan -nan 908 
+  Bin 1908: 908 -nan -nan -nan -nan -nan -nan -nan -nan -nan 909 
+  Bin 1909: 909 -nan -nan -nan -nan -nan -nan -nan -nan -nan 910 
+  Bin 1910: 910 -nan -nan -nan -nan -nan -nan -nan -nan -nan 911 
+  Bin 1911: 911 -nan -nan -nan -nan -nan -nan -nan -nan -nan 912 
+  Bin 1912: 912 -nan -nan -nan -nan -nan -nan -nan -nan -nan 913 
+  Bin 1913: 913 -nan -nan -nan -nan -nan -nan -nan -nan -nan 914 
+  Bin 1914: 914 -nan -nan -nan -nan -nan -nan -nan -nan -nan 915 
+  Bin 1915: 915 -nan -nan -nan -nan -nan -nan -nan -nan -nan 916 
+  Bin 1916: 916 -nan -nan -nan -nan -nan -nan -nan -nan -nan 917 
+  Bin 1917: 917 -nan -nan -nan -nan -nan -nan -nan -nan -nan 918 
+  Bin 1918: 918 -nan -nan -nan -nan -nan -nan -nan -nan -nan 919 
+  Bin 1919: 919 -nan -nan -nan -nan -nan -nan -nan -nan -nan 920 
+  Bin 1920: 920 -nan -nan -nan -nan -nan -nan -nan -nan -nan 921 
+  Bin 1921: 921 -nan -nan -nan -nan -nan -nan -nan -nan -nan 922 
+  Bin 1922: 922 -nan -nan -nan -nan -nan -nan -nan -nan -nan 923 
+  Bin 1923: 923 -nan -nan -nan -nan -nan -nan -nan -nan -nan 924 
+  Bin 1924: 924 -nan -nan -nan -nan -nan -nan -nan -nan -nan 925 
+  Bin 1925: 925 -nan -nan -nan -nan -nan -nan -nan -nan -nan 926 
+  Bin 1926: 926 -nan -nan -nan -nan -nan -nan -nan -nan -nan 927 
+  Bin 1927: 927 -nan -nan -nan -nan -nan -nan -nan -nan -nan 928 
+  Bin 1928: 928 -nan -nan -nan -nan -nan -nan -nan -nan -nan 929 
+  Bin 1929: 929 -nan -nan -nan -nan -nan -nan -nan -nan -nan 930 
+  Bin 1930: 930 -nan -nan -nan -nan -nan -nan -nan -nan -nan 931 
+  Bin 1931: 931 -nan -nan -nan -nan -nan -nan -nan -nan -nan 932 
+  Bin 1932: 932 -nan -nan -nan -nan -nan -nan -nan -nan -nan 933 
+  Bin 1933: 933 -nan -nan -nan -nan -nan -nan -nan -nan -nan 934 
+  Bin 1934: 934 -nan -nan -nan -nan -nan -nan -nan -nan -nan 935 
+  Bin 1935: 935 -nan -nan -nan -nan -nan -nan -nan -nan -nan 936 
+  Bin 1936: 936 -nan -nan -nan -nan -nan -nan -nan -nan -nan 937 
+  Bin 1937: 937 -nan -nan -nan -nan -nan -nan -nan -nan -nan 938 
+  Bin 1938: 938 -nan -nan -nan -nan -nan -nan -nan -nan -nan 939 
+  Bin 1939: 939 -nan -nan -nan -nan -nan -nan -nan -nan -nan 940 
+  Bin 1940: 940 -nan -nan -nan -nan -nan -nan -nan -nan -nan 941 
+  Bin 1941: 941 -nan -nan -nan -nan -nan -nan -nan -nan -nan 942 
+  Bin 1942: 942 -nan -nan -nan -nan -nan -nan -nan -nan -nan 943 
+  Bin 1943: 943 -nan -nan -nan -nan -nan -nan -nan -nan -nan 944 
+  Bin 1944: 944 -nan -nan -nan -nan -nan -nan -nan -nan -nan 945 
+  Bin 1945: 945 -nan -nan -nan -nan -nan -nan -nan -nan -nan 946 
+  Bin 1946: 946 -nan -nan -nan -nan -nan -nan -nan -nan -nan 947 
+  Bin 1947: 947 -nan -nan -nan -nan -nan -nan -nan -nan -nan 948 
+  Bin 1948: 948 -nan -nan -nan -nan -nan -nan -nan -nan -nan 949 
+  Bin 1949: 949 -nan -nan -nan -nan -nan -nan -nan -nan -nan 950 
+  Bin 1950: 950 -nan -nan -nan -nan -nan -nan -nan -nan -nan 951 
+  Bin 1951: 951 -nan -nan -nan -nan -nan -nan -nan -nan -nan 952 
+  Bin 1952: 952 -nan -nan -nan -nan -nan -nan -nan -nan -nan 953 
+  Bin 1953: 953 -nan -nan -nan -nan -nan -nan -nan -nan -nan 954 
+  Bin 1954: 954 -nan -nan -nan -nan -nan -nan -nan -nan -nan 955 
+  Bin 1955: 955 -nan -nan -nan -nan -nan -nan -nan -nan -nan 956 
+  Bin 1956: 956 -nan -nan -nan -nan -nan -nan -nan -nan -nan 957 
+  Bin 1957: 957 -nan -nan -nan -nan -nan -nan -nan -nan -nan 958 
+  Bin 1958: 958 -nan -nan -nan -nan -nan -nan -nan -nan -nan 959 
+  Bin 1959: 959 -nan -nan -nan -nan -nan -nan -nan -nan -nan 960 
+  Bin 1960: 960 -nan -nan -nan -nan -nan -nan -nan -nan -nan 961 
+  Bin 1961: 961 -nan -nan -nan -nan -nan -nan -nan -nan -nan 962 
+  Bin 1962: 962 -nan -nan -nan -nan -nan -nan -nan -nan -nan 963 
+  Bin 1963: 963 -nan -nan -nan -nan -nan -nan -nan -nan -nan 964 
+  Bin 1964: 964 -nan -nan -nan -nan -nan -nan -nan -nan -nan 965 
+  Bin 1965: 965 -nan -nan -nan -nan -nan -nan -nan -nan -nan 966 
+  Bin 1966: 966 -nan -nan -nan -nan -nan -nan -nan -nan -nan 967 
+  Bin 1967: 967 -nan -nan -nan -nan -nan -nan -nan -nan -nan 968 
+  Bin 1968: 968 -nan -nan -nan -nan -nan -nan -nan -nan -nan 969 
+  Bin 1969: 969 -nan -nan -nan -nan -nan -nan -nan -nan -nan 970 
+  Bin 1970: 970 -nan -nan -nan -nan -nan -nan -nan -nan -nan 971 
+  Bin 1971: 971 -nan -nan -nan -nan -nan -nan -nan -nan -nan 972 
+  Bin 1972: 972 -nan -nan -nan -nan -nan -nan -nan -nan -nan 973 
+  Bin 1973: 973 -nan -nan -nan -nan -nan -nan -nan -nan -nan 974 
+  Bin 1974: 974 -nan -nan -nan -nan -nan -nan -nan -nan -nan 975 
+  Bin 1975: 975 -nan -nan -nan -nan -nan -nan -nan -nan -nan 976 
+  Bin 1976: 976 -nan -nan -nan -nan -nan -nan -nan -nan -nan 977 
+  Bin 1977: 977 -nan -nan -nan -nan -nan -nan -nan -nan -nan 978 
+  Bin 1978: 978 -nan -nan -nan -nan -nan -nan -nan -nan -nan 979 
+  Bin 1979: 979 -nan -nan -nan -nan -nan -nan -nan -nan -nan 980 
+  Bin 1980: 980 -nan -nan -nan -nan -nan -nan -nan -nan -nan 981 
+  Bin 1981: 981 -nan -nan -nan -nan -nan -nan -nan -nan -nan 982 
+  Bin 1982: 982 -nan -nan -nan -nan -nan -nan -nan -nan -nan 983 
+  Bin 1983: 983 -nan -nan -nan -nan -nan -nan -nan -nan -nan 984 
+  Bin 1984: 984 -nan -nan -nan -nan -nan -nan -nan -nan -nan 985 
+  Bin 1985: 985 -nan -nan -nan -nan -nan -nan -nan -nan -nan 986 
+  Bin 1986: 986 -nan -nan -nan -nan -nan -nan -nan -nan -nan 987 
+  Bin 1987: 987 -nan -nan -nan -nan -nan -nan -nan -nan -nan 988 
+  Bin 1988: 988 -nan -nan -nan -nan -nan -nan -nan -nan -nan 989 
+  Bin 1989: 989 -nan -nan -nan -nan -nan -nan -nan -nan -nan 990 
+  Bin 1990: 990 -nan -nan -nan -nan -nan -nan -nan -nan -nan 991 
+  Bin 1991: 991 -nan -nan -nan -nan -nan -nan -nan -nan -nan 992 
+  Bin 1992: 992 -nan -nan -nan -nan -nan -nan -nan -nan -nan 993 
+  Bin 1993: 993 -nan -nan -nan -nan -nan -nan -nan -nan -nan 994 
+  Bin 1994: 994 -nan -nan -nan -nan -nan -nan -nan -nan -nan 995 
+  Bin 1995: 995 -nan -nan -nan -nan -nan -nan -nan -nan -nan 996 
+  Bin 1996: 996 -nan -nan -nan -nan -nan -nan -nan -nan -nan 997 
+  Bin 1997: 997 -nan -nan -nan -nan -nan -nan -nan -nan -nan 998 
+  Bin 1998: 998 -nan -nan -nan -nan -nan -nan -nan -nan -nan 999 
+  Bin 1999: 999 -nan -nan -nan -nan -nan -nan -nan -nan -nan 1000 
+
+Det 8:
+  Bin 0: -90 -nan -nan -nan -nan -nan -nan -nan -nan -nan -89 
+  Bin 1: -89 -nan -nan -nan -nan -nan -nan -nan -nan -nan -88 
+  Bin 2: -88 -nan -nan -nan -nan -nan -nan -nan -nan -nan -87 
+  Bin 3: -87 -nan -nan -nan -nan -nan -nan -nan -nan -nan -86 
+  Bin 4: -86 -nan -nan -nan -nan -nan -nan -nan -nan -nan -85 
+  Bin 5: -85 -nan -nan -nan -nan -nan -nan -nan -nan -nan -84 
+  Bin 6: -84 -nan -nan -nan -nan -nan -nan -nan -nan -nan -83 
+  Bin 7: -83 -nan -nan -nan -nan -nan -nan -nan -nan -nan -82 
+  Bin 8: -82 -nan -nan -nan -nan -nan -nan -nan -nan -nan -81 
+  Bin 9: -81 -nan -nan -nan -nan -nan -nan -nan -nan -nan -80 
+  Bin 10: -80 -nan -nan -nan -nan -nan -nan -nan -nan -nan -79 
+  Bin 11: -79 -nan -nan -nan -nan -nan -nan -nan -nan -nan -78 
+  Bin 12: -78 -78 -78 -78 -78 -78 -78 -78 -77.1264 -77.1264 -77 
+  Bin 13: -77 -76.9904 -76.9835 -76.9547 -76.8464 -76.6807 -76.588 -76.3824 -76.2114 -76.0992 -76 
+  Bin 14: -76 -75.489 -75.2971 -75.2194 -75.1439 -75.1292 -75.1292 -75.0596 -75.046 -74.993 -75 
+  Bin 15: -75 -74.0669 -74.0669 -74.0669 -74.0669 -74.0669 -74.0669 -74.0669 -74.0669 -73.9664 -74 
+  Bin 16: -74 -73.9893 -73.9617 -73.9416 -73.9094 -73.8484 -73.8455 -73.7786 -73.596 -73.4013 -73 
+  Bin 17: -73 -72.9013 -72.8108 -72.7579 -72.7174 -72.6638 -72.604 -72.5406 -72.4456 -72.2998 -72 
+  Bin 18: -72 -71.9145 -71.735 -71.527 -71.4733 -71.4562 -71.4223 -71.3803 -71.3238 -71.2139 -71 
+  Bin 19: -71 -70.746 -70.6366 -70.5786 -70.5322 -70.4986 -70.4685 -70.4241 -70.3613 -70.2473 -70 
+  Bin 20: -70 -69.7361 -69.6293 -69.5683 -69.5306 -69.4999 -69.4672 -69.4188 -69.3601 -69.251 -69 
+  Bin 21: -69 -68.7373 -68.6256 -68.57 -68.5275 -68.4975 -68.4637 -68.419 -68.3607 -68.2477 -68 
+  Bin 22: -68 -67.7256 -67.6136 -67.5524 -67.5093 -67.4758 -67.4445 -67.4044 -67.3485 -67.248 -67 
+  Bin 23: -67 -66.6872 -66.5494 -66.478 -66.4268 -66.3934 -66.3632 -66.3246 -66.2694 -66.1767 -66 
+  Bin 24: -66 -65.7482 -65.6048 -65.5262 -65.4724 -65.4284 -65.403 -65.3684 -65.3146 -65.2187 -65 
+  Bin 25: -65 -64.6921 -64.5561 -64.4809 -64.4319 -64.398 -64.3629 -64.3195 -64.2642 -64.176 -64 
+  Bin 26: -64 -63.7677 -63.6224 -63.537 -63.4825 -63.4355 -63.3935 -63.3439 -63.2732 -63.1703 -63 
+  Bin 27: -63 -62.8075 -62.7018 -62.6294 -62.5823 -62.5389 -62.498 -62.4458 -62.3738 -62.2457 -62 
+  Bin 28: -62 -61.7589 -61.6497 -61.5809 -61.5345 -61.4984 -61.4592 -61.409 -61.3402 -61.2253 -61 
+  Bin 29: -61 -60.7484 -60.6349 -60.564 -60.5181 -60.4772 -60.4399 -60.3951 -60.3308 -60.2201 -60 
+  Bin 30: -60 -59.7368 -59.6186 -59.5476 -59.4966 -59.4555 -59.418 -59.3718 -59.3076 -59.2059 -59 
+  Bin 31: -59 -58.7644 -58.6417 -58.5747 -58.5287 -58.4876 -58.4463 -58.3978 -58.3297 -58.2153 -58 
+  Bin 32: -58 -57.752 -57.631 -57.565 -57.5131 -57.47 -57.4364 -57.3872 -57.3244 -57.2182 -57 
+  Bin 33: -57 -56.7418 -56.6198 -56.5481 -56.497 -56.4594 -56.4187 -56.3731 -56.3071 -56.205 -56 
+  Bin 34: -56 -55.7409 -55.6125 -55.5342 -55.4836 -55.4429 -55.4076 -55.3616 -55.3011 -55.2021 -55 
+  Bin 35: -55 -54.7637 -54.65 -54.5838 -54.5396 -54.5008 -54.4542 -54.4021 -54.3342 -54.2248 -54 
+  Bin 36: -54 -53.7111 -53.5804 -53.5011 -53.4427 -53.3898 -53.3546 -53.3109 -53.2549 -53.1662 -53 
+  Bin 37: -53 -52.7591 -52.6232 -52.5453 -52.4935 -52.4517 -52.4102 -52.3634 -52.2973 -52.1931 -52 
+  Bin 38: -52 -51.7784 -51.6616 -51.5901 -51.5384 -51.4944 -51.4584 -51.4108 -51.3427 -51.23 -51 
+  Bin 39: -51 -50.7279 -50.6084 -50.5395 -50.4906 -50.4523 -50.4117 -50.3627 -50.2987 -50.1997 -50 
+  Bin 40: -50 -49.7437 -49.6086 -49.5279 -49.4703 -49.4236 -49.383 -49.3384 -49.2771 -49.1886 -49 
+  Bin 41: -49 -48.746 -48.6044 -48.5209 -48.4617 -48.4107 -48.3671 -48.3185 -48.2574 -48.1642 -48 
+  Bin 42: -48 -47.7674 -47.6412 -47.5659 -47.5124 -47.4677 -47.4163 -47.3609 -47.291 -47.1888 -47 
+  Bin 43: -47 -46.7783 -46.6577 -46.5814 -46.5231 -46.4756 -46.4236 -46.3663 -46.2941 -46.1845 -46 
+  Bin 44: -46 -45.7761 -45.658 -45.5782 -45.5165 -45.4611 -45.4141 -45.3599 -45.2908 -45.1903 -45 
+  Bin 45: -45 -44.772 -44.6451 -44.5647 -44.5014 -44.4472 -44.3971 -44.3441 -44.2762 -44.175 -44 
+  Bin 46: -44 -43.7795 -43.6638 -43.5887 -43.5304 -43.4779 -43.4239 -43.3653 -43.2931 -43.1892 -43 
+  Bin 47: -43 -42.7756 -42.6524 -42.5748 -42.514 -42.4594 -42.4091 -42.3523 -42.2824 -42.1801 -42 
+  Bin 48: -42 -41.7751 -41.6495 -41.5709 -41.5109 -41.4602 -41.4047 -41.3445 -41.2719 -41.1715 -41 
+  Bin 49: -41 -40.8081 -40.6947 -40.6187 -40.5565 -40.5033 -40.4507 -40.3881 -40.309 -40.1972 -40 
+  Bin 50: -40 -39.785 -39.6755 -39.6021 -39.5448 -39.4926 -39.4459 -39.3906 -39.319 -39.2069 -39 
+  Bin 51: -39 -38.7623 -38.6422 -38.5651 -38.5065 -38.4511 -38.4063 -38.3526 -38.2849 -38.1858 -38 
+  Bin 52: -38 -37.7672 -37.6353 -37.5542 -37.4897 -37.4348 -37.3825 -37.327 -37.2619 -37.1684 -37 
+  Bin 53: -37 -36.7906 -36.6722 -36.597 -36.5378 -36.4856 -36.4257 -36.3636 -36.288 -36.1838 -36 
+  Bin 54: -36 -35.7937 -35.6897 -35.6215 -35.5691 -35.5216 -35.4662 -35.405 -35.3306 -35.2166 -35 
+  Bin 55: -35 -34.7675 -34.6524 -34.573 -34.5068 -34.4479 -34.4075 -34.3603 -34.2969 -34.1985 -34 
+  Bin 56: -34 -33.7608 -33.6434 -33.5689 -33.5104 -33.4574 -33.4064 -33.3508 -33.2828 -33.1813 -33 
+  Bin 57: -33 -32.8078 -32.7101 -32.6502 -32.6025 -32.5613 -32.5036 -32.4359 -32.3479 -32.2177 -32 
+  Bin 58: -32 -31.784 -31.682 -31.6158 -31.566 -31.5246 -31.4723 -31.4118 -31.333 -31.2182 -31 
+  Bin 59: -31 -30.7681 -30.6326 -30.5481 -30.4861 -30.4355 -30.3931 -30.3451 -30.2803 -30.179 -30 
+  Bin 60: -30 -29.766 -29.64 -29.5637 -29.5077 -29.4605 -29.4156 -29.3628 -29.2947 -29.1914 -29 
+  Bin 61: -29 -28.775 -28.6508 -28.5751 -28.5162 -28.467 -28.4204 -28.3675 -28.2977 -28.1914 -28 
+  Bin 62: -28 -27.779 -27.667 -27.5932 -27.5382 -27.4919 -27.4457 -27.3907 -27.3175 -27.2045 -27 
+  Bin 63: -27 -26.7538 -26.6263 -26.5448 -26.4851 -26.4364 -26.3934 -26.3438 -26.2805 -26.1842 -26 
+  Bin 64: -26 -25.7761 -25.6465 -25.5666 -25.5054 -25.4574 -25.4105 -25.3606 -25.2954 -25.1969 -25 
+  Bin 65: -25 -24.8328 -24.7482 -24.6969 -24.658 -24.6259 -24.5564 -24.4613 -24.3325 -24.1687 -24 
+  Bin 66: -24 -23.5936 -23.4027 -23.2847 -23.2107 -23.1651 -23.149 -23.1315 -23.1049 -23.0604 -23 
+  Bin 67: -23 -22.9685 -22.9151 -22.8308 -22.7201 -22.5925 -22.4486 -22.2898 -22.1541 -22.0588 -22 
+  Bin 68: -22 -21.899 -21.8385 -21.7992 -21.7726 -21.7537 -21.6918 -21.6049 -21.4777 -21.3002 -21 
+  Bin 69: -21 -20.8445 -20.6835 -20.557 -20.4609 -20.3897 -20.3505 -20.3074 -20.251 -20.1619 -20 
+  Bin 70: -20 -19.7872 -19.687 -19.6203 -19.5679 -19.5181 -19.4771 -19.4249 -19.3513 -19.2337 -19 
+  Bin 71: -19 -18.7581 -18.6353 -18.5616 -18.5088 -18.4642 -18.4217 -18.373 -18.3088 -18.2085 -18 
+  Bin 72: -18 -17.7573 -17.645 -17.5794 -17.5314 -17.4897 -17.4401 -17.3826 -17.3096 -17.1987 -17 
+  Bin 73: -17 -16.7899 -16.6826 -16.6132 -16.5598 -16.5141 -16.4665 -16.409 -16.331 -16.2077 -16 
+  Bin 74: -16 -15.8049 -15.7063 -15.6437 -15.5968 -15.5558 -15.5047 -15.4431 -15.3594 -15.2275 -15 
+  Bin 75: -15 -14.7725 -14.654 -14.5803 -14.5255 -14.48 -14.4385 -14.3877 -14.3163 -14.2073 -14 
+  Bin 76: -14 -13.7675 -13.6391 -13.5618 -13.5073 -13.4647 -13.4185 -13.3654 -13.2959 -13.1919 -13 
+  Bin 77: -13 -12.7495 -12.6142 -12.5297 -12.4673 -12.4201 -12.3817 -12.3351 -12.272 -12.178 -12 
+  Bin 78: -12 -11.7766 -11.6409 -11.561 -11.5041 -11.4582 -11.4122 -11.3583 -11.2876 -11.183 -11 
+  Bin 79: -11 -10.7769 -10.6556 -10.5779 -10.5193 -10.4698 -10.426 -10.3736 -10.3052 -10.1948 -10 
+  Bin 80: -10 -9.77446 -9.63795 -9.55511 -9.49827 -9.45464 -9.40677 -9.35483 -9.28766 -9.18436 -9 
+  Bin 81: -9 -8.77684 -8.65548 -8.58075 -8.52638 -8.47949 -8.43491 -8.38114 -8.30863 -8.19732 -8 
+  Bin 82: -8 -7.7693 -7.64291 -7.56442 -7.50405 -7.45422 -7.41111 -7.36181 -7.29487 -7.1934 -7 
+  Bin 83: -7 -6.77466 -6.65044 -6.57324 -6.51872 -6.4733 -6.43079 -6.37988 -6.3107 -6.19998 -6 
+  Bin 84: -6 -5.77572 -5.66371 -5.59431 -5.54331 -5.5001 -5.45524 -5.40036 -5.32813 -5.21366 -5 
+  Bin 85: -5 -4.75814 -4.62947 -4.55153 -4.49545 -4.45032 -4.40749 -4.35882 -4.29348 -4.19402 -4 
+  Bin 86: -4 -3.77249 -3.65138 -3.57631 -3.52269 -3.47899 -3.43713 -3.38593 -3.31806 -3.21016 -3 
+  Bin 87: -3 -2.75109 -2.63172 -2.55766 -2.50356 -2.4584 -2.41587 -2.36791 -2.30114 -2.20125 -2 
+  Bin 88: -2 -1.75406 -1.62099 -1.5441 -1.48763 -1.44186 -1.40136 -1.35304 -1.28797 -1.18691 -1 
+  Bin 89: -1 -0.772719 -0.649594 -0.577449 -0.527336 -0.487993 -0.437625 -0.379275 -0.303678 -0.19222 0 
+  Bin 90: 0 0.146356 0.231505 0.285606 0.326136 0.359703 0.427107 0.517773 0.649206 0.832656 1 
+  Bin 91: 1 1.48396 1.67264 1.76568 1.81741 1.84705 1.85404 1.86251 1.87452 1.90716 2 
+  Bin 92: 2 2.04501 2.15613 2.30375 2.42172 2.50883 2.59216 2.69907 2.83139 2.94332 3 
+  Bin 93: 3 3.1547 3.21695 3.24044 3.2526 3.26062 3.2949 3.34572 3.43476 3.60556 4 
+  Bin 94: 4 4.14961 4.34622 4.48656 4.58253 4.65406 4.68637 4.72723 4.78151 4.86306 5 
+  Bin 95: 5 5.22422 5.34743 5.42536 5.48269 5.53063 5.57512 5.62771 5.7003 5.80838 6 
+  Bin 96: 6 6.20493 6.33026 6.40865 6.46724 6.51395 6.56139 6.61868 6.69435 6.80845 7 
+  Bin 97: 7 7.22224 7.34647 7.42521 7.48298 7.52936 7.57436 7.62913 7.70219 7.80851 8 
+  Bin 98: 8 8.20297 8.32963 8.41001 8.46809 8.51492 8.5601 8.61563 8.68843 8.80226 9 
+  Bin 99: 9 9.23554 9.36085 9.43712 9.49412 9.54213 9.58554 9.63819 9.70556 9.80732 10 
+  Bin 100: 10 10.2281 10.3657 10.449 10.5079 10.553 10.5956 10.647 10.7156 10.8184 11 
+  Bin 101: 11 11.2206 11.3457 11.4227 11.4781 11.5238 11.5681 11.623 11.6943 11.8057 12 
+  Bin 102: 12 12.228 12.3525 12.4316 12.4881 12.534 12.5774 12.6284 12.6966 12.802 13 
+  Bin 103: 13 13.2224 13.3493 13.4283 13.4857 13.5306 13.5741 13.6263 13.6998 13.8116 14 
+  Bin 104: 14 14.244 14.3795 14.4641 14.5239 14.5719 14.6151 14.6642 14.7286 14.8225 15 
+  Bin 105: 15 15.221 15.3818 15.4813 15.5556 15.6176 15.6641 15.7175 15.781 15.8678 16 
+  Bin 106: 16 16.1649 16.2915 16.3844 16.4597 16.528 16.5859 16.651 16.7281 16.833 17 
+  Bin 107: 17 17.1979 17.3147 17.3981 17.4674 17.5319 17.5951 17.6614 17.7402 17.8477 18 
+  Bin 108: 18 18.1716 18.2903 18.3758 18.4445 18.4999 18.5762 18.6498 18.7351 18.8397 19 
+  Bin 109: 19 19.1617 19.2769 19.3597 19.4313 19.5019 19.565 19.6378 19.7262 19.8391 20 
+  Bin 110: 20 20.1772 20.2938 20.3806 20.4529 20.5194 20.5771 20.6419 20.7189 20.8259 21 
+  Bin 111: 21 21.1862 21.3145 21.4077 21.4869 21.5601 21.6155 21.6764 21.7484 21.8479 22 
+  Bin 112: 22 22.1644 22.2674 22.3421 22.4055 22.4632 22.5351 22.6134 22.6997 22.819 23 
+  Bin 113: 23 23.1907 23.3074 23.3943 23.468 23.5366 23.5884 23.646 23.7175 23.8175 24 
+  Bin 114: 24 24.2056 24.3317 24.4217 24.498 24.5683 24.6249 24.6842 24.7519 24.8448 25 
+  Bin 115: 25 25.2016 25.3238 25.4064 25.4739 25.5373 25.602 25.6704 25.7476 25.8429 26 
+  Bin 116: 26 26.1793 26.2981 26.3746 26.4354 26.4903 26.5648 26.6407 26.7262 26.8357 27 
+  Bin 117: 27 27.1837 27.2949 27.3784 27.4513 27.5217 27.5789 27.6445 27.7179 27.8229 28 
+  Bin 118: 28 28.2073 28.335 28.432 28.5189 28.6033 28.6501 28.7007 28.7634 28.8531 29 
+  Bin 119: 29 29.1554 29.2473 29.3146 29.3737 29.4283 29.5107 29.5948 29.6848 29.807 30 
+  Bin 120: 30 30.1936 30.2983 30.3697 30.426 30.4782 30.5421 30.6152 30.6993 30.8101 31 
+  Bin 121: 31 31.2012 31.3246 31.4112 31.4855 31.5562 31.6185 31.6842 31.7614 31.8602 32 
+  Bin 122: 32 32.1571 32.256 32.3328 32.4016 32.4653 32.5329 32.6066 32.6932 32.8135 33 
+  Bin 123: 33 33.2031 33.3246 33.4143 33.4897 33.5573 33.6188 33.6831 33.7578 33.8532 34 
+  Bin 124: 34 34.1517 34.2661 34.3543 34.4261 34.4907 34.567 34.6461 34.7335 34.8422 35 
+  Bin 125: 35 35.1664 35.2763 35.3576 35.4282 35.4948 35.5586 35.6311 35.7171 35.8276 36 
+  Bin 126: 36 36.1965 36.3276 36.4185 36.4935 36.5646 36.6215 36.683 36.7533 36.8498 37 
+  Bin 127: 37 37.1786 37.2886 37.367 37.4302 37.4866 37.5558 37.6281 37.7153 37.8309 38 
+  Bin 128: 38 38.1866 38.3059 38.394 38.47 38.5404 38.604 38.6716 38.7482 38.8455 39 
+  Bin 129: 39 39.1657 39.2816 39.3684 39.4456 39.5181 39.5815 39.6481 39.7236 39.8298 40 
+  Bin 130: 40 40.1959 40.3091 40.391 40.4587 40.5227 40.5925 40.6628 40.7385 40.8391 41 
+  Bin 131: 41 41.1689 41.2869 41.3777 41.4613 41.5454 41.6134 41.6814 41.756 41.8545 42 
+  Bin 132: 42 42.1678 42.266 42.3412 42.4098 42.4744 42.5386 42.6088 42.6907 42.8024 43 
+  Bin 133: 43 43.1901 43.3051 43.3871 43.4594 43.5303 43.5999 43.6667 43.7448 43.8456 44 
+  Bin 134: 44 44.1797 44.2873 44.3648 44.4345 44.5051 44.5739 44.6475 44.7254 44.8316 45 
+  Bin 135: 45 45.1712 45.2817 45.3631 45.4314 45.4957 45.5636 45.6324 45.7129 45.8235 46 
+  Bin 136: 46 46.1875 46.2949 46.3697 46.4283 46.4794 46.5505 46.6223 46.7063 46.8215 47 
+  Bin 137: 47 47.1824 47.2931 47.3706 47.435 47.4972 47.5583 47.6282 47.715 47.8341 48 
+  Bin 138: 48 48.184 48.2945 48.3712 48.4338 48.4855 48.5457 48.6141 48.6982 48.8153 49 
+  Bin 139: 49 49.1815 49.3049 49.393 49.4618 49.5196 49.5804 49.6485 49.7301 49.8388 50 
+  Bin 140: 50 50.1697 50.2774 50.3526 50.4115 50.463 50.521 50.5909 50.6783 50.8059 51 
+  Bin 141: 51 51.2021 51.322 51.402 51.4635 51.5169 51.5676 51.6279 51.7058 51.8172 52 
+  Bin 142: 52 52.212 52.3478 52.4397 52.5075 52.5658 52.6147 52.6688 52.7387 52.8353 53 
+  Bin 143: 53 53.1878 53.3126 53.402 53.4723 53.5332 53.5888 53.6541 53.7321 53.8374 54 
+  Bin 144: 54 54.191 54.3093 54.3908 54.4539 54.5083 54.5675 54.633 54.7146 54.8268 55 
+  Bin 145: 55 55.1854 55.3023 55.3891 55.4562 55.5138 55.5654 55.6285 55.704 55.816 56 
+  Bin 146: 56 56.1898 56.2961 56.3676 56.4233 56.4688 56.5284 56.5991 56.6848 56.806 57 
+  Bin 147: 57 57.204 57.33 57.4153 57.4822 57.5376 57.5903 57.6512 57.7225 57.8295 58 
+  Bin 148: 58 58.1973 58.3142 58.3911 58.4565 58.5156 58.5697 58.6295 58.7045 58.8179 59 
+  Bin 149: 59 59.1731 59.2775 59.3492 59.4089 59.4615 59.5176 59.5856 59.6728 59.7992 60 
+  Bin 150: 60 60.1953 60.3001 60.3731 60.4265 60.4704 60.5256 60.586 60.6633 60.7796 61 
+  Bin 151: 61 61.2194 61.3479 61.4259 61.4856 61.5382 61.5828 61.634 61.7025 61.8077 62 
+  Bin 152: 62 62.2861 62.4379 62.5356 62.6019 62.6527 62.6896 62.7307 62.7861 62.8602 63 
+  Bin 153: 63 63.167 63.3078 63.4087 63.4876 63.5474 63.6207 63.6936 63.7726 63.8639 64 
+  Bin 154: 64 64.1605 64.2737 64.3677 64.4455 64.5151 64.5765 64.6447 64.7233 64.8292 65 
+  Bin 155: 65 65.1729 65.2779 65.3573 65.4246 65.4901 65.5509 65.6169 65.6983 65.8179 66 
+  Bin 156: 66 66.2123 66.3342 66.4183 66.4913 66.5609 66.6068 66.6613 66.7294 66.8282 67 
+  Bin 157: 67 67.1853 67.3153 67.4022 67.4661 67.5183 67.5863 67.6613 67.7404 67.8406 68 
+  Bin 158: 68 68.2242 68.3537 68.438 68.5081 68.5758 68.6373 68.6985 68.7712 68.8568 69 
+  Bin 159: 69 69.1591 69.2709 69.3522 69.4176 69.4795 69.5577 69.6314 69.7144 69.8311 70 
+  Bin 160: 70 70.198 70.3184 70.4103 70.4906 70.5655 70.61 70.6634 70.736 70.8294 71 
+  Bin 161: 71 71.1704 71.2778 71.3495 71.4066 71.4576 71.5396 71.6231 71.7169 71.833 72 
+  Bin 162: 72 72.1661 72.2821 72.374 72.4594 72.5424 72.5962 72.6575 72.7275 72.8263 73 
+  Bin 163: 73 73.2002 73.3299 73.4133 73.4785 73.5396 73.6044 73.6797 73.7508 73.8528 74 
+  Bin 164: 74 74.3105 74.5028 74.6264 74.7184 74.7856 74.811 74.8401 74.8702 74.9015 75 
+  Bin 165: 75 75.1009 75.2145 75.3064 75.3593 75.3928 75.5413 75.6307 75.7342 75.8589 76 
+  Bin 166: 76 76.1547 76.2976 76.4516 76.6043 76.7038 76.7453 76.791 76.8548 76.9075 77 
+  Bin 167: 77 77.0249 77.0362 77.0603 77.1032 77.1308 77.1806 77.2779 77.4615 77.769 78 
+  Bin 168: 78 78.1732 78.2674 78.3517 78.4875 78.6196 78.6196 78.6196 78.6196 78.6196 79 
+  Bin 169: 79 -nan -nan -nan -nan -nan -nan -nan -nan -nan 80 
+  Bin 170: 80 -nan -nan -nan -nan -nan -nan -nan -nan -nan 81 
+  Bin 171: 81 -nan -nan -nan -nan -nan -nan -nan -nan -nan 82 
+  Bin 172: 82 -nan -nan -nan -nan -nan -nan -nan -nan -nan 83 
+  Bin 173: 83 -nan -nan -nan -nan -nan -nan -nan -nan -nan 84 
+  Bin 174: 84 -nan -nan -nan -nan -nan -nan -nan -nan -nan 85 
+  Bin 175: 85 -nan -nan -nan -nan -nan -nan -nan -nan -nan 86 
+  Bin 176: 86 -nan -nan -nan -nan -nan -nan -nan -nan -nan 87 
+  Bin 177: 87 -nan -nan -nan -nan -nan -nan -nan -nan -nan 88 
+  Bin 178: 88 -nan -nan -nan -nan -nan -nan -nan -nan -nan 89 
+  Bin 179: 89 -nan -nan -nan -nan -nan -nan -nan -nan -nan 90 
+
diff --git a/Projects/AlPhaPha/2024/Calibration/VAMOS/FPMW/Toff/Toff13.txt b/Projects/AlPhaPha/2024/Calibration/VAMOS/FPMW/Toff/Toff13.txt
new file mode 100644
index 0000000000000000000000000000000000000000..51a70b80cddd9bb6f0cf9e74d4b8290da9b398a7
--- /dev/null
+++ b/Projects/AlPhaPha/2024/Calibration/VAMOS/FPMW/Toff/Toff13.txt
@@ -0,0 +1,20 @@
+0
+0.325609
+-1.79704
+-0.687164
+-0.316989
+0.49171
+1.11539
+1.31082
+1.87908
+1.58154
+1.77268
+2.55213
+3.0334
+3.24897
+3.70459
+3.94321
+3.84525
+4.17475
+4.14283
+5.33984
diff --git a/Projects/AlPhaPha/2024/Calibration/VAMOS/FPMW/Toff/Toff14.txt b/Projects/AlPhaPha/2024/Calibration/VAMOS/FPMW/Toff/Toff14.txt
new file mode 100644
index 0000000000000000000000000000000000000000..975edc1b4130b150737da6b53face6f835c7d5af
--- /dev/null
+++ b/Projects/AlPhaPha/2024/Calibration/VAMOS/FPMW/Toff/Toff14.txt
@@ -0,0 +1,20 @@
+0
+0.174307
+0.996033
+1.53927
+1.99862
+2.7097
+2.73914
+3.25584
+3.88895
+4.83654
+3.99504
+4.69817
+4.92476
+5.00315
+7.33663
+5.57066
+5.36919
+4.05489
+6.27275
+6.50876
diff --git a/Projects/AlPhaPha/2024/Calibration/VAMOS/FPMW/Toff/Toff23.txt b/Projects/AlPhaPha/2024/Calibration/VAMOS/FPMW/Toff/Toff23.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4622cb8fddf682f03b3238120c3176e031a64ce1
--- /dev/null
+++ b/Projects/AlPhaPha/2024/Calibration/VAMOS/FPMW/Toff/Toff23.txt
@@ -0,0 +1,20 @@
+0
+0.325467
+-1.79725
+-0.687394
+-0.317231
+0.491523
+1.11516
+1.31058
+1.87884
+1.58129
+1.77246
+2.55191
+3.03317
+3.24875
+3.70444
+3.94315
+3.845
+4.17457
+4.14264
+5.33968
diff --git a/Projects/AlPhaPha/2024/Calibration/VAMOS/FPMW/Toff/Toff24.txt b/Projects/AlPhaPha/2024/Calibration/VAMOS/FPMW/Toff/Toff24.txt
new file mode 100644
index 0000000000000000000000000000000000000000..884e3c0348abe629dae799bb8fba44235e0177dc
--- /dev/null
+++ b/Projects/AlPhaPha/2024/Calibration/VAMOS/FPMW/Toff/Toff24.txt
@@ -0,0 +1,20 @@
+0
+0.174154
+0.995939
+1.53922
+1.99863
+2.70971
+2.73921
+3.256
+3.88915
+4.8367
+3.99502
+4.69809
+4.92467
+5.00315
+7.33665
+5.57061
+5.36919
+4.05489
+6.27283
+6.50878
diff --git a/Projects/AlPhaPha/2024/ChainSnake.sh b/Projects/AlPhaPha/2024/ChainSnake.sh
new file mode 100644
index 0000000000000000000000000000000000000000..803ddc86a8c527b4041334495aca8b5fc5c7ccd8
--- /dev/null
+++ b/Projects/AlPhaPha/2024/ChainSnake.sh
@@ -0,0 +1,4 @@
+for run in {201..259}; do
+    ./convert_snakemake_generic.sh "$run"
+    wait
+done
diff --git a/Projects/AlPhaPha/2024/CleanCmake.sh b/Projects/AlPhaPha/2024/CleanCmake.sh
new file mode 100644
index 0000000000000000000000000000000000000000..c3fc6f712e29b23c9b2a9fb8d515dc5897ff18fd
--- /dev/null
+++ b/Projects/AlPhaPha/2024/CleanCmake.sh
@@ -0,0 +1,6 @@
+rm ./CMakeCache.txt
+rm -rf ./CMakeFiles
+rm ./cmake_install.cmake
+rm ./compile_commands.json
+rm ./Makefile
+cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=1 ./
diff --git a/Projects/AlPhaPha/2024/Snakefile b/Projects/AlPhaPha/2024/Snakefile
index 374a37903e8b95991d85c8577260d2d86afebc5d..31a1324137eafefcad008487cd9ba04ee6f03f4d 100644
--- a/Projects/AlPhaPha/2024/Snakefile
+++ b/Projects/AlPhaPha/2024/Snakefile
@@ -3,7 +3,7 @@ import subprocess
 
 # Lire le répertoire d'entrée depuis les arguments de configuration
 #input_directory = config["folder"]
-input_directory = os.getcwd() + "/../DataMacro/output/run_246"
+input_directory = os.getcwd() + "/../DataMacro/output/run_247"
 origin = [] 
 # Iterate over files in input_directory
 for filename in os.listdir(input_directory):
@@ -12,14 +12,14 @@ for filename in os.listdir(input_directory):
     origin.append(filename)
 
 # Définir le répertoire de sortie pour les fichiers convertis
-phy_directory = os.getcwd() + "/../DataMacro/output/analysis/run_246"
+phy_directory = os.getcwd() + "/../DataMacro/output/analysis/run_247"
 #phy_directory = "./"
 
 # define target files directory
 analysedfile = []
 for inputfile in origin:
   #analysedfile.append("/home/morfouacep/Physics/NPTool/nptool/Projects/ana_e850/root/analysis/"+inputfile.replace("_raw_","_"))
-  analysedfile.append( os.getcwd() + "/../DataMacro/output/analysis/run_246/"+inputfile)
+  analysedfile.append( os.getcwd() + "/../DataMacro/output/analysis/run_247/"+inputfile)
 
 ## batch rules
 rule all:
@@ -33,6 +33,6 @@ rule npanalysis:
     output:
         f"{phy_directory}/{{name}}.root"
     shell:
-        "npanalysis -T {input} RawTree -C Calibration.txt -D pista_e850_2024.detector -O {output}"
+        "npanalysis -T {input} RawTree -C Calibration.txt -D pista_e850_2024_alex.detector -O {output}"
 
 
diff --git a/Projects/AlPhaPha/2024/configs/ConfigFPMW.dat b/Projects/AlPhaPha/2024/configs/ConfigFPMW.dat
index ca33e19a33032d30f3deed9f5861f65402851ef2..22bfd54c11e32918e9e142582d448e84d923dc0b 100644
--- a/Projects/AlPhaPha/2024/configs/ConfigFPMW.dat
+++ b/Projects/AlPhaPha/2024/configs/ConfigFPMW.dat
@@ -1,2 +1,2 @@
 ConfigFPMW
-LINEA_PATH  ./configs/Linearisation.txt
+LINEA_PATH  ./Calibration/VAMOS/FPMW/Linearisation.txt
diff --git a/Projects/AlPhaPha/2024/configs/ConfigIC.dat b/Projects/AlPhaPha/2024/configs/ConfigIC.dat
index b81f9e5915c43cb423b6d3c3ca800d20f3446860..c07810759210e260a7cb4c7f82a2bf6c22499e0f 100644
--- a/Projects/AlPhaPha/2024/configs/ConfigIC.dat
+++ b/Projects/AlPhaPha/2024/configs/ConfigIC.dat
@@ -1,3 +1,7 @@
 ConfigIC
-  %LOAD_Z_SPLINE ./Calibration/VAMOS/CHIO/Z_spline.root
   DATA_YEAR 2024
+  LOAD_Z_SPLINE ./Calibration/VAMOS/CHIO/Z_spline.root
+  LOAD_Z_SPLINE_EVAL ./Calibration/VAMOS/CHIO/Chio_Z_Spline_Eval.txt
+  LOAD_DE_SPLINE ./Calibration/VAMOS/CHIO/Spline_DE.root
+  LOAD_Y_SPLINE ./Calibration/VAMOS/CHIO/Spline_Y.root
+  LOAD_XY0_PROFILE ./Calibration/VAMOS/CHIO/ICXY_Profile.root
diff --git a/Projects/AlPhaPha/2024/convert_snakemake_generic.sh b/Projects/AlPhaPha/2024/convert_snakemake_generic.sh
index 526de6830dad5f03f9665d95bbb4ff429da0db62..da114d18691f4c6fe0bbd855c5f11f13b9f731e4 100755
--- a/Projects/AlPhaPha/2024/convert_snakemake_generic.sh
+++ b/Projects/AlPhaPha/2024/convert_snakemake_generic.sh
@@ -1,6 +1,32 @@
 #!/bin/bash
+
+#Declare run number
+#RUN_NUMBER="246"
+RUN_NUMBER="$1"
+num_cores=$(( $(nproc) - 4 ))
+
+# Check if Snakefile exists
+if [[ ! -f "Snakefile" ]]; then
+  echo "Error: Snakefile not found!"
+  exit 1
+fi
+
+# Replace all occurrences of run_<anything> with run_244
+sed -i "s/run_[a-zA-Z0-9]\{3\}/run_${RUN_NUMBER}/g" Snakefile
+echo "All occurrences of 'run_*' have been replaced with 'run_${RUN_NUMBER}' in Snakefile."
+
 echo "- executing snakemake file for npanalysis..."
-snakemake --cores 30 --forceall --keep-incomplete --keep-going --rerun-incomplete
+snakemake --cores ${num_cores} --forceall --keep-incomplete --keep-going --rerun-incomplete --restart-times 3
+
 echo "- snakemake executed successfully!"
 echo "- Merging file..."
-root -q '../DataMacro/Merger.C(30,"root/analysis","Run246","../DataMacro/output/analysis/run_246/run_raw_246_")'
+
+OName="\"Run${RUN_NUMBER}\""
+OPATH="\"root/analysis\""
+Path="\"../DataMacro/output/analysis/run_${RUN_NUMBER}/run_raw_${RUN_NUMBER}_\""
+
+root -l -q "../DataMacro/Merger.C(30,${OPATH},${OName},${Path})"
+
+wait 
+
+rm ../DataMacro/output/analysis/run_${RUN_NUMBER}/run_raw_*.root
diff --git a/Projects/AlPhaPha/2024/macro/AoQ/DrawAoQ.C b/Projects/AlPhaPha/2024/macro/AoQ/DrawAoQ.C
index c9215a320566e3a391df8783819c6ed0218b6727..515cbf965efc291ae21d98c0cae5988a3114ac71 100644
--- a/Projects/AlPhaPha/2024/macro/AoQ/DrawAoQ.C
+++ b/Projects/AlPhaPha/2024/macro/AoQ/DrawAoQ.C
@@ -1,9 +1,11 @@
+#include <TChain.h>
 TChain* chain;
+
 void DrawAoQ(int sec=8, float time_offset=0){
   chain = new TChain("PhysicsTree");
   //chain->Add("../../root/analysis/run_48_calib.root");
   //chain->Add("../../root/analysis/run_48.root");
-  chain->Add("../../root/analysis/run_55.root");
+  chain->Add("../../root/analysis/Run247AoQ.root");
 
   // T13 //
   TString to_draw = Form("FF_Brho/3.10761* (FF_T13+%f)/FF_D13*29.9792*sqrt(1-pow(FF_D13,2)/(pow((FF_T13+%f)*29.9792,2)))>>h(1000,2.5,4.5)",time_offset,time_offset) ;
diff --git a/Projects/AlPhaPha/2024/macro/Calibration/IC/ClearCalib.sh b/Projects/AlPhaPha/2024/macro/Calibration/IC/ClearCalib.sh
new file mode 100644
index 0000000000000000000000000000000000000000..e2674c8b2dd688ca068eb55edae35106d89acac6
--- /dev/null
+++ b/Projects/AlPhaPha/2024/macro/Calibration/IC/ClearCalib.sh
@@ -0,0 +1,3 @@
+rm ../../../Calibration/VAMOS/CHIO/ICXY_Profile.root
+rm ../../../Calibration/VAMOS/CHIO/Spline_Y.root
+rm ../../../Calibration/VAMOS/CHIO/Spline_DE.root
diff --git a/Projects/AlPhaPha/2024/macro/Calibration/IC/Output/ReadMe.md b/Projects/AlPhaPha/2024/macro/Calibration/IC/Output/ReadMe.md
new file mode 100644
index 0000000000000000000000000000000000000000..ae505d9092a2a100ef1a1e6f5b3368d68e9fb6f8
--- /dev/null
+++ b/Projects/AlPhaPha/2024/macro/Calibration/IC/Output/ReadMe.md
@@ -0,0 +1 @@
+# Put here the output profile
diff --git a/Projects/AlPhaPha/2024/macro/Calibration/IC/ReadMe.md b/Projects/AlPhaPha/2024/macro/Calibration/IC/ReadMe.md
new file mode 100644
index 0000000000000000000000000000000000000000..9a7569ca605b90c8605faed605e284265ff87f15
--- /dev/null
+++ b/Projects/AlPhaPha/2024/macro/Calibration/IC/ReadMe.md
@@ -0,0 +1,137 @@
+# Calibration of IC
+The goal of this directory is to obtain the charge of the fission fragment.
+To do so we need to flatten the DE E plot and make it as precise as possible.
+
+- All the calibration of this directory are automatically savec in Calibration/VAMOS 
+- You should comment the spline line in config/ConfigIC.dat
+
+## Step 0 : Clean calibration
+
+Execute the ClearCalib.sh macro to clear all the calibration from the analysis.
+
+Then run an analysis to generate a clean root file name VamosCalib$RunNumber$.root
+
+## Step 1 : Time offset
+The first step is to calculate the time offset needed to calculate the DriftTime.
+To do so we focus on multiplicity two event in the MWPC and make sure that the time of those events are the same.
+
+The macro is straightforward : put an unanalysed run in the tchain and let it generate the calibration.
+
+
+## Step 2 : Correction of IC
+
+Now that we have the DriftTime we have a very precise way to pinpoint the position in Y of the fission fragment.
+
+The next step of the calibration is to make all the segment of the IC react the same way in Y. Expect for the IC 0 that need a X
+correction as well. We will take IC1 as the benchmark. 
+
+### IC0
+IC0_XYCorrections is the macro made to correct the defects in XY. It make the ratio between IC1 and IC0 for event and then make a
+profile of this 3D plot to get a surface representing the ratio between the two segments. 
+
+After that it applies a correction to flatten the surface.
+
+### IC2-4
+
+The steps for the following IC is a bit more complicated. The goal is to flatten the response of each segment iteratively with
+respect to the previous one.
+
+To do so, we take IC1 as the baseline and make sucessive ration of the IC : IC[i]/IC[i-1] vs DrifTime. Then we make a spline of
+those histograms.
+
+Those spline are the one used to flatten the distribution and are the calibration that we seek from this macro.
+
+**If you want to improve the Z resolution** : The IC 2-3 are well behaved but the 4 has a factor 2 in the analysis.
+Therefore one should be very careful about the range in which the spline is made for IC4 !! 
+This is a point to be improved !
+The range in Y should be custom for each section of the chio. One should take time to code something to make this range finding
+automatic, for instance project the ratio in a histogram then fitting it by a gaussian and take the range as mean +- 3 * sigma.
+
+# Step 3 : Correction of DE in Y
+
+If you are attentive you must have asked yourself : if everything is aligned on IC1 behaviour what about IC1 dependency in Y ?
+
+This is precisely what we correct in this macro and what is save in SplineDE.
+This macro also serve of a visualisation for the improvement of the DE with the previous corrections.
+
+**This macro should be where you see improvement**
+
+This is how you are supposed to use it : 
+- First : 
+```
+root 'DEYcorrection.C(false,false)'
+```
+This will generate several histogram and most importantly the DEvs DriftTime histogram. 
+When it is done make a cut on one of the charge for each DEvsDriftTime plot and save them in the "Output/CutDeCorr.root" file.
+Name them CutZ CutZ0 CutZ02 CutZ023 CutZ0234, they correspond to different corrections of the IC.
+
+- Then :
+```
+root 'DEYcorrection.C(true,true)'
+```
+**TWO TIMES IN A ROW** 
+Then you should see all the histograms filled and beautiful.
+
+**Now rerun an analysis and the IC.DE and IC.Eres should give a good vamos plot**
+- You should uncomment the spline line in config/ConfigIC.dat
+
+# Step 4 : Cut Auto for Z id
+
+This macro is made to spare you the hassle of manually doing the cut of each of the charge.
+
+It works by taking a VAMOS DE_E plot, applying \*-1 to the value of the histo and then parsing on the X axis by taking projection
+on the Y axis on a bin width set by the user.
+
+**Feed it using the associated HistoFiller just give it a calibrated run**
+
+Then for each projection it search the peaks that correspond to the gap between each charges
+
+Finally, it links those point together and drop the lines where the number of points is inferior to a threshold. Then it link
+those line together to form TCUTG.
+
+Here are the principals parameters you should care about to get good cuts :
+
+- Step : The bin distance between each point on the X axis. Lowering this parameter make more precise cut at the cost of computing
+speed.
+
+- BinSize : Range in bin on which make the projection on the Y axis. The higher it is the more precise the peak finding will be
+but be careful as it has some weird behaviour on edges !.
+
+- sigma : Tspectrum parameter I don't understand
+
+- Threshold : Size of the peak to be found .
+
+This macro output the TCUTG in a root file in the output folder.
+
+There is a version FineTuning of this macro : if you need good cut use this one but be wary that now there is two Threshold at the
+beginning of the macro : ThresholdX and ThresholdY it correspond to the max distance of point on those axes. You should play
+around with value until it works.
+
+In this finetuning macro you can add manually cut at the edges of the DE_E and rename them CUT NUmber. Then by using
+SortAndRenameTcutG you can rename them with the convention used by SplineChio.C and with SaveTcutGToFile you can save them.
+
+# Step 5 : Flattening of the DE.
+
+SplineChio.C make a spline for each cut generated in Step4 and modify each event according to it's distance to the two nearest
+spline. 
+
+The macro should be used as following :
+
+```
+root
+.L SplineChio.C
+
+SplineChio() # Only for first use after analysis
+
+MakeSpline() # Generate the spline and save them in the Calibration file
+
+ApplySpline() #Generate the calibration of each peak to get Z and save them in the Calibration dir
+```
+
+Don't forget to modify the configs/ConfigIC.dat with the proper token ! 
+- LOAD_Z_SPLINE ./Calibration/VAMOS/CHIO/Z_Spline.root
+- LOAD_Z_SPLINE_EVAL ./Calibration/VAMOS/CHIO/Chio_Z_Spline_Eval.txt
+
+When it's done and the graphs look alright rerun the analysis.
+
+Then you can fill and fit the histo using the associated macro to see the resolution in Z. :) 
diff --git a/Projects/AlPhaPha/2024/macro/Calibration/IC/Step1/ToffGenerator.cxx b/Projects/AlPhaPha/2024/macro/Calibration/IC/Step1/ToffGenerator.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..432ebbf14b7b0931e46145f6e4cb51d8a462ff70
--- /dev/null
+++ b/Projects/AlPhaPha/2024/macro/Calibration/IC/Step1/ToffGenerator.cxx
@@ -0,0 +1,530 @@
+#include "TICPhysics.h"
+#include "TTimeData.h"
+#include <TCanvas.h>
+#include <TChain.h>
+#include <TF1.h>
+#include <TFile.h>
+#include <TH2.h>
+#include <TLatex.h>
+#include <iostream>
+using namespace std;
+
+vector<int> SortSection(UShort_t STargFocal[2]);
+vector<double> ToffCalc(vector<double> ToffP2P);
+
+void ToffGenerator(bool Create = true ){
+
+    //===========================================================================================================
+    //                                              Setters
+    //===========================================================================================================
+
+    TChain* chain = new TChain("PhysicsTree");
+    chain->Add("../../../../root/analysis/VamosCalib247.root");
+
+
+    Int_t M13 , M14, M23, M24 ;// we will fetch multiplicity during
+                               // the getentry
+
+    UShort_t S13[20] , S14[20] , S23[20] , S24[20];
+
+    TTimeData *Time = new TTimeData();
+    TICPhysics *IC = new TICPhysics();
+
+    chain->SetBranchStatus("MTOF_FP0_T0VN", true);
+    chain->SetBranchAddress("MTOF_FP0_T0VN", &S13);
+
+    chain->SetBranchStatus("MTOF_FP0_T1VN", true);
+    chain->SetBranchAddress("MTOF_FP0_T1VN", &S14);
+
+    chain->SetBranchStatus("MTOF_FP1_T0VN", true);
+    chain->SetBranchAddress("MTOF_FP1_T0VN", &S23);
+
+    chain->SetBranchStatus("MTOF_FP1_T1VN", true);
+    chain->SetBranchAddress("MTOF_FP1_T1VN", &S24);
+
+    chain->SetBranchStatus("Time", true);
+    chain->SetBranchAddress("Time", &Time);
+
+    chain->SetBranchStatus("IC", true);
+    chain->SetBranchAddress("IC", &IC);
+    //===========================================================================================================
+    //                              Histograms
+    //===========================================================================================================
+
+    TH2F *hToff13;
+    TH2F *hToff14;
+    TH2F *hToff23;
+    TH2F *hToff24;
+
+    TH2F *hToffOnline13;
+    TH2F *hToffOnline14;
+    TH2F *hToffOnline23;
+    TH2F *hToffOnline24;
+
+
+    double xmin[4], xmax[4];
+    double ymin[4], ymax[4];
+    int binx = 20 , biny = 400;
+    
+    xmin[0] = 0 ; xmax[0] = 20 ; ymin[0] = -10 ; ymax[0] = 10 ;
+    xmin[1] = 0 ; xmax[1] = 20 ; ymin[1] = -10 ; ymax[1] = 10 ;
+    xmin[2] = 0 ; xmax[2] = 20 ; ymin[2] = -10 ; ymax[2] = 10 ;
+    xmin[3] = 0 ; xmax[3] = 20 ; ymin[3] = -10 ; ymax[3] = 10 ;
+
+    // Toff from aligning AoQ
+    double Toff[20] = {0, 588.0, 588.5, 587.95, 588.04, 587.72, 587.92, 587.9, 587.9, 588.66, 588.80, 588.67, 588.64, 588.75, 588.47, 588.65, 588.65, 588.67, 589.05, 590.3};
+
+    if (Create == true){
+
+        hToff13 = new TH2F("Toff13","Toff13",binx ,xmin[0] , xmax[0], biny, ymin[0], ymax[0]);
+        hToff14 = new TH2F("Toff14","Toff14",binx ,xmin[1] , xmax[1], biny, ymin[1], ymax[1]);
+        hToff23 = new TH2F("Toff23","Toff23",binx ,xmin[2] , xmax[2], biny, ymin[2], ymax[2]);
+        hToff24 = new TH2F("Toff24","Toff24",binx ,xmin[3] , xmax[3], biny, ymin[3], ymax[3]);
+
+        hToffOnline13 = new TH2F("ToffOnline13","ToffOnline13",binx ,xmin[0] , xmax[0], biny, ymin[0], ymax[0]);
+        hToffOnline14 = new TH2F("ToffOnline14","ToffOnline14",binx ,xmin[1] , xmax[1], biny, ymin[1], ymax[1]);
+        hToffOnline23 = new TH2F("ToffOnline23","ToffOnline23",binx ,xmin[2] , xmax[2], biny, ymin[2], ymax[2]);
+        hToffOnline24 = new TH2F("ToffOnline24","ToffOnline24",binx ,xmin[3] , xmax[3], biny, ymin[3], ymax[3]);
+
+
+        //===========================================================================================================
+        //                            Loop on entries
+        //===========================================================================================================
+        int Nentries = chain->GetEntries();
+        //int Nentries = 1000000;
+        auto start = std::chrono::high_resolution_clock::now();
+
+        for (int e = 0; e < Nentries; e++) {
+
+            chain->GetEntry(e);
+            if (e % 100000  == 0 && e > 0 ) {
+                auto now = std::chrono::high_resolution_clock::now();
+                std::chrono::duration<double> elapsed = now - start;
+                double avgTimePerIteration = elapsed.count() / e;
+                double timeLeft = avgTimePerIteration * (Nentries - e);
+
+                std::cout << "********** Estimated time left: " << int(timeLeft) << " seconds **********" << "\r" << flush;
+            }
+
+            // Get Multiplicity
+            M13 = Time->GetMWPC13Mult();
+            M14 = Time->GetMWPC14Mult();
+            M23 = Time->GetMWPC23Mult();
+            M24 = Time->GetMWPC24Mult();
+            
+
+
+            for (int i=0 ; i<M13 ; i++){
+                S13[i] = Time->GetSection_MWPC3(i);
+                S23[i] = Time->GetSection_MWPC3(i);
+            }
+ 
+            for (int i=0 ; i<M14 ; i++){
+                S14[i] = Time->GetSection_MWPC4(i);
+                S24[i] = Time->GetSection_MWPC4(i);
+            }
+
+            if (M13 == 2 && (abs(S13[0]-S13[1]) == 1)){
+                vector<int> Pos = SortSection(S13);
+                hToff13->Fill(S13[0],  Time->GetTime_MWPC13(Pos[0])  - Time->GetTime_MWPC13(Pos[1])  );
+
+                hToffOnline13->Fill(S13[0], (Time->GetTime_MWPC13(Pos[0]) - Toff[S13[0]]) -( Time->GetTime_MWPC13(Pos[1]) -Toff[S13[1]]  )); 
+            }
+            if (M23 == 2 && (abs(S23[0]-S23[1]) == 1)){
+                vector<int> Pos = SortSection(S23);
+                hToff23->Fill(S23[0],Time->GetTime_MWPC23(Pos[0]) - Time->GetTime_MWPC23(Pos[1])); 
+                hToffOnline23->Fill(S23[0],(Time->GetTime_MWPC23(Pos[0]) - Toff[S23[0]]) -( Time->GetTime_MWPC23(Pos[1])  -Toff[S23[1]]  )   ); 
+            }
+
+            if (M14 == 2 && (abs(S14[0]-S14[1]) == 1)){
+                vector<int> Pos = SortSection(S14);
+                hToff14->Fill(S14[0],Time->GetTime_MWPC14(Pos[0]) - Time->GetTime_MWPC14(Pos[1])); 
+                hToffOnline14->Fill(S14[0],(Time->GetTime_MWPC14(Pos[0]) - Toff[S14[0]]) -( Time->GetTime_MWPC14(Pos[1])  -Toff[S14[1]]  )   ); 
+            }
+
+            if (M24 == 2 && (abs(S24[0]-S24[1]) == 1)){
+                vector<int> Pos = SortSection(S24);
+                hToff24->Fill(S24[0],Time->GetTime_MWPC24(Pos[0]) - Time->GetTime_MWPC24(Pos[1])); 
+                hToffOnline24->Fill(S24[0],(Time->GetTime_MWPC24(Pos[0]) - Toff[S24[0]]) -( Time->GetTime_MWPC24(Pos[1])  -Toff[S24[1]]  )   ); 
+            }
+        } // End loop event
+
+        TFile *out = new TFile("output/ToffHisto.root","recreate");
+        hToff13->Write();
+        hToff14->Write();
+        hToff23->Write();
+        hToff24->Write();
+        
+        hToffOnline13->Write();
+        hToffOnline14->Write();
+        hToffOnline23->Write();
+        hToffOnline24->Write();
+    }// end if create
+
+    else {
+
+        TFile *in = new TFile("output/ToffHisto.root","open");
+        hToff13 = (TH2F*)in->Get("Toff13");
+        hToff14 = (TH2F*)in->Get("Toff14");
+        hToff23 = (TH2F*)in->Get("Toff23");
+        hToff24 = (TH2F*)in->Get("Toff24");
+
+        hToffOnline13 = (TH2F*)in->Get("ToffOnline13");
+        hToffOnline14 = (TH2F*)in->Get("ToffOnline14");
+        hToffOnline23 = (TH2F*)in->Get("ToffOnline23");
+        hToffOnline24 = (TH2F*)in->Get("ToffOnline24");
+
+    }
+
+    int MinX = 2;
+    hToff13->SetMinimum(MinX);
+    hToff14->SetMinimum(MinX);
+    hToff23->SetMinimum(MinX);
+    hToff24->SetMinimum(MinX);
+    //===========================================================================================================
+    //                                       Proj fit
+    //===========================================================================================================
+    TCanvas* c13 = new TCanvas("c13", "Toff13", 1800, 1600);
+    c13->Divide(5, 4); // Adjust rows/columns to fit the number of bins (e.g., 20 bins here)
+
+    TCanvas* c14 = new TCanvas("c14", "Toff14", 1800, 1600);
+    c14->Divide(5, 4); // Adjust rows/columns to fit the number of bins (e.g., 20 bins here)
+
+    TCanvas* c23 = new TCanvas("c23", "Toff23", 1800, 1600);
+    c23->Divide(5, 4); // Adjust rows/columns to fit the number of bins (e.g., 20 bins here)
+
+    TCanvas* c24 = new TCanvas("c24", "Toff24", 1800, 1600);
+    c24->Divide(5, 4); // Adjust rows/columns to fit the number of bins (e.g., 20 bins here)
+
+    vector<double> P2PToff13(19), P2PToff14(19) , P2PToff23(19), P2PToff24(19);
+
+    // Loop through bins and draw each fit
+    for (int binX = 1; binX <= hToff13->GetNbinsX()-1; ++binX) {
+
+        c13->cd(binX); 
+
+        // Create a projection along the Y-axis for the current X-bin
+        TH1F* proj = (TH1F*)hToff13->ProjectionY(Form("proj_bin13%d", binX), binX, binX);
+        proj->SetMinimum(MinX);
+
+        // Fit the projection with a Gaussian
+        TF1* fit = new TF1(Form("fit_bin%d", binX), "gaus",-5,5);
+
+        // Select subpad and draw
+        proj->Fit(fit,"R"); // Suppress output with "Q"
+        proj->Draw();
+        fit->SetLineColor(kRed); // Optional: Differentiate fit line
+        fit->Draw("SAME");
+
+        // Retrieve fit parameters
+        double mean = fit->GetParameter(1);
+        double sigma = fit->GetParameter(2);
+        P2PToff13.at(binX-1) = mean;
+
+        // Add fit results to the subpad using TLatex
+        TLatex text;
+        text.SetNDC();
+        text.SetTextSize(0.05);
+        text.SetTextAlign(13); // Align at top-left corner
+        text.DrawLatex(0.15, 0.85, Form("#mu = %.2f", mean));
+        text.DrawLatex(0.15, 0.75, Form("#sigma = %.2f", sigma));
+
+
+        // Save the mean to the text file
+
+    }
+    // Display the canvas
+    c13->Update();
+
+    // Loop through bins and draw each fit
+    for (int binX = 1; binX <= hToff14->GetNbinsX()-1; ++binX) {
+
+        c14->cd(binX); 
+
+        // Create a projection along the Y-axis for the current X-bin
+        TH1F* proj = (TH1F*)hToff14->ProjectionY(Form("proj_bin14%d", binX), binX, binX);
+        proj->SetMinimum(MinX);
+
+        // Fit the projection with a Gaussian
+        TF1* fit = new TF1(Form("fit_bin%d", binX), "gaus");
+        // Select subpad and draw
+        proj->Fit(fit); // Suppress output with "Q"
+        proj->Draw();
+        fit->SetLineColor(kRed); // Optional: Differentiate fit line
+        fit->Draw("SAME");
+
+        // Retrieve fit parameters
+        double mean = fit->GetParameter(1);
+        double sigma = fit->GetParameter(2);
+        P2PToff14.at(binX-1) = mean;
+
+
+
+        // Add fit results to the subpad using TLatex
+        TLatex text;
+        text.SetNDC();
+        text.SetTextSize(0.05);
+        text.SetTextAlign(13); // Align at top-left corner
+        text.DrawLatex(0.15, 0.85, Form("#mu = %.2f", mean));
+        text.DrawLatex(0.15, 0.75, Form("#sigma = %.2f", sigma));
+
+
+        // Save the mean to the text file
+
+    }
+    // Display the canvas
+    c14->Update();
+
+
+    // Loop through bins and draw each fit
+    for (int binX = 1; binX <= hToff23->GetNbinsX()-1; ++binX) {
+
+        c23->cd(binX); 
+
+        // Create a projection along the Y-axis for the current X-bin
+        TH1F* proj = (TH1F*)hToff23->ProjectionY(Form("proj_bin23%d", binX), binX, binX);
+        proj->SetMinimum(MinX);
+
+        // Fit the projection with a Gaussian
+        TF1* fit = new TF1(Form("fit_bin%d", binX), "gaus");
+
+        // Select subpad and draw
+        proj->Fit(fit); // Suppress output with "Q"
+        proj->Draw();
+        fit->SetLineColor(kRed); // Optional: Differentiate fit line
+        fit->Draw("SAME");
+
+        // Retrieve fit parameters
+        double mean = fit->GetParameter(1);
+        double sigma = fit->GetParameter(2);
+        P2PToff23.at(binX-1) = mean;
+
+        // Add fit results to the subpad using TLatex
+        TLatex text;
+        text.SetNDC();
+        text.SetTextSize(0.05);
+        text.SetTextAlign(13); // Align at top-left corner
+        text.DrawLatex(0.15, 0.85, Form("#mu = %.2f", mean));
+        text.DrawLatex(0.15, 0.75, Form("#sigma = %.2f", sigma));
+
+
+        // Save the mean to the text file
+
+    }
+    // Display the canvas
+    c23->Update();
+
+    // Loop through bins and draw each fit
+    for (int binX = 1; binX <= hToff24->GetNbinsX()-1; ++binX) {
+
+        c24->cd(binX); 
+
+        // Create a projection along the Y-axis for the current X-bin
+        TH1F* proj = (TH1F*)hToff24->ProjectionY(Form("proj_bin24%d", binX), binX, binX);
+        proj->SetMinimum(MinX);
+
+        // Fit the projection with a Gaussian
+        TF1* fit = new TF1(Form("fit_bin%d", binX), "gaus");
+
+        // Select subpad and draw
+        proj->Fit(fit,"Q"); // Suppress output with "Q"
+        proj->Draw();
+        fit->SetLineColor(kRed); // Optional: Differentiate fit line
+        fit->Draw("SAME");
+
+        // Retrieve fit parameters
+        double mean = fit->GetParameter(1);
+        double sigma = fit->GetParameter(2);
+        P2PToff24.at(binX-1) = mean;
+
+        // Add fit results to the subpad using TLatex
+        TLatex text;
+        text.SetNDC();
+        text.SetTextSize(0.05);
+        text.SetTextAlign(13); // Align at top-left corner
+        text.DrawLatex(0.15, 0.85, Form("#mu = %.2f", mean));
+        text.DrawLatex(0.15, 0.75, Form("#sigma = %.2f", sigma));
+
+
+        // Save the mean to the text file
+
+    }
+    // Display the canvas
+    c24->Update();  
+
+    //===========================================================================================================
+    //                                          Saving correction
+    //===========================================================================================================
+
+
+    //First we get the absolute correction to use on each section
+    vector<double> Toff13, Toff14, Toff23, Toff24;
+    Toff13 = ToffCalc(P2PToff13);
+    Toff23 = ToffCalc(P2PToff23);
+    Toff14 = ToffCalc(P2PToff14);
+    Toff24 = ToffCalc(P2PToff24);
+
+    //Save it in a txt file
+    ofstream o13("../../../../Calibration/VAMOS/FPMW/Toff/Toff13.txt");
+    ofstream o23("../../../../Calibration/VAMOS/FPMW/Toff/Toff23.txt");
+    ofstream o14("../../../../Calibration/VAMOS/FPMW/Toff/Toff14.txt");
+    ofstream o24("../../../../Calibration/VAMOS/FPMW/Toff/Toff24.txt");
+
+    for (auto &elem : Toff13) o13 << elem << endl;
+    for (auto &elem : Toff14) o14 << elem << endl;
+    for (auto &elem : Toff23) o23 << elem << endl;
+    for (auto &elem : Toff24) o24 << elem << endl;
+
+
+    //===========================================================================================================
+    //                                       Testing correction
+    //===========================================================================================================
+
+
+    TH2F*  hCorrToff13 = new TH2F("CorrToff13","CorrToff13",binx ,xmin[0] , xmax[0], biny, ymin[0], ymax[0]);
+    TH2F*  hCorrToff14 = new TH2F("CorrToff14","CorrToff14",binx ,xmin[1] , xmax[1], biny, ymin[1], ymax[1]);
+    TH2F*  hCorrToff23 = new TH2F("CorrToff23","CorrToff23",binx ,xmin[2] , xmax[2], biny, ymin[2], ymax[2]);
+    TH2F*  hCorrToff24 = new TH2F("CorrToff24","CorrToff24",binx ,xmin[3] , xmax[3], biny, ymin[3], ymax[3]);
+
+
+    int Nentries = chain->GetEntries();
+    //int Nentries = 1000000;
+    auto start = std::chrono::high_resolution_clock::now();
+
+    for (int e = 0; e < Nentries; e++) {
+        chain->GetEntry(e);
+        
+        if (e % 100000  == 0 && e > 0 ) {
+            auto now = std::chrono::high_resolution_clock::now();
+            std::chrono::duration<double> elapsed = now - start;
+            double avgTimePerIteration = elapsed.count() / e;
+            double timeLeft = avgTimePerIteration * (Nentries - e);
+
+            std::cout << "********** Estimated time left: " << int(timeLeft) << " seconds **********" << "\r" << flush;
+        }
+
+        // Get Multiplicity
+        M13 = Time->GetMWPC13Mult();
+        M14 = Time->GetMWPC14Mult();
+        M23 = Time->GetMWPC23Mult();
+        M24 = Time->GetMWPC24Mult();
+
+        for (int i=0 ; i<M13 ; i++){
+            S13[i] = Time->GetSection_MWPC3(i);
+            S23[i] = Time->GetSection_MWPC3(i);
+        }
+
+        for (int i=0 ; i<M14 ; i++){
+            S14[i] = Time->GetSection_MWPC4(i);
+            S24[i] = Time->GetSection_MWPC4(i);
+        }
+
+
+        if (M13 == 2 && (abs(S13[0]-S13[1]) == 1)){
+            vector<int> Pos = SortSection(S13);
+            hCorrToff13->Fill(S13[0],(Time->GetTime_MWPC13(Pos[0]) - double(Time->GetTS_MWPC13(Pos[0]))+ Toff13.at(S13[0])) - (Time->GetTime_MWPC13(Pos[1]) - double(Time->GetTS_MWPC13(Pos[1]))+ Toff13.at(S13[1])));
+        }
+
+
+        if (M23 == 2 && (abs(S23[0]-S23[1]) == 1)){
+            vector<int> Pos = SortSection(S23);
+            hCorrToff23->Fill(S23[0],(Time->GetTime_MWPC23(Pos[0]) + Toff23.at(S23[0])) - (Time->GetTime_MWPC23(Pos[1]) + Toff23.at(S23[1])));
+        }
+
+
+        if (M14 == 2 && (abs(S14[0]-S14[1]) == 1)){
+            vector<int> Pos = SortSection(S14);
+            hCorrToff14->Fill(S14[0],(Time->GetTime_MWPC14(Pos[0]) + Toff14.at(S14[0])) - (Time->GetTime_MWPC14(Pos[1]) + Toff14.at(S14[1])));
+        }
+
+
+        if (M24 == 2 && (abs(S24[0]-S24[1]) == 1)){
+            vector<int> Pos = SortSection(S24);
+            hCorrToff24->Fill(S24[0],(Time->GetTime_MWPC24(Pos[0]) + Toff24.at(S24[0])) - (Time->GetTime_MWPC24(Pos[1]) + Toff24.at(S24[1])));
+        }
+
+
+    } // End loop event
+
+    //===========================================================================================================
+    //                                       Drawing canvas
+    //===========================================================================================================
+
+    TCanvas *c1 = new TCanvas("c1","c1");
+    c1->Divide(3);
+
+    c1->cd(1);
+    hToff13->Draw("colz");
+    c1->cd(2);
+    hCorrToff13->Draw("colz");
+    c1->cd(3);
+    hToffOnline13->Draw("colz");
+
+
+    TCanvas *c2 = new TCanvas("c2","c2");
+    c2->Divide(3);
+
+    c2->cd(1);
+    hToff23->Draw("colz");
+    c2->cd(2);
+    hCorrToff23->Draw("colz");
+    c2->cd(3);
+    hToffOnline23->Draw("colz");
+
+
+
+    TCanvas *c3 = new TCanvas("c3","c3");
+    c3->Divide(3);
+
+    c3->cd(1);
+    hToff14->Draw("colz");
+    c3->cd(2);
+    hCorrToff14->Draw("colz");
+    c3->cd(3);
+    hToffOnline14->Draw("colz");
+
+
+    TCanvas *c4 = new TCanvas("c4","c4");
+    c4->Divide(3);
+
+    c4->cd(1);
+    hToff24->Draw("colz");
+    c4->cd(2);
+    hCorrToff24->Draw("colz");
+    c4->cd(3);
+    hToffOnline24->Draw("colz");
+
+}
+
+vector<int> SortSection(UShort_t STargFocal[2]){
+    UShort_t FSection ,LSection ;
+    vector<int> Pos(2) ;
+    if (STargFocal[0]<STargFocal[1]){
+        Pos[0] = 0    ;
+        Pos[1]  = 1    ;
+        FSection = STargFocal[0];
+        LSection = STargFocal[1];
+    }
+    else {
+        Pos[0] = 1    ;
+        Pos[1]  = 0   ;
+        FSection = STargFocal[1];
+        LSection = STargFocal[0];    
+    }
+
+    STargFocal[0] = FSection;
+    STargFocal[1] = LSection;
+    return Pos; 
+}
+
+vector<double> ToffCalc(vector<double> ToffP2P){
+
+    vector<double> res;
+    double Sum = 0;
+    res.push_back(Sum); // first section 
+    for (int i=0; i<ToffP2P.size() ; i++){
+        Sum += ToffP2P.at(i);
+        res.push_back(Sum);
+    }
+    return res;
+}
diff --git a/Projects/AlPhaPha/2024/macro/Calibration/IC/Step1/output/ReadMe.md b/Projects/AlPhaPha/2024/macro/Calibration/IC/Step1/output/ReadMe.md
new file mode 100644
index 0000000000000000000000000000000000000000..0650e1ce5f05f0b9418db0d86f6f65b9432ee166
--- /dev/null
+++ b/Projects/AlPhaPha/2024/macro/Calibration/IC/Step1/output/ReadMe.md
@@ -0,0 +1 @@
+# Leave this file to enable data saving
diff --git a/Projects/AlPhaPha/2024/macro/Calibration/IC/Step2/AlignIC.C b/Projects/AlPhaPha/2024/macro/Calibration/IC/Step2/AlignIC.C
new file mode 100644
index 0000000000000000000000000000000000000000..812e7203637c81f313f039fab32d8b5410b6ff9c
--- /dev/null
+++ b/Projects/AlPhaPha/2024/macro/Calibration/IC/Step2/AlignIC.C
@@ -0,0 +1,639 @@
+#include "TICPhysics.h"
+#include "TTimeData.h"
+#ifdef TICPhysics
+#include <TICPhysics.h>
+#endif
+#include <TCanvas.h>
+#include <TChain.h>
+#include <TF1.h>
+#include <TFile.h>
+#include <TH2.h>
+#include <TSpline.h>
+#include <fstream>
+#include <vector>
+#include <TCutG.h>
+
+using namespace std;
+
+TSpline3* MakeSpline(TH2F* hInput, Int_t NCallee, double XMin , double
+        XMax, double YMin, double YMax);
+
+vector<TH2F*>HistoFillerIC(int segment, vector<vector<TSpline3*>> Spline_All_ICprev);
+
+vector<vector<TH2F*>>HistoFillerICcorr(int segment, vector<vector<TSpline3*>> Spline_All_ICprev);
+
+vector<double> TxtToVector(const char *Path);
+
+void HistoDrawer(vector<TH2F*> h ,const char* CharName);
+
+// Range of histo
+
+double XMin[5]= {-520,-1000,-520,-800,-800};
+double XMax[5]= {380,1000,380,800,800};
+double YMin[5]= {2000,1000,0,0.8,2.};
+double YMax[5]= {9500,10000,3,1.5,2.4};
+double CondX[2]= {-200,200};
+//////////////////////////////////////////////////////////////////////////////////////////
+void AlignIC() {
+
+    int NSegment = 5 ;
+
+    //Reinitialising the outfile
+    TFile *OutFile = new TFile("Output/HistoP2P.root","recreate");
+    OutFile->Close();
+    //Initialising with IC1
+    int NCallSpline = 0;
+    int initseg = 1;
+
+    vector<vector<TSpline3*>> SplineAllIC(NSegment + 1);
+    vector<TSpline3*> SplineICurrent(2);
+
+    vector<vector<TH2F*>> hIC(NSegment);
+    hIC.at(1)= (HistoFillerIC(1,SplineAllIC));
+
+    SplineICurrent.at(0) = MakeSpline(hIC[initseg][0] , NCallSpline, XMin[0] , XMax[0], YMin[0], YMax[0]);
+    SplineICurrent.at(0)->SetName("fspline_IC1_X");
+    NCallSpline+=1;
+
+    SplineICurrent.at(1) = MakeSpline(hIC[initseg][1] , NCallSpline, XMin[1] , XMax[1], YMin[1], YMax[1]);
+    SplineICurrent.at(1)->SetName("fspline_IC1_Y");
+    NCallSpline+=1;
+
+    SplineAllIC.at(1)= (SplineICurrent);  
+    SplineAllIC.erase(SplineAllIC.begin() + 1); 
+    ///activate this to not make the
+    //spline of IC1 
+
+
+    for (int seg = 2 ; seg < NSegment ; seg++){
+        if(seg ==1) {
+        }
+
+        else if (seg == 4){
+ 
+            //Load Histo 
+            hIC.at(seg) = (HistoFillerIC(seg,SplineAllIC));
+
+            //Reset spline holder
+            vector<TSpline3*> SplineICurrent; 
+
+            // X Spline
+            SplineICurrent.push_back(MakeSpline(hIC[seg][0] , NCallSpline, XMin[2] , XMax[2], YMin[4], YMax[4]));
+            SplineICurrent.at(0)->SetName(Form("fspline_IC%d_X",seg));
+            NCallSpline+=1;
+
+            // Y Spline             
+            SplineICurrent.push_back(MakeSpline(hIC[seg][1] , NCallSpline, XMin[4] , XMax[4],YMin[4],YMax[4]));
+            SplineICurrent.at(1)->SetName(Form("fspline_IC%d_Y",seg));
+            NCallSpline+=1;
+
+            //push vector into memory
+            SplineAllIC.at(seg)= SplineICurrent;           
+
+        }
+
+        else{
+
+            //Load Histo 
+            hIC.at(seg) = (HistoFillerIC(seg,SplineAllIC));
+
+            cout << hIC.at(seg).at(0)->GetYaxis()->GetXmin() << endl;
+            //Reset spline holder
+            vector<TSpline3*> SplineICurrent; 
+
+            // X Spline
+            SplineICurrent.push_back(MakeSpline(hIC[seg][0] , NCallSpline, XMin[2] , XMax[2], YMin[3], YMax[3]));
+            SplineICurrent.at(0)->SetName(Form("fspline_IC%d_X",seg));
+            NCallSpline+=1;
+
+            // Y Spline             
+            SplineICurrent.push_back(MakeSpline(hIC[seg][1] , NCallSpline, XMin[3] , XMax[3], YMin[3], YMax[3]));
+            SplineICurrent.at(1)->SetName(Form("fspline_IC%d_Y",seg));
+            NCallSpline+=1;
+
+            //push vector into memory
+            SplineAllIC.at(seg)= SplineICurrent;
+        }
+    }
+    //write spline
+    TFile* fspline = new TFile("Output/spline_P2P_2024.root", "recreate");
+    for (int seg = 0 ; seg < NSegment ; seg++){
+        if (!SplineAllIC.at(seg).empty()){
+            SplineAllIC.at(seg)[0]->Write();
+            SplineAllIC.at(seg)[1]->Write();
+        }
+    }
+    fspline->Close();
+
+    //Write for analysis 
+    TFile* ospline = new TFile("../../../../Calibration/VAMOS/CHIO/Spline_Y.root", "recreate");
+    for (int seg = 2 ; seg < NSegment ; seg++){
+        if (!SplineAllIC.at(seg).empty()){
+            SplineAllIC.at(seg)[1]->SetName(Form("fspline_%d",seg-1));
+            SplineAllIC.at(seg)[1]->Write();
+        }
+    }
+    fspline->Close();
+
+    vector<vector<TH2F*>> hIC_Corrall(NSegment);
+    vector<TH1F*> hIC_Corr_profile(NSegment);
+    vector<TH2F*> hIC_Corr(NSegment);
+    hIC_Corrall = HistoFillerICcorr(NSegment,SplineAllIC);
+    hIC_Corr = hIC_Corrall.at(1);
+
+    TCanvas *c1 = new TCanvas("c1","c1");
+    c1->Divide(NSegment);
+    for (int i=0 ; i<NSegment ; i++){
+        hIC_Corr_profile.at(i) = (TH1F*)hIC_Corr.at(i)->ProfileX();  
+        c1->cd(i+1);
+        hIC_Corr_profile.at(i)->Draw();
+    }
+
+
+} // End spline chio XY
+
+///////////////////////////////////////////////////////////////////////////////////////////
+/**
+ * This function fill the histograms of ICseg/ICcorrSeg-1 expect for IC1 where
+ * it give IC1 and ICO where it give IC0/IC1corr
+ */
+vector<TH2F*> HistoFillerIC(int segment, vector<vector<TSpline3*>> Spline_All_ICprev) {
+
+    // Input and setters
+    TChain* chain = new TChain("PhysicsTree");
+    chain->Add("../../../../root/analysis/VamosCalib246.root");
+    chain->Add("../../../../root/analysis/VamosCalib247.root");
+    chain->Add("../../../../root/analysis/VamosCalib248.root");
+
+    TICPhysics* IC = new TICPhysics(); 
+    TTimeData *Time = new TTimeData();
+
+    double FF_IC_X, FF_IC_Y;
+
+    chain->SetBranchStatus("FF_IC_X", true);
+    chain->SetBranchAddress("FF_IC_X", &FF_IC_X);
+
+    chain->SetBranchStatus("IC", true);
+    chain->SetBranchAddress("IC", &IC);
+
+    chain->SetBranchStatus("Time", true);
+    chain->SetBranchAddress("Time", &Time);
+
+    vector<double> Toff13 , Toff14, Toff23, Toff24;
+    const char* Path13 = "../../../../Calibration/VAMOS/FPMW/Toff/Toff13.txt";
+    const char* Path14 = "../../../../Calibration/VAMOS/FPMW/Toff/Toff14.txt";
+    const char* Path23 = "../../../../Calibration/VAMOS/FPMW/Toff/Toff23.txt";
+    const char* Path24 = "../../../../Calibration/VAMOS/FPMW/Toff/Toff24.txt";
+
+    Toff13 = TxtToVector(Path13);
+    Toff14 = TxtToVector(Path14);
+    Toff23 = TxtToVector(Path23);
+    Toff24 = TxtToVector(Path24);
+
+    // Get the number of previous spline to load
+    int NSpline = abs(segment-1);
+
+    //Filling all  previous vector spline
+    vector<TSpline3*> SplineIC_X(NSpline+1);
+    vector<TSpline3*> SplineIC_Y(NSpline+1);
+
+    //Fill all the previous spline , if the segment is 0 it'll fill spline 1 only 
+    for (int pseg = 1 ; pseg<=NSpline; pseg++){
+        if(!Spline_All_ICprev.at(pseg).empty()){
+            SplineIC_X.at(pseg) = Spline_All_ICprev.at(pseg).at(0);
+            SplineIC_Y.at(pseg) = Spline_All_ICprev.at(pseg).at(1);
+        }
+    }
+
+    // Histograms
+    TH2F *hIC_X , *hIC_Y;
+
+    if (segment == 1 ) { 
+        hIC_Y = new TH2F(Form("hChio_IC%d_Y",segment),
+                Form("hChio_IC%d_Y",segment), 1000, -1000, 1000, 1000, 1000, 10000);
+        hIC_X = new TH2F(Form("hChio_IC%d_X",segment),
+                Form("hChio_IC%d_X",segment), 1000, -800, 800, 1000, 1000, 10000);
+
+    }
+
+    else if (segment==4) {
+        hIC_Y = new TH2F(Form("hChio_IC%d_IC%d_Y",segment,segment-1),
+                Form("hChio_IC%d_IC%d_Y",segment,segment-1), 1000, -1000, 1000, 500, YMin[4], YMax[4]);
+        hIC_X = new TH2F(Form("hChio_IC%d_IC%d_X",segment,segment-1),
+                Form("hChio_IC%d_IC%d_X",segment,segment-1), 1000, -800, 800, 500, YMin[4], YMax[4]);
+    }
+
+
+    else {
+        hIC_Y = new TH2F(Form("hChio_IC%d_IC%d_Y",segment,segment-1),
+                Form("hChio_IC%d_IC%d_Y",segment,segment-1), 1000, -1000, 1000, 500, YMin[3], YMax[3]);
+        hIC_X = new TH2F(Form("hChio_IC%d_IC%d_X",segment,segment-1),
+                Form("hChio_IC%d_IC%d_X",segment,segment-1), 1000, -800, 800, 500, YMin[3], YMax[3]);
+    }
+
+    hIC_Y->GetYaxis()->SetCanExtend(kFALSE);
+    //===========================================================================================================
+    //																	Beginning loop on entries
+    //===========================================================================================================
+
+    int Nentries = chain->GetEntries();
+    //int Nentries = 1000000;
+    auto start = std::chrono::high_resolution_clock::now();
+    for (int e = 0; e < Nentries; e++) {
+
+        chain->GetEntry(e);
+
+
+        vector<double> IC_Spline_CorrX(NSpline + 1),IC_Spline_CorrY(NSpline+1);
+             
+        if (Time->GetMWPC13Mult() ==1  && IC->fIC_TS.size()>= (segment+1) && FF_IC_X >-530 ){ //only mult 1 event
+
+            UShort_t FPMW_Section = Time->GetSection_MWPC3(0);
+
+
+                FF_IC_Y = 10* (IC->fIC_TS.at(segment) - Time->GetTS_MWPC13(0)) - ((Time->GetTime_MWPC13(0)+Toff13.at(FPMW_Section))) ;
+                //Get the corrected value for all previous spline
+                for (int pseg = 1 ; pseg<=NSpline ; pseg++){
+                    //If the spline doesnt exist define default value
+                    if(Spline_All_ICprev.at(pseg).empty()){
+                        IC_Spline_CorrX.at(pseg)= IC->fIC_PID[pseg];
+                        IC_Spline_CorrY.at(pseg)= IC->fIC_PID[pseg]; 
+                    }
+
+                    //If it exist correct the current line
+                    else if (!Spline_All_ICprev.at(pseg).empty()){
+                        IC_Spline_CorrX.at(pseg) = IC->fIC_PID[pseg] * SplineIC_X.at(pseg)->Eval(0) / SplineIC_X.at(pseg)->Eval(FF_IC_X); 
+                        IC_Spline_CorrY.at(pseg) = IC->fIC_PID[pseg] * SplineIC_Y.at(pseg)->Eval(0) / SplineIC_Y.at(pseg)->Eval(FF_IC_Y); 
+                    } //End if non empty
+
+                } // End loop IC non 0
+
+
+                //===========================================================================================================
+                //                               Fill histo
+
+                //===========================================================================================================/
+
+                if (segment == 1){
+                    hIC_Y->Fill(FF_IC_Y,IC->fIC_PID[segment]);
+                    hIC_X->Fill(FF_IC_X,IC->fIC_PID[segment]);
+                }
+
+                else if (segment == 0){
+                    hIC_Y->Fill(FF_IC_Y,IC->fIC_PID[segment]/IC_Spline_CorrY.at(1));
+                    hIC_X->Fill(FF_IC_X,IC->fIC_PID[segment]/IC_Spline_CorrX.at(1));
+                }
+
+                else {
+                    hIC_Y->Fill(FF_IC_Y,IC->fIC_PID[segment]/IC_Spline_CorrY.at(segment-1));
+                    hIC_X->Fill(FF_IC_X,IC->fIC_PID[segment]/IC_Spline_CorrX.at(segment-1));    
+                }
+        } //end only m2
+
+        // Estimate time left every `updateInterval` iterations
+        if (e % 100000  == 0 && e > 0) {
+            auto now = std::chrono::high_resolution_clock::now();
+            std::chrono::duration<double> elapsed = now - start;
+            double avgTimePerIteration = elapsed.count() / e;
+            double timeLeft = avgTimePerIteration * (Nentries - e);
+
+            std::cout << "Treating segment : " << segment 
+                << "  | Estimated time left: " << int(timeLeft) << " seconds" << "\r" << flush;
+        }
+
+    } // end loop on entries
+
+    cout <<  endl;
+    //===========================================================================================================
+    //                                       Output 
+    //===========================================================================================================
+    vector<TH2F*> hIC;
+    hIC.push_back(hIC_X);
+    hIC.push_back(hIC_Y);
+
+    TFile *OutFile = new TFile("Output/HistoP2P.root","UPDATE");
+    hIC_X->Write();
+    hIC_Y->Write();
+    OutFile->Close();
+
+    return hIC;
+} // End HistoFiller
+
+vector<vector<TH2F*>>HistoFillerICcorr(int segment, vector<vector<TSpline3*>> Spline_All_ICprev){
+
+    // Input and setters
+    TChain* chain = new TChain("PhysicsTree");
+    chain->Add("../../../../root/analysis/VamosCalib247.root");
+
+    TTimeData *Time = new TTimeData();
+    TICPhysics* IC = new TICPhysics() ; 
+    double FF_IC_X, FF_IC_Y;
+
+    chain->SetBranchStatus("FF_IC_X", true);
+    chain->SetBranchAddress("FF_IC_X", &FF_IC_X);
+    chain->SetBranchStatus("IC", true);
+    chain->SetBranchAddress("IC", &IC);
+    chain->SetBranchStatus("Time", true);
+    chain->SetBranchAddress("Time", &Time);
+
+    vector<double> Toff13 , Toff14, Toff23, Toff24;
+    const char* Path13 = "../../../../Calibration/VAMOS/FPMW/Toff/Toff13.txt";
+    const char* Path14 = "../../../../Calibration/VAMOS/FPMW/Toff/Toff14.txt";
+    const char* Path23 = "../../../../Calibration/VAMOS/FPMW/Toff/Toff23.txt";
+    const char* Path24 = "../../../../Calibration/VAMOS/FPMW/Toff/Toff24.txt";
+
+    Toff13 = TxtToVector(Path13);
+    Toff14 = TxtToVector(Path14);
+    Toff23 = TxtToVector(Path23);
+    Toff24 = TxtToVector(Path24);
+
+    // Get the number of previous spline to load
+    segment = segment -1;
+    int NSpline = abs(segment);
+
+    //Filling all  previous vector spline
+    vector<TSpline3*> SplineIC_X(NSpline+1);
+    vector<TSpline3*> SplineIC_Y(NSpline+1);
+
+    //Fill all the previous spline , if the segment is 0 it'll fill spline 1 only 
+    for (int pseg = 0 ; pseg<=NSpline; pseg++){
+        if(!Spline_All_ICprev.at(pseg).empty()){
+            SplineIC_X.at(pseg) = Spline_All_ICprev.at(pseg).at(0);
+            SplineIC_Y.at(pseg) = Spline_All_ICprev.at(pseg).at(1);
+        }
+    }
+
+    // Histograms
+    vector<TH2F*> hIC_X(segment +1) , hIC_Y(segment+1);
+
+    for (int pseg = 0 ; pseg<=NSpline; pseg++){
+        if (pseg == 1 ) { 
+            hIC_Y.at(pseg) = new TH2F(Form("hChiocorr_IC%d_Y",pseg),
+                    Form("hChiocorr_IC%d_Y",pseg), 1000, -1000, 1000, 1000, 0, 20000);
+            hIC_X.at(pseg) = new TH2F(Form("hChiocorr_IC%d_X",pseg),
+                    Form("hChiocorr_IC%d_X",pseg), 1000, -800, 800, 1000, 0, 20000);
+
+        }
+
+        else if (pseg == 4 ) { 
+            hIC_Y.at(pseg) = new TH2F(Form("hChiocorr_IC%d_Y",pseg),
+                    Form("hChiocorr_IC%d_Y",pseg), 1000, -1000, 1000, 1000, YMin[4], YMax[4]);
+            hIC_X.at(pseg) = new TH2F(Form("hChiocorr_IC%d_X",pseg),
+                    Form("hChiocorr_IC%d_X",pseg), 1000, -800, 800, 1000, YMin[4], YMax[4]);
+
+        }
+
+        else {
+            hIC_Y.at(pseg) = new TH2F(Form("hChiocorr_IC%d_IC%d_Y",pseg,pseg-1),
+                    Form("hChiocorr_IC%d_IC%d_Y",pseg,pseg-1), 1000, -1000, 1000, 500, YMin[3], YMax[3]);
+            hIC_X.at(pseg) = new TH2F(Form("hChiocorr_IC%d_IC%d_X",pseg,pseg-1),
+                    Form("hChiocorr_IC%d_IC%d_X",pseg,pseg-1), 1000, -800, 800, 500, YMin[3], YMax[3]);
+        }
+    }
+
+    //===========================================================================================================
+    //																	Beginning loop on entries
+    //===========================================================================================================
+
+    //int Nentries = chain->GetEntries();
+    int Nentries = 1000000;
+    auto start = std::chrono::high_resolution_clock::now();
+    for (int e = 0; e < Nentries; e++) {
+
+        chain->GetEntry(e);
+
+        vector<double> IC_Spline_CorrX(NSpline + 1),IC_Spline_CorrY(NSpline+1);
+
+
+        if (Time->GetMWPC13Mult() ==1  && IC->fIC_TS.size()>= (segment+1)){ //only mult 1 event
+
+            UShort_t FPMW_Section = Time->GetSection_MWPC3(0);         
+
+                FF_IC_Y = 10* (IC->fIC_TS.at(segment) - Time->GetTS_MWPC13(0)) - ((Time->GetTime_MWPC13(0)+Toff13.at(FPMW_Section))) ;
+                //Get the corrected value for all previous spline
+                for (int pseg = 0 ; pseg<=NSpline ; pseg++){
+                    //If the spline doesnt exist define default value
+                    if(Spline_All_ICprev.at(pseg).empty()){
+                        IC_Spline_CorrX.at(pseg)= IC->fIC_PID[pseg];
+                        IC_Spline_CorrY.at(pseg)= IC->fIC_PID[pseg];
+                        //cout << pseg << endl;
+                    }
+
+                    //If it exist correct the current line
+                    else if (!Spline_All_ICprev.at(pseg).empty()){
+                        IC_Spline_CorrX.at(pseg) = IC->fIC_PID[pseg] * SplineIC_X.at(pseg)->Eval(0) / SplineIC_X.at(pseg)->Eval(FF_IC_X); 
+                        IC_Spline_CorrY.at(pseg) = IC->fIC_PID[pseg] * SplineIC_Y.at(pseg)->Eval(0) / SplineIC_Y.at(pseg)->Eval(FF_IC_Y); 
+                    } //End if non empty
+                } // end loop
+
+                for (int pseg = 0 ; pseg<=NSpline ; pseg++){
+                    if (pseg == 1){
+                        hIC_Y.at(pseg)->Fill(FF_IC_Y,IC_Spline_CorrY.at(pseg));
+                        hIC_X.at(pseg)->Fill(FF_IC_X,IC_Spline_CorrY.at(pseg));
+                    }
+
+                    else if (pseg == 0){
+                        hIC_Y.at(pseg)->Fill(FF_IC_Y,IC_Spline_CorrY.at(pseg)/IC_Spline_CorrY.at(1));
+                        hIC_X.at(pseg)->Fill(FF_IC_X,IC_Spline_CorrY.at(pseg)/IC_Spline_CorrX.at(1));
+                    }
+
+
+                    else {
+                        hIC_Y.at(pseg)->Fill(FF_IC_Y,IC_Spline_CorrY.at(pseg)/IC_Spline_CorrY.at(pseg-1));
+                        hIC_X.at(pseg)->Fill(FF_IC_X,IC_Spline_CorrY.at(pseg)/IC_Spline_CorrX.at(pseg-1));    
+                    }
+
+                }
+                //===========================================================================================================
+                //                               Fill histo
+                //===========================================================================================================/
+
+                // Estimate time left every `updateInterval` iterations
+                if (e % 100000  == 0 && e > 0) {
+                    auto now = std::chrono::high_resolution_clock::now();
+                    std::chrono::duration<double> elapsed = now - start;
+                    double avgTimePerIteration = elapsed.count() / e;
+                    double timeLeft = avgTimePerIteration * (Nentries - e);
+
+                    std::cout << "Treating segment : " << segment 
+                        << "  | Estimated time left: " << timeLeft << " seconds" << "\r" << flush;
+                }
+            } // end loop on entries
+          
+    } //end only m2
+      //===========================================================================================================
+      //                                       Output 
+      //===========================================================================================================
+    vector<vector<TH2F*>> hIC;
+    hIC.push_back(hIC_X);
+    hIC.push_back(hIC_Y);
+
+    cout << endl;
+    return hIC;
+} // End HistoFiller
+
+
+/**
+  }
+ *  Create the spline for one TH2F
+ *
+ *  Input :
+ *     Pointer to a TH2F
+ *
+ *
+ *  Output:
+ *
+ *     TSpline3 : the output spline
+ *
+ */
+
+TSpline3* MakeSpline(TH2F* hInput, Int_t NCallee, double XMin = 0 , double
+        XMax = 1000 , double YMin=0 , double YMax = 100) {
+
+    TSpline3* gspline;
+
+    TH1F* hProfile;
+    TH1F* pfx; // extended hProfile
+
+    TCanvas* canfit = new TCanvas(Form("CanSpline_%02d",NCallee),
+            Form("canfit_%02d",NCallee), 0, 0, 1000, 500);
+
+
+    //===========================================================================================================
+    //                                            Init profile
+    //===========================================================================================================
+
+    // Create the TProfile
+	//hInput->GetYaxis()->SetRangeUser(YMin+0.01,YMax-0.01);
+    hProfile = (TH1F*)hInput->ProfileX();
+    hProfile->SetLineWidth(2);
+    hProfile->SetDirectory(0);
+    canfit->cd();
+
+    hProfile->Draw();
+    //===========================================================================================================
+    //                                          First and last bin to get to 6k
+    //                                          event get promoted
+    //===========================================================================================================
+	int FirstBin, LastBin;
+	double Threshold = hInput->GetEntries() / hInput->GetNbinsX() / 10;
+	for (int bin =1 ; bin<hInput->GetNbinsX(); bin++) {
+    
+		int nEvents = 0;
+		for (int ybin = 1; ybin <= hInput->GetNbinsY(); ybin++) {
+			nEvents += hInput->GetBinContent(bin, ybin);
+		}
+		FirstBin = bin;
+		if (nEvents> Threshold && hProfile->GetXaxis()->GetBinLowEdge(bin) > XMin ) break;
+	}
+
+	for (int bin = hInput->GetNbinsX(); bin>1 ; bin--) {
+		int nEvents = 0;
+		for (int ybin = 1; ybin <= hInput->GetNbinsY(); ybin++) {
+			nEvents += hInput->GetBinContent(bin, ybin);
+		}
+		LastBin = bin;
+		if (nEvents > Threshold && hProfile->GetXaxis()->GetBinUpEdge(bin) < XMax ) break;
+	}
+
+	cout << "BinEdges " << FirstBin << "  "  << LastBin << endl;
+	//===========================================================================================================
+	//                                          Init Extended profile function
+	//===========================================================================================================
+	// Create the extended TProfile
+	pfx = new TH1F(
+			Form("pfx_%02d", Int_t(NCallee/2)), Form("pfx_%02d", Int_t(NCallee/2)), hProfile->GetNbinsX(), hProfile->GetBinLowEdge(1),
+			hProfile->GetBinLowEdge(hProfile->GetNbinsX()) + hProfile->GetBinWidth(hProfile->GetNbinsX()));
+	pfx->SetLineColor(8);
+	pfx->SetDirectory(0);
+
+
+	double parpol3[4];
+	double parpol1[2];
+	// find the function to extend the TProfile on the lower range
+	TF1 * fitpol3 = new TF1(Form("FitPol3_pfx_%02d",Int_t(NCallee/2)),"pol3",hProfile->GetBinLowEdge(FirstBin),hProfile->GetBinLowEdge(LastBin));
+	hProfile->Fit(fitpol3,"RQ");
+	fitpol3->GetParameters(parpol3);
+
+	// find the function to extend the TProfile on the higher range
+	TF1 * fitpol1 = new TF1(Form("FitPol1_pfx_%02d",Int_t(NCallee/2)),"pol1",hProfile->GetBinLowEdge(FirstBin),hProfile->GetBinLowEdge(LastBin));
+	hProfile->Fit(fitpol1,"RQ");
+	fitpol1->GetParameters(parpol1);
+
+
+	//===========================================================================================================
+	//                                           Fill extended profile
+	//===========================================================================================================
+
+	// fill the extended TProfile
+	float newval, lastval, lasterr;
+	for(int bin=1; bin<=FirstBin; bin++){
+		newval=0;
+		for(int par=0; par<4; par++) newval += parpol3[par]*pow(hProfile->GetBinCenter(bin),par);
+		pfx->SetBinContent(bin,newval);
+	}
+
+	for (int bin = FirstBin; bin <= LastBin; bin++) {
+		newval = hProfile->GetBinContent(bin);
+		if (newval != 0) {
+			pfx->SetBinContent(bin, newval);
+			pfx->SetBinError(bin, hProfile->GetBinError(bin));
+			lastval = newval;
+			lasterr = hProfile->GetBinError(bin);
+		}
+		else {
+			pfx->SetBinContent(bin, lastval);
+			pfx->SetBinError(bin, lasterr);
+		}
+	}
+	for(int bin=LastBin; bin<=hProfile->GetNbinsX(); bin++){
+		newval=0;
+		for(int par=0; par<4; par++) newval += parpol3[par]*pow(hProfile->GetBinCenter(bin),par);
+		pfx->SetBinContent(bin,newval);
+	}
+	pfx->Draw("same");
+
+	gspline = new TSpline3(pfx);
+	gspline->SetName(Form("fspline_%d", NCallee + 1));
+
+	return gspline;
+
+} // end makespline
+
+void HistoDrawer(vector<TH2F*> h,const char* CharName){
+
+	int NHisto = static_cast<int>(h.size());
+
+	TCanvas* Can= new TCanvas(CharName,CharName,0,0,2000,1000);
+
+	Can->Divide(NHisto);
+
+	for ( int i=0 ; i < NHisto ; i+=1 ){
+		//All x are even and all y are odd
+		int CanvaNumber = (i) ;
+		Can->cd(CanvaNumber);
+		h[i]->Draw("colz");
+	}
+}
+
+
+vector<double> TxtToVector(const char *Path){
+	string line;
+	vector<double> values;
+	ifstream file(Path); 
+
+	if (file.is_open()) {
+		while (std::getline(file, line)) {
+			try {
+				values.push_back(std::stod(line));
+			} catch (const std::invalid_argument& e) {
+				std::cerr << "Invalid number in line: " << line << '\n';
+			}
+		}
+		file.close();
+	} else {
+		std::cerr << "Error opening file.\n";
+	}
+
+	return values;
+}
diff --git a/Projects/AlPhaPha/2024/macro/Calibration/IC/Step2/IC0_XYCorrection.C b/Projects/AlPhaPha/2024/macro/Calibration/IC/Step2/IC0_XYCorrection.C
new file mode 100644
index 0000000000000000000000000000000000000000..7a3b3e499cba8245144653f0db520c3e971ac436
--- /dev/null
+++ b/Projects/AlPhaPha/2024/macro/Calibration/IC/Step2/IC0_XYCorrection.C
@@ -0,0 +1,164 @@
+#include "TICPhysics.h"
+#include "TTimeData.h"
+#include <TChain.h>
+#include <TF1.h>
+#include <TFile.h>
+#include <TH2.h>
+#include <TH3.h>
+#include <TStyle.h>
+#include <TProfile2D.h>
+#include <chrono>
+vector<double> TxtToVector(const char *Path);
+
+void IC0_XYCorrection(){
+
+    //===========================================================================================================
+    //                           Loading var
+    //===========================================================================================================
+    TChain* chain = new TChain("PhysicsTree");
+    chain->Add("../../../../root/analysis/VamosCalib247.root");
+    chain->Add("../../../../root/analysis/VamosCalib246.root");
+    chain->Add("../../../../root/analysis/VamosCalib248.root");
+
+    TTimeData *Time = new TTimeData();
+    TICPhysics* IC = new TICPhysics() ;
+    double FF_IC_X, FF_IC_Y, FF_V13, FF_DriftTime;
+
+  
+    vector<double> Toff13 , Toff14, Toff23, Toff24;
+    const char* Path13 = "../../../../Calibration/VAMOS/FPMW/Toff/Toff13.txt";
+    const char* Path14 = "../../../../Calibration/VAMOS/FPMW/Toff/Toff14.txt";
+    const char* Path23 = "../../../../Calibration/VAMOS/FPMW/Toff/Toff23.txt";
+    const char* Path24 = "../../../../Calibration/VAMOS/FPMW/Toff/Toff24.txt";
+
+    Toff13 = TxtToVector(Path13);
+    Toff14 = TxtToVector(Path14);
+    Toff23 = TxtToVector(Path23);
+    Toff24 = TxtToVector(Path24);
+
+
+    chain->SetBranchStatus("FF_IC_X", true);
+    chain->SetBranchAddress("FF_IC_X", &FF_IC_X);
+    chain->SetBranchStatus("FF_IC_Y", true);
+    chain->SetBranchAddress("FF_IC_Y", &FF_IC_Y);
+
+    chain->SetBranchStatus("IC", true);
+    chain->SetBranchAddress("IC", &IC);
+
+    chain->SetBranchStatus("Time", true);
+    chain->SetBranchAddress("Time", &Time);
+
+    
+    TH3F *ICXY = new TH3F("ICXY","ICXY",100,-550,400,100,-1000,1000,100,0,2);
+    TH2F *ICX = new TH2F("ICX","ICX",1000,-500,400,1000,0,2);
+    TProfile2D *Pxyz = new TProfile2D("ICOneZeroProfile","ICOneZeroProfile",100,-550.0,400.0,100,-800.0,480.0);
+ 
+    int Nentries = chain->GetEntries();
+    //int Nentries = 1000000;
+    auto start = std::chrono::high_resolution_clock::now();
+
+    for (int e = 0; e < Nentries; e++) {
+        if (e % 100000  == 0 && e > 0 ) {
+            auto now = std::chrono::high_resolution_clock::now();
+            std::chrono::duration<double> elapsed = now - start;
+            double avgTimePerIteration = elapsed.count() / e;
+            double timeLeft = avgTimePerIteration * (Nentries - e);
+
+            std::cout << "********** Estimated time left: " << int(timeLeft) << " seconds **********" << "\r" << flush;
+        }
+
+        chain->GetEntry(e);
+
+
+        if(Time->GetMWPC13Mult()==1 && IC->fIC_raw[8] >0){
+            UShort_t FPMW_Section = Time->GetSection_MWPC3(0);
+            FF_DriftTime = 10* (IC->fIC_TS.at(0) - Time->GetTS_MWPC13(0)) - ((Time->GetTime_MWPC13(0)+Toff13.at(FPMW_Section))) ;
+
+
+            Double_t ICRatio =  IC->fIC_raw[1]/IC->fIC_raw[0];
+
+            if(IC->fIC_raw[8] >0 && ICRatio <= 3 && ICRatio >0.1 ) {
+                ICXY->Fill(FF_IC_X,FF_DriftTime,ICRatio);
+                Pxyz->Fill(FF_IC_X,FF_DriftTime,ICRatio);
+
+                if (FF_IC_X > -500 && FF_IC_X < 400 && FF_IC_Y > -100 && FF_IC_Y <100 ){
+                    ICX->Fill(FF_IC_X, ICRatio);
+                }
+            }
+        }
+    
+    }
+    gStyle->SetCanvasPreferGL(true);
+    TCanvas *c = new TCanvas("c","c");
+    gStyle->SetPalette(kRainBow);
+    ICXY->SetXTitle("X");
+    ICXY->SetYTitle("DriftTime");
+    ICXY->SetZTitle("RatioIC");
+	ICXY->SetMinimum(0);
+	ICXY->Draw("GL");    // Configure the 3D view
+
+	// Update the canvas
+	c->Update();
+
+    TCanvas *c1 = new TCanvas("c1","c1");
+    gStyle->SetPalette(kRainBow);
+    Pxyz->SetXTitle("X");
+    Pxyz->SetYTitle("DriftTime");
+    Pxyz->SetZTitle("RatioIC");
+	Pxyz->SetMinimum(1.0);
+	Pxyz->SetMaximum(1.5);
+	Pxyz->Draw("GL SURF2");    // Configure the 3D view
+
+    
+    auto func = [](double *x, double *p) {
+        if (x[0] < 200 && x[0] > -150) {
+            TF1::RejectPoint();
+        }
+        return p[0] + p[1]*x[0] + p[2]*x[0]*x[0] ;
+    };
+
+    TF1 *f1 = new TF1("f1",func,-470,400,3);
+        
+    TCanvas *c2 = new TCanvas("c2","c2");
+    c2->Divide(2);
+    c2->cd(1);
+    gStyle->SetPalette(kRainBow);
+    ICX->SetXTitle("X");
+    ICX->SetYTitle("Ratio");
+    ICX->Draw();
+    c2->cd(2);
+    ICX->ProfileX()->SetMinimum(0);
+    ICX->ProfileX()->SetMaximum(2);
+	ICX->ProfileX()->Draw("GL");   
+    ICX->ProfileX()->Fit(f1,"R");
+
+
+
+    TFile *ofile = new TFile("Output/RatioProfile.root","recreate");
+    Pxyz->Write();
+
+
+    TFile *oconf = new TFile("../../../../Calibration/VAMOS/CHIO/ICXY_Profile.root","recreate");
+    Pxyz->Write();
+}
+
+vector<double> TxtToVector(const char *Path){
+	string line;
+	vector<double> values;
+	ifstream file(Path); 
+
+	if (file.is_open()) {
+		while (std::getline(file, line)) {
+			try {
+				values.push_back(std::stod(line));
+			} catch (const std::invalid_argument& e) {
+				std::cerr << "Invalid number in line: " << line << '\n';
+			}
+		}
+		file.close();
+	} else {
+		std::cerr << "Error opening file.\n";
+	}
+
+	return values;
+}
diff --git a/Projects/AlPhaPha/2024/macro/Calibration/IC/Step2/Output/ReadMe.md b/Projects/AlPhaPha/2024/macro/Calibration/IC/Step2/Output/ReadMe.md
new file mode 100644
index 0000000000000000000000000000000000000000..61285a819ac55c03a84d1c9bba9288a6f84e9bed
--- /dev/null
+++ b/Projects/AlPhaPha/2024/macro/Calibration/IC/Step2/Output/ReadMe.md
@@ -0,0 +1,2 @@
+# Output dir
+
diff --git a/Projects/AlPhaPha/2024/macro/Calibration/IC/Step3/DEYcorrection.C b/Projects/AlPhaPha/2024/macro/Calibration/IC/Step3/DEYcorrection.C
new file mode 100644
index 0000000000000000000000000000000000000000..8bbb57d38ccfd7b6e19ae9c8d791f0fd2956ff60
--- /dev/null
+++ b/Projects/AlPhaPha/2024/macro/Calibration/IC/Step3/DEYcorrection.C
@@ -0,0 +1,755 @@
+#include "TTimeData.h"
+#include <TICPhysics.h>
+#include <TFPMWPhysics.h>
+#include <TCanvas.h>
+#include <TChain.h>
+#include <TF1.h>
+#include <TFile.h>
+#include <TH2.h>
+#include <TSpline.h>
+#include <TCutG.h>
+#include <TStyle.h>
+#include <fstream>
+#include <vector>
+#include "TProfileEvaluator.h"
+
+using namespace std;
+vector<double> TxtToVector(const char *Path);
+int GetNumberKey(TFile *infile ,const char* ClassName);
+void TH2toCSV(TH2F* h2, const char *PathOut) ;
+
+TSpline3* MakeSpline(TH2F* hInput, Int_t NCallee, double XMin , double
+        XMax, double YMin, double YMax);
+//////////////////////////////////////////////////////////////////////////////////////////
+void DEYcorrection(bool cut = false, bool spline = false) {
+    //===========================================================================================================
+    //                           Loading var
+    //===========================================================================================================
+    TChain* chain = new TChain("PhysicsTree");
+    chain->Add("../../../../root/analysis/VamosCalib247.root");
+    chain->Add("../../../../root/analysis/VamosCalib246.root");
+    chain->Add("../../../../root/analysis/VamosCalib248.root");
+    //chain->Add("../../../root/analysis/Run246.root");
+
+    TICPhysics* IC = new TICPhysics() ;
+    TTimeData *Time = new TTimeData() ;
+    TFPMWPhysics *FPMW = new TFPMWPhysics();
+
+    double FF_IC_X, FF_IC_Y, FF_V13, Y, FF_Theta;
+
+    chain->SetBranchStatus("FF_IC_X", true);
+    chain->SetBranchAddress("FF_IC_X", &FF_IC_X);
+
+    chain->SetBranchStatus("FF_IC_Y", true);
+    chain->SetBranchAddress("FF_IC_Y", &FF_IC_Y);
+
+    chain->SetBranchStatus("IC", true);
+    chain->SetBranchAddress("IC", &IC); 
+
+    chain->SetBranchStatus("FPMW", true);
+    chain->SetBranchAddress("FPMW", &FPMW);   
+
+    chain->SetBranchStatus("FF_Theta", true);
+    chain->SetBranchAddress("FF_Theta", &FF_Theta);   
+
+    chain->SetBranchStatus("FF_V13", true);
+    chain->SetBranchAddress("FF_V13", &FF_V13); 
+
+    chain->SetBranchStatus("Time", true);
+    chain->SetBranchAddress("Time", &Time);
+
+    vector<double> Toff13 , Toff14, Toff23, Toff24;
+    const char* Path13 = "../../../../Calibration/VAMOS/FPMW/Toff/Toff13.txt";
+    const char* Path14 = "../../../../Calibration/VAMOS/FPMW/Toff/Toff14.txt";
+    const char* Path23 = "../../../../Calibration/VAMOS/FPMW/Toff/Toff23.txt";
+    const char* Path24 = "../../../../Calibration/VAMOS/FPMW/Toff/Toff24.txt";
+
+    Toff13 = TxtToVector(Path13);
+    Toff14 = TxtToVector(Path14);
+    Toff23 = TxtToVector(Path23);
+    Toff24 = TxtToVector(Path24);
+
+    ProfileEvaluator Profile;
+    Profile.LoadProfile("../Step2/Output/RatioProfile.root","ICOneZeroProfile");
+
+    TCutG *CutZ, *CutZ0 , *CutZ02 , *CutZ023 ,*CutZ0234;
+    TCutG *CutZbis;
+    TFile *fCut;
+    if (cut) {
+        fCut =  TFile::Open("Output/CutDeCorr.root");
+        CutZbis = (TCutG*)fCut->Get("CutZbis") ;
+        CutZ = (TCutG*)fCut->Get("CutZ") ;
+        CutZ0 = (TCutG*)fCut->Get("CutZ0") ;
+        CutZ02 = (TCutG*)fCut->Get("CutZ02") ;
+        CutZ023 = (TCutG*)fCut->Get("CutZ023") ;
+        CutZ0234 = (TCutG*)fCut->Get("CutZ0234") ;
+    }
+
+    TFile *fSpline; 
+    TSpline3 *splineDE,*splineDE0, *splineDE02,*splineDE023,*splineDE0234,*splineDEbis;
+    fSpline= new TFile("Output/splineDE.root","open");
+    splineDE = (TSpline3*) fSpline->Get("SplineDe");
+    splineDE0 = (TSpline3*) fSpline->Get("SplineDe_0");
+    splineDE02 = (TSpline3*) fSpline->Get("SplineDe_02");
+    splineDE023 = (TSpline3*) fSpline->Get("SplineDe_023");
+    splineDE0234 = (TSpline3*) fSpline->Get("SplineDe_0234");
+
+    splineDEbis = (TSpline3*) fSpline->Get("SplineDebis");
+
+    TFile *fSplineIC = new TFile("../Step2/Output/spline_P2P_2024.root","open"); 
+    // Get number of spline
+    int SplineCount = 0 ;
+    TIter next(fSplineIC->GetListOfKeys());
+    TKey* key;
+
+    while ((key=(TKey*)next())){
+        if (std::string(key->GetClassName()) == "TSpline3"){
+            SplineCount ++;
+        }
+    }
+    vector<TSpline3*> spline_X(11), spline_Y(11);
+    for (int i = 0; i < 11  ; i++) {
+        spline_X.at(i) = (TSpline3 *)fSplineIC->Get(Form("fspline_IC%d_X",i));
+        spline_Y.at(i) = (TSpline3 *)fSplineIC->Get(Form("fspline_IC%d_Y",i));
+    } //End loop on histogram
+      //
+      
+    double XmaxDE = 26000, XMaxE = 35000;
+    //Defining output histo
+    TH2F* hDE_E = new TH2F("DE_E","DE_E",1000,0,XMaxE,1000,0,XmaxDE);
+    TH2F* hDE_E_splined = new TH2F("DE_E_splined","DE_E_splined",1000,0,XMaxE,1000,0,XmaxDE);
+    TH2F* hDE_Ebis = new TH2F("DE_Ebis","DE_Ebis",1000,0,XMaxE,1000,0,24000);
+
+    TH2F* hDE_E0 = new TH2F("DE_E0","DE_E0",1000,0,XMaxE,1000,0,XmaxDE);
+    TH2F* hDE_E02 = new TH2F("DE_E02","DE_E02",1000,0,XMaxE,1000,0,XmaxDE);
+    TH2F* hDE_E023 = new TH2F("DE_E023","DE_E023",1000,0,XMaxE,1000,0,XmaxDE);
+    TH2F* hDE_E0234 = new TH2F("DE_E0234","DE_E0234",1000,0,XMaxE,1000,0,XmaxDE);
+    TH2F* hDE_E1234 = new TH2F("DE_E1234","DE_E1234",1000,0,XMaxE,1000,0,XmaxDE);
+
+    TH2F* hDE_Y = new TH2F("DE_Y","DE_Y",250,-1000,1000,250,15000,XmaxDE);    
+    TH2F* hDE0_Y = new TH2F("DE0_Y","DE0_Y",250,-1000,1000,250,15000,XmaxDE);
+    TH2F* hDE02_Y = new TH2F("DE02_Y","DE02_Y",250,-1000,1000,250,15000,XmaxDE);
+    TH2F* hDE023_Y = new TH2F("DE023_Y","DE023_Y",250,-1000,1000,250,15000,XmaxDE);
+    TH2F* hDE0234_Y = new TH2F("DE0234_Y","DE0234_Y",250,-1000,1000,250,15000,XmaxDE);
+
+
+    TH2F* hDE_corr_Y = new TH2F("DE_corr_Y","DE_corr_Y",250,-1000,1000,250,15000,XmaxDE);    
+    TH2F* hDE0_corr_Y = new TH2F("DE0_corr_Y","DE0_corr_Y",250,-1000,1000,250,15000,XmaxDE);
+    TH2F* hDE02_corr_Y = new TH2F("DE02_corr_Y","DE02_corr_Y",250,-1000,1000,250,15000,XmaxDE);
+    TH2F* hDE023_corr_Y = new TH2F("DE023_corr_Y","DE023_corr_Y",250,-1000,1000,250,15000,XmaxDE);
+    TH2F* hDE0234_corr_Y = new TH2F("DE0234_corr_Y","DE0234_corr_Y",250,-1000,1000,250,15000,XmaxDE);
+
+
+
+    TH2F* hDE_Y_cut = new TH2F("DE_Y_cut","DE_Y_cut",250,-1000,1000,250,15000,XmaxDE);
+    TH2F* hDE0_Y_cut = new TH2F("DE0_Y_cut","DE0_Y_cut",250,-1000,1000,250,15000,XmaxDE);
+    TH2F* hDE02_Y_cut = new TH2F("DE02_Y_cut","DE02_Y_cut",250,-1000,1000,250,15000,XmaxDE);
+    TH2F* hDE023_Y_cut = new TH2F("DE023_Y_cut","DE023_Y_cut",250,-1000,1000,250,15000,XmaxDE);
+    TH2F* hDE0234_Y_cut = new TH2F("DE0234_Y_cut","DE0234_Y_cut",250,-1000,1000,250,15000,XmaxDE);
+
+
+    TH2F* hDE_Y_splined = new TH2F("DE_Ysplined","DE_Ysplined",1000,-1000,1000,1000,0,XmaxDE);
+    TH2F* hDE_Y_splined_nocut = new TH2F("DE_Ysplined_nocut","DE_Ysplined_nocut",1000,-1000,1000,1000,0,22000);
+    TH2F* hIC_Y = new TH2F("IC_Y","IC_Y",1000,-1000,1000,1000,0,22000);
+    TH2F* hIC_Y_splined = new TH2F("IC_Ysplined","IC_Ysplined",1000,-1000,1000,1000,0,22000);
+
+
+    TH2F* hDE_Y_corr = new TH2F("DE_Ycorr","DE_Ycorr",1000,-1000,1000,1000,0,22000);
+    TH2F* hDE_Y_corr_nocut = new TH2F("DE_Ycorr_nocut","DE_Ycorr_nocut",1000,-1000,1000,1000,0,22000);
+
+    TH2F* hDE_Y_bis = new TH2F("DE_Ybis","DE_Ybis",1000,-1000,1000,1000,0,22000);
+    TH2F* hDEbis_Y_corr = new TH2F("DE_Ybiscorr","DE_Ybiscorr",1000,-1000,1000,1000,0,22000);
+
+    TH2F* hDE_E_corr = new TH2F("DE_Ecorr","DE_Ecorr",1000,0,XMaxE,1000,0,XmaxDE);
+    TH2F* hDE0_E_corr = new TH2F("DE0_Ecorr","DE0_Ecorr",1000,0,XMaxE,1000,0,XmaxDE);
+    TH2F* hDE02_E_corr = new TH2F("DE02_Ecorr","DE02_Ecorr",1000,0,XMaxE,1000,0,XmaxDE);
+    TH2F* hDE023_E_corr = new TH2F("DE023_Ecorr","DE023_Ecorr",1000,0,XMaxE,1000,0,XmaxDE);
+    TH2F* hDE0234_E_corr = new TH2F("DE0234_Ecorr","DE0234_Ecorr",1000,0,XMaxE,1000,0,XmaxDE);
+    TH2F* hDE_Ebis_corr = new TH2F("DE_Ebiscorr","DE_Ebiscorr",1000,0,XMaxE,1000,0,24000);
+
+    TH2F* hDE_V = new TH2F("DE_V","DE_V",1000,0,5,1000,0,XmaxDE);
+
+    // Def Lim spline
+    double Ymin = -1000 , Ymax =1000;
+    //===========================================================================================================
+    //                                        Event Loop
+    //===========================================================================================================
+    int Nentries = chain->GetEntries();
+    //int Nentries = 2000000;
+    //int Nentries = 22000;
+    int NSegment = 11;
+    ofstream debug("Output/Debug.txt");
+    //save data for clustering
+
+    auto start = std::chrono::high_resolution_clock::now();
+    for (int e = 0; e < Nentries; e++) {
+        if (e % 100000  == 0 && e > 0 ) {
+            auto now = std::chrono::high_resolution_clock::now();
+            std::chrono::duration<double> elapsed = now - start;
+            double avgTimePerIteration = elapsed.count() / e;
+            double timeLeft = avgTimePerIteration * (Nentries - e);
+
+            std::cout << "********** Estimated time left: " << int(timeLeft) << " seconds **********" << "\r" << flush;
+        }
+
+        chain->GetEntry(e);
+        vector<double> ICcorr_Y(NSegment), ICcorr_X(NSegment); 
+        vector<double> Temp_X(NSegment) , Temp_Y(NSegment);    
+
+
+
+        if (Time->GetMWPC13Mult() ==1 && IC->fIC_TS.size()>=8 ){ //only mult 1 event
+            UShort_t FPMW_Section = Time->GetSection_MWPC3(0);
+            double FF_DriftTime =  10* (IC->fIC_TS.at(0) - Time->GetTS_MWPC13(0)) - ((Time->GetTime_MWPC13(0)+Toff13.at(FPMW_Section))) ;
+
+            for (int seg = 1; seg < IC->fIC_TS.size() ; seg++) { // loop on multiplicity of event
+                if (seg == NSegment) seg = 0; //from 1to NSeg finishing with 0
+
+                double FF_DriftTime_temp = 10* (IC->fIC_TS.at(seg) - Time->GetTS_MWPC13(0)) - ((Time->GetTime_MWPC13(0)+Toff13.at(FPMW_Section))) ;
+                if (spline_Y.at(seg)==0){
+                    ICcorr_Y.at(seg) = IC->fIC_PID[seg]; 
+                }
+
+                else {
+                    if (seg == 0) {
+                        ICcorr_Y.at(seg) = ICcorr_Y.at(0) * spline_Y.at(0)->Eval(0)/spline_Y.at(0)->Eval(FF_DriftTime);
+                    }
+
+                    else if (seg == 1){ 
+                        ICcorr_Y.at(seg) = IC->fIC_PID[1]*spline_Y.at(1)->Eval(0)/spline_Y.at(1)->Eval(FF_DriftTime);
+                    }
+
+                    else if (seg > 1) {
+                        ICcorr_Y.at(seg) = IC->fIC_PID[seg] * spline_Y.at(seg)->Eval(0)/ spline_Y.at(seg)->Eval(FF_DriftTime);
+                    }
+                    if (!(ICcorr_Y.at(seg)==ICcorr_Y.at(seg))) ICcorr_Y.at(seg) = 0;
+                } //end if non empty
+                if (seg == 0) break;
+            }//endloop seg
+
+
+
+            //Double_t PolX =  -3.10262 * 1e-7 *FF_IC_X*FF_IC_X - 7.02108 * 1e-5 * FF_IC_X + 1.37622;
+            Double_t PolX =  1.37622;
+
+            Double_t ICRatio =  IC->fIC_PID[1]/IC->fIC_PID[0];
+            Double_t ICRatioCorr =  ICRatio * PolX / Profile.Evaluate(FF_IC_X,FF_DriftTime,false);
+            Double_t ICcorr_Y0 = IC->fIC_PID[0] / PolX * Profile.Evaluate(FF_IC_X,FF_DriftTime,false);
+
+            if ( ICRatioCorr<1.4 || ICRatioCorr >1.5){
+                ICRatioCorr =  ICRatio * PolX / Profile.Evaluate(FF_IC_X,FF_DriftTime,false);
+                ICcorr_Y0 =     IC->fIC_PID[0] / PolX * Profile.Evaluate(FF_IC_X,FF_DriftTime,false);
+                if (ICRatioCorr >100) {
+                    ICcorr_Y0 = IC->fIC_PID[0];
+                }
+            }
+
+            double DE = 0 , DE_splined=0 ,DE_corr=0, DE_Ybis=0;
+            double E =0, E_splined=0;
+
+            for (int seg = 0 ;  seg < sizeof(IC->fIC_PID)/sizeof(IC->fIC_PID[0]) ; seg++ ){
+                if (seg >4){
+                    //E +=double(IC->fIC_PID[seg]) ;
+                    E += ICcorr_Y.at(seg);
+                }
+            }
+
+
+
+            // ********************* DE setter *********************
+            double IC1corr = (IC->fIC_PID[1]*(1-0.000686068*FF_IC_Y))*(1-4.88238e-05*FF_IC_Y+7.40395e-06*FF_IC_Y*FF_IC_Y);
+            double DE_Bis = (IC1corr+IC->fIC_PID[2]+IC->fIC_PID[3])+IC->fIC_PID[4];
+
+            DE =           ( IC->fIC_PID[0]+ double(IC->fIC_PID[1]) +double(IC->fIC_PID[2])+ double(IC->fIC_PID[3])) + double(IC->fIC_PID[4]);
+            DE_splined =    ( ICcorr_Y0+ ICcorr_Y.at(1) +IC->fIC_PID[2]+ IC->fIC_PID[3]) + IC->fIC_PID[4];
+            double DE0 =    ( ICcorr_Y0 + ICcorr_Y.at(1) +IC->fIC_PID[2] + IC->fIC_PID[3]) + IC->fIC_PID[4];
+            double DE02 =   ( ICcorr_Y0+ ICcorr_Y.at(1) +ICcorr_Y.at(2)+ IC->fIC_PID[3]) + IC->fIC_PID[4];
+            double DE023 =  ( ICcorr_Y0+ ICcorr_Y.at(1) +ICcorr_Y.at(2)+ ICcorr_Y.at(3)) + IC->fIC_PID[4];
+            double DE0234 = ( ICcorr_Y0+ ICcorr_Y.at(1) +ICcorr_Y.at(2)+ ICcorr_Y.at(3)) + ICcorr_Y.at(4);
+            double DE1234 = ( double(IC->fIC_PID[1]) +double(IC->fIC_PID[2])+ double(IC->fIC_PID[3])) + double(IC->fIC_PID[4]);
+            //DE_splined = 0.5*( ICcorr_Y[1] +IC->fIC_PID[2]+IC->fIC_PID[3])+IC->fIC_PID[4];
+
+
+            //************* Cut ******************
+            bool CutV = abs( E-6000)<500;
+            bool CutVbis =  abs( E-6000)<500;
+
+            //bool CutV = true;
+            //bool CutVbis =  true;
+
+            //***********Fill histo*************
+
+            if (/*FF_DriftTime >Ymin && FF_DriftTime <Ymax && (FF_Theta >0)*/ true){
+
+                //*************Init DE_E***************** 
+                hDE_E         -> Fill(E,DE);
+                hDE_E_splined -> Fill(E,DE_splined);
+                hDE_E0        -> Fill(E,DE0);
+                hDE_E02       -> Fill(E,DE02);
+                hDE_E023      -> Fill(E,DE023);
+                hDE_E0234     -> Fill(E,DE0234);
+                hDE_E1234     -> Fill(E,DE1234);
+
+                hDE_Ebis->Fill(E,DE_Bis);
+                hDE_V->Fill(FF_V13,DE_splined);    
+
+                //******* Coor DE ************
+                if (spline== true  ){     
+                    double DE_corr = DE * splineDE->Eval(0) / splineDE->Eval(FF_DriftTime);
+                    double DE0_corr = DE0 * splineDE0->Eval(0) / splineDE0->Eval(FF_DriftTime);
+                    double DE02_corr = DE02 * splineDE02->Eval(0) / splineDE02->Eval(FF_DriftTime);
+                    double DE023_corr = DE023 * splineDE023->Eval(0) / splineDE023->Eval(FF_DriftTime);
+                    double DE0234_corr = DE0234 * splineDE0234->Eval(0) / splineDE0234->Eval(FF_DriftTime);
+
+                    for(int i =0 ; i<5 ; i++){
+                        if (i==0) debug << ICcorr_Y0 << "  ";
+                        else debug << ICcorr_Y.at(i) << "  " ;
+                    }
+                    debug << IC->fIC_PID[4];
+                    debug << endl;
+
+                    hDE_E_corr->Fill(E,DE_corr);
+                    hDE0_E_corr->Fill(E,DE0_corr);
+                    hDE02_E_corr->Fill(E,DE02_corr);
+                    hDE023_E_corr->Fill(E,DE023_corr);
+                    hDE0234_E_corr->Fill(E,DE0234_corr);
+
+                    if (CutV){
+                        hDE_corr_Y->Fill(FF_DriftTime,DE_corr);
+                        hDE0_corr_Y->Fill(FF_DriftTime,DE0_corr);
+                        hDE02_corr_Y->Fill(FF_DriftTime,DE02_corr);
+                        hDE023_corr_Y->Fill(FF_DriftTime,DE023_corr);
+                        hDE0234_corr_Y->Fill(FF_DriftTime,DE0234_corr);
+                    }
+
+
+                    DE_Ybis = DE_Bis * splineDEbis->Eval(0) / splineDEbis->Eval(FF_DriftTime);
+                    hDE_Ebis_corr->Fill(E,DE_Ybis); 
+
+                }   
+
+                else {
+                    DE_corr = DE_splined;
+
+                    DE_Ybis = DE_Bis ;
+                    hDE_Ebis_corr->Fill(E,DE_Ybis);  
+                }
+
+
+                if (cut == true ) {
+                    bool CutCharge     =  CutZ->IsInside(FF_DriftTime,DE);
+                    bool CutCharge0     =  CutZ0->IsInside(FF_DriftTime,DE0);
+                    bool CutCharge02    =  CutZ02->IsInside(FF_DriftTime,DE02);
+                    bool CutCharge023   =  CutZ023->IsInside(FF_DriftTime,DE023);
+                    bool CutCharge0234  =  CutZ0234->IsInside(FF_DriftTime,DE0234);
+
+
+                    if (CutV ) {
+                        hDE_Y_corr_nocut->Fill(FF_DriftTime,DE_corr);
+                        hDE_Y_splined_nocut->Fill(FF_DriftTime,DE_splined);
+                        hDE_Y->Fill(FF_DriftTime,DE);
+                        hDE_Y_splined->Fill(FF_DriftTime,DE_splined); 
+                        hDE_Y_corr->Fill(FF_DriftTime,DE_corr);
+
+                        hIC_Y->Fill(FF_DriftTime,IC->fIC_PID[0]);
+                        hIC_Y_splined->Fill(FF_DriftTime,ICcorr_Y0);
+
+
+                        hDE_Y->Fill(FF_DriftTime,DE);
+                        hDE0_Y->Fill(FF_DriftTime,DE0);
+                        hDE02_Y->Fill(FF_DriftTime,DE02);
+                        hDE023_Y->Fill(FF_DriftTime,DE023);
+                        hDE0234_Y->Fill(FF_DriftTime,DE0234);
+
+
+
+                        if (CutCharge)  hDE_Y_cut->Fill(FF_DriftTime,DE);
+                        if (CutCharge0)  hDE0_Y_cut->Fill(FF_DriftTime,DE0);
+                        if (CutCharge02)  hDE02_Y_cut->Fill(FF_DriftTime,DE02);
+                        if (CutCharge023)  hDE023_Y_cut->Fill(FF_DriftTime,DE023);
+                        if (CutCharge0234)  hDE0234_Y_cut->Fill(FF_DriftTime,DE0234);
+                    }
+                }//end cut
+                else {     
+                    if(true ){ 
+                        hDE_Y_bis->Fill(FF_DriftTime,DE_Bis);
+                        hDE_Y_splined->Fill(FF_DriftTime,DE_splined); 
+                        hDE_Y_corr->Fill(FF_DriftTime,DE_corr);
+
+                        hIC_Y->Fill(FF_DriftTime,IC->fIC_PID[0]);
+                        hIC_Y_splined->Fill(FF_DriftTime,ICcorr_Y0);
+
+                        if (CutV ) {
+                            hDE_Y->Fill(FF_DriftTime,DE);
+                            hDE0_Y->Fill(FF_DriftTime,DE0);
+                            hDE02_Y->Fill(FF_DriftTime,DE02);
+                            hDE023_Y->Fill(FF_DriftTime,DE023);
+                            hDE0234_Y->Fill(FF_DriftTime,DE0234);
+                        }
+
+                    }
+                }
+
+                if (cut == true && CutVbis) {
+                    hDEbis_Y_corr->Fill(Y,DE_Ybis);
+                }
+                else{;}
+                //end cut
+            }//end cond Y
+        } // End mult 1
+    } //endl loop event
+
+    // making spline
+
+    TSpline3  *splineDe, *splineDe0, *splineDe02,*splineDe023,*splineDe0234,*osplineDEbis;
+    splineDe = MakeSpline(hDE_Y_cut,0,Ymin,Ymax,15000,23000); 
+    splineDe0 = MakeSpline(hDE0_Y_cut,1,Ymin,Ymax,15000,23000); 
+    splineDe02 = MakeSpline(hDE02_Y_cut,2,Ymin,Ymax,15000,23000); 
+    splineDe023 = MakeSpline(hDE023_Y_cut,3,Ymin,Ymax,15000,23000); 
+    splineDe0234 = MakeSpline(hDE0234_Y_cut,4,Ymin,Ymax,15000,23000); 
+    osplineDEbis = MakeSpline(hDE_Y,5,Ymin,Ymax,0,23000); 
+
+    TFile *fSplineDE = new TFile("Output/splineDE.root","recreate");
+
+    splineDe->SetName("SplineDe");
+    splineDe->Write();
+
+    splineDe0->SetName("SplineDe_0");
+    splineDe0->Write();
+
+    splineDe02->SetName("SplineDe_02");
+    splineDe02->Write();
+
+    splineDe023->SetName("SplineDe_023");
+    splineDe023->Write();
+
+    splineDe0234->SetName("SplineDe_0234");
+    splineDe0234->Write();
+
+    osplineDEbis->SetName("SplineDebis");
+    osplineDEbis->Write(); 
+    fSplineDE->Close();
+
+    //output calibration
+    TFile *fSplineDEY = new TFile("../../../../Calibration/VAMOS/CHIO/Spline_DE.root","recreate");
+    splineDe0234->SetName("fspline_1");
+    splineDe0234->Write();
+    fSplineDEY->Close();
+
+    //===========================================================================================================
+    //                                          Drawing histo
+    //===========================================================================================================
+
+    gStyle->SetPalette(kRainBow);
+    // =========== Poster plot=============================
+
+    /*
+       TCanvas* c8 = new TCanvas("DE Before correction","DE Before correction",4000,4000); 
+       hDE_E->GetXaxis()->SetTitle("E (A.U)");
+       hDE_E->GetXaxis()->SetRangeUser(3000,35000);
+       hDE_E->GetXaxis()->CenterTitle();
+
+       hDE_E->GetYaxis()->SetTitle("#Delta E (A.U)");
+       hDE_E->GetYaxis()->SetRangeUser(6000,26000);
+       hDE_E->GetYaxis()->CenterTitle();
+
+       hDE_E->GetZaxis()->SetRangeUser(0,140);
+       hDE_E->GetZaxis()->SetTitle("Number of events");
+       hDE_E->GetZaxis()->CenterTitle();
+
+       hDE_E->SetTitle("PID VAMOS before correction");
+       hDE_E->SetStats(0);
+       hDE_E->Draw("COLZ");
+
+       c8->SetCanvasSize(4000,3000);
+       c8->SaveAs("~/These/Plot/Poster/VamosPIDBeforeCorr.png");
+       c8->SaveAs("~/These/Plot/Poster/VamosPIDBeforeCorr.pdf");
+       c8->SaveAs("~/These/Plot/Poster/VamosPIDBeforeCorr.jpg");
+
+       TCanvas* c9 = new TCanvas("DE after correction","DE after correction",1000,1000);
+
+       hDE0234_E_corr->GetXaxis()->SetTitle("E (A.U)");
+       hDE0234_E_corr->GetXaxis()->SetRangeUser(3000,35000);
+       hDE0234_E_corr->GetXaxis()->CenterTitle();
+
+       hDE0234_E_corr->GetYaxis()->SetTitle("#Delta E (A.U)");
+       hDE0234_E_corr->GetYaxis()->SetRangeUser(6000,26000);
+       hDE0234_E_corr->GetYaxis()->CenterTitle();
+
+       hDE0234_E_corr->GetZaxis()->SetRangeUser(0,140);
+       hDE0234_E_corr->GetZaxis()->SetTitle("Number of events");
+       hDE0234_E_corr->GetZaxis()->CenterTitle();
+
+       hDE0234_E_corr->SetTitle("PID VAMOS after correction");
+       hDE0234_E_corr->SetStats(0);
+       hDE0234_E_corr->Draw("COLZ");
+
+       c9->SetCanvasSize(4000,3000);
+       c9->SaveAs("~/These/Plot/Poster/VamosPIDAfterCorr.png");
+       c9->SaveAs("~/These/Plot/Poster/VamosPIDAfterCorr.pdf");
+       c9->SaveAs("~/These/Plot/Poster/VamosPIDAfterCorr.jpg");
+    //gStyle->SetOptStat(1);
+    // =========== Poster plot=============================
+    */
+
+
+    TCanvas* c7 = new TCanvas("correction succesive","correction succesive",1500,1000);
+    c7->Divide(6);
+
+    c7->cd(1); 
+    hDE_E->Draw();
+
+    c7->cd(2); 
+    hDE_E0->GetXaxis()->SetTitle("E");
+    hDE_E0->GetYaxis()->SetTitle("DE");
+    hDE_E0->Draw();
+
+    c7->cd(3); 
+    hDE_E02->GetXaxis()->SetTitle("E");
+    hDE_E02->GetYaxis()->SetTitle("DE");
+    hDE_E02->Draw();
+
+    c7->cd(4); 
+    hDE_E023->GetXaxis()->SetTitle("E");
+    hDE_E023->GetYaxis()->SetTitle("DE");
+    hDE_E023->Draw();
+
+    c7->cd(5); 
+    hDE_E0234->GetXaxis()->SetTitle("E");
+    hDE_E0234->GetYaxis()->SetTitle("DE");
+    hDE_E0234->Draw();
+
+    c7->cd(6); 
+    hDE_E1234->GetXaxis()->SetTitle("E");
+    hDE_E1234->GetYaxis()->SetTitle("DE");
+    hDE_E1234->Draw();
+
+
+
+    TCanvas *c4 = new TCanvas("c4","c4",1500,1000);
+    c4->Divide(5);
+    c4->cd(1);
+    hDE_Y->Draw();
+
+    c4->cd(2);
+    hDE0_Y->Draw();
+
+    c4->cd(3);
+    hDE02_Y->Draw();
+
+    c4->cd(4);
+    hDE023_Y->Draw();
+
+    c4->cd(5);
+    hDE0234_Y->Draw();
+
+    TCanvas *c4bis = new TCanvas("c4bis","c4bis",1500,1000);
+    c4bis->Divide(5);
+    c4bis->cd(1);
+    hDE_corr_Y->Draw();
+
+    c4bis->cd(2);
+    hDE0_corr_Y->Draw();
+
+    c4bis->cd(3);
+    hDE02_corr_Y->Draw();
+
+    c4bis->cd(4);
+    hDE023_corr_Y->Draw();
+
+    c4bis->cd(5);
+    hDE0234_corr_Y->Draw();
+
+
+
+
+    TCanvas* c2 = new TCanvas("c2","c2",1500,1000);
+    c2->Divide(6 );
+
+    c2->cd(1);
+    gPad->Modified();
+    gPad->Update(); 
+    hDE_E_corr->Draw("colz");
+    hDE_E_corr->GetXaxis()->SetTitle("E");
+    hDE_E_corr->GetYaxis()->SetTitle("DE");
+
+    c2->cd(2);
+    gPad->Modified();
+    gPad->Update();
+    hDE0_E_corr->Draw("colz");
+    hDE0_E_corr->GetXaxis()->SetTitle("E");
+    hDE0_E_corr->GetYaxis()->SetTitle("DE");
+
+    c2->cd(3);
+    gPad->Modified();
+    gPad->Update();
+    hDE02_E_corr->Draw("colz");
+    hDE02_E_corr->GetXaxis()->SetTitle("E");
+    hDE02_E_corr->GetYaxis()->SetTitle("DE");
+
+    c2->cd(4);
+    gPad->Modified();
+    gPad->Update();
+    hDE023_E_corr->Draw("colz");
+    hDE023_E_corr->GetXaxis()->SetTitle("E");
+    hDE023_E_corr->GetYaxis()->SetTitle("DE");
+
+    c2->cd(5);
+    gPad->Modified();
+    gPad->Update();
+    hDE0234_E_corr->Draw("colz");
+
+    c2->cd(6);
+    hDE_Ebis->SetTitle("online");
+    gPad->Modified();
+    gPad->Update();
+    hDE_Ebis->Draw("colz");
+    hDE_Ebis->GetXaxis()->SetTitle("E");
+    hDE_Ebis->GetYaxis()->SetTitle("DE");
+
+
+    //===========================================================================================================
+    //						Save for further analysis
+    //===========================================================================================================
+
+    TFile *oSaved = new TFile("Output/DE_E.root","recreate");
+    hDE0234_E_corr->Write();
+    TH2toCSV(hDE0234_E_corr,"Output/DE_E.csv");
+
+} // End spline chio XY
+
+
+int GetNumberKey(TFile *infile ,const char* ClassName){
+    // Get number of spline
+    int KeyCount = 0 ;
+    TIter next(infile->GetListOfKeys());
+    TKey* keyFit;
+
+    while ((keyFit=(TKey*)next())){
+        if (std::string(keyFit->GetClassName()) == ClassName){
+            KeyCount ++;
+        }
+    }
+
+    return KeyCount;
+
+}
+
+TSpline3* MakeSpline(TH2F* hInput, Int_t NCallee, double XMin = 0 , double
+        XMax = 1000 , double YMin=0 , double YMax = 100) {
+
+    TSpline3* gspline;
+
+    TH1F* hProfile;
+    TH1F* pfx; // extended hProfile
+
+    TCanvas* canfit = new TCanvas(Form("CanSpline_%02d",NCallee),
+            Form("canfit_%02d",NCallee), 0, 0, 1000, 500);
+
+
+    //===========================================================================================================
+    //                                            Init profile
+    //===========================================================================================================
+
+    // Create the TProfile
+    hProfile = (TH1F*)hInput->ProfileX();
+    hProfile->SetLineWidth(2);
+    hProfile->SetDirectory(0);
+    canfit->cd();
+
+    hProfile->GetYaxis()->SetRangeUser(YMin, YMax);
+    hProfile->Draw();
+    //===========================================================================================================
+    //                                          First and last bin to get to 6k
+    //                                          event get promoted
+    //===========================================================================================================
+    int FirstBin, LastBin;
+    double Treshold = 0;
+    for (int bin =1 ; bin<hProfile->GetNbinsX(); bin++) {
+        FirstBin = bin;
+        if (hProfile->GetBinLowEdge(bin)> XMin) break;
+    }
+    for (int bin = hProfile->GetNbinsX(); bin>1 ; bin--) {
+        LastBin = bin;
+        if (hProfile->GetBinLowEdge(bin)< XMax) break;
+    }
+    //===========================================================================================================
+    //                                          Init Extended profile function
+    //===========================================================================================================
+    // Create the extended TProfile
+    pfx = new TH1F(
+            Form("pfx_%02d", Int_t(NCallee/2)), Form("pfx_%02d", Int_t(NCallee/2)), hProfile->GetNbinsX(), hProfile->GetBinLowEdge(1),
+            hProfile->GetBinLowEdge(hProfile->GetNbinsX()) + hProfile->GetBinWidth(hProfile->GetNbinsX()));
+    pfx->SetLineColor(8);
+    pfx->SetDirectory(0);
+    //===========================================================================================================
+    //                                           Fill extended profile
+    //===========================================================================================================
+
+    // fill the extended TProfile
+    float newval, lastval, lasterr;
+    for (int bin = 1; bin <= FirstBin; bin++) {
+        newval = 0;
+        pfx->SetBinContent(bin, newval);
+    }
+
+
+    for (int bin = FirstBin; bin <= LastBin; bin++) {
+        newval = hProfile->GetBinContent(bin);
+        if (newval != 0) {
+            pfx->SetBinContent(bin, newval);
+            pfx->SetBinError(bin, hProfile->GetBinError(bin));
+            lastval = newval;
+            lasterr = hProfile->GetBinError(bin);
+        }
+        else {
+            pfx->SetBinContent(bin, lastval);
+            pfx->SetBinError(bin, lasterr);
+        }
+    }
+    pfx->Draw("same");
+
+    gspline = new TSpline3(pfx);
+    gspline->SetName(Form("fspline_%d", NCallee + 1));
+
+    return gspline;
+
+} // end makespline
+
+vector<double> TxtToVector(const char *Path){
+    string line;
+    vector<double> values;
+    ifstream file(Path); 
+
+    if (file.is_open()) {
+        while (std::getline(file, line)) {
+            try {
+                values.push_back(std::stod(line));
+            } catch (const std::invalid_argument& e) {
+                std::cerr << "Invalid number in line: " << line << '\n';
+            }
+        }
+        file.close();
+    } else {
+        std::cerr << "Error opening file.\n";
+    }
+
+    return values;
+}
+
+// Example: Export 2D data for external clustering
+void TH2toCSV(TH2F* h2, const char *PathOut) {
+    std::ofstream outFile(PathOut);
+    outFile << "E,DE,content\n"; // CSV header
+    for (int i = 1; i <= h2->GetNbinsX(); ++i) {
+        for (int j = 1; j <= h2->GetNbinsY(); ++j) {
+            double content = h2->GetBinContent(i, j);
+            if (content > 0) {
+                double x = h2->GetXaxis()->GetBinCenter(i);
+                double y = h2->GetYaxis()->GetBinCenter(j);
+                outFile << x << "," << y << "," << content << std::endl;
+            }
+        }
+    }
+    outFile.close();
+}
diff --git a/Projects/AlPhaPha/2024/macro/Calibration/IC/Step3/Output/ReadMe.md b/Projects/AlPhaPha/2024/macro/Calibration/IC/Step3/Output/ReadMe.md
new file mode 100644
index 0000000000000000000000000000000000000000..272c724617dcfb0fbd856cccfc5a3e983486a7d6
--- /dev/null
+++ b/Projects/AlPhaPha/2024/macro/Calibration/IC/Step3/Output/ReadMe.md
@@ -0,0 +1,2 @@
+# Output Dir
+
diff --git a/Projects/AlPhaPha/2024/macro/Calibration/IC/Step4/CutAutoDEE.C b/Projects/AlPhaPha/2024/macro/Calibration/IC/Step4/CutAutoDEE.C
new file mode 100644
index 0000000000000000000000000000000000000000..a6bc5fa1955e5fcdb4e44f725ba89abb2ed0eec3
--- /dev/null
+++ b/Projects/AlPhaPha/2024/macro/Calibration/IC/Step4/CutAutoDEE.C
@@ -0,0 +1,569 @@
+#include "CutAutoDEE.h"
+#include <numeric>
+#include <set>
+#include <iostream>
+#include <unordered_map>
+
+// Important variable
+#define STEP  2;        // Step to parse through the histogram in X
+#define BINSIZE 15;    // Size of the bin in X on which to projectY the plot
+
+
+//Main
+void CutAutoDEE(){
+
+    // Retrieve initial histogram
+    TFile *inFile = new TFile("Output/DE_E_merged.root","open");
+    TH2F *hDE_E = (TH2F*)inFile->Get("DE_E");
+    // Inverse data to use tspectrum
+    for (int xBin=1; xBin<= hDE_E->GetNbinsX();xBin++){
+        for (int yBin=1; yBin<= hDE_E->GetNbinsY();yBin++){
+        hDE_E->SetBinContent(xBin,yBin , -hDE_E->GetBinContent(xBin,yBin));
+        }
+    }
+
+    //Store result of peak finding
+    //This is not a good way to do this : We should normalize the structure of the code by
+    //directly using a PeakData class to store each of the peak.
+    vector<int> *vPeaks = new vector<int>() ;
+    vector<TSpectrum*> *vPeakFinder = new vector<TSpectrum*>();
+    vector<vector<Double_t>> *LinePos = new vector<vector<Double_t>> ;
+
+    // Tspectrum used to find the peak : If you have problem with peak finding
+    // adjust the setting in this function 
+    // Step and Binsize are used in this function
+    Double_t sigma = 3;
+    Double_t threshold = 0.003;
+    PeakFinder(vPeakFinder,vPeaks,hDE_E,LinePos,sigma,threshold);
+
+
+    // Link the peak, this is where the most critical variable are.
+    // Specifically the maximum distance between each peak and the minimum number of peak in a line 
+    vector<TCutG*> CutLine =  PeakLinker(LinePos);
+
+    // Inverse data for plotting
+    for (int xBin=1; xBin<= hDE_E->GetNbinsX();xBin++){
+        for (int yBin=1; yBin<= hDE_E->GetNbinsY();yBin++){
+        hDE_E->SetBinContent(xBin,yBin , -hDE_E->GetBinContent(xBin,yBin));
+        }
+    }
+    
+    //Plot
+    gStyle->SetPalette(kRainBow);
+    TCanvas* c2 = new TCanvas("c2","c2");
+    hDE_E->Draw("colz");
+
+    TCanvas* c3 = new TCanvas("c3","c3");
+    hDE_E->Draw("colz");
+    for (auto cut : CutLine){
+        cut->Draw("SAME");
+    }
+    
+    //Save the cut !
+    TFile *ofile = new TFile("Output/CutAutoZ.root","RECREATE");
+    for (auto cut : CutLine){
+        cut->Write();
+    }
+    ofile->Close();
+}
+
+/** 
+  *  Find the peak of an histogram by subdivinding the histogram on it's x axis.
+  *  Store the number of peak and their position in different vector
+  *
+  *  input and Output:
+  *     vector<TSpectrum*> *sPeak : Vector of TSpectrum to output
+  *     vector<int> *vPeak        : Vector of number of peak for each bin range
+  *     vector<vector<Double_t>> *LinePos : Vector of position of each peak for each bin range 
+  */
+void PeakFinder(vector<TSpectrum*> *sPeak , vector<int> *vPeak, TH2F *h, vector<vector<Double_t>> *LinePos, Double_t sigma, Double_t threshold){
+
+    // Initialising
+    int nbinsX = h->GetNbinsX();
+    int iter = 0;
+    int stepParsing = STEP;
+    int SizeBin = BINSIZE;
+
+    // Looping on the histogram x axis.
+    for (int i = 1; i <= nbinsX; i += stepParsing) {
+
+        // Limit in binnumber
+        iter +=1;
+        int x1 = i;
+        int x2 = std::min(i + SizeBin - 1, nbinsX);
+
+        // Projection on Y between the binnumber
+        TString projName = Form("projY_%d_to_%d", x1, x2);
+        TH1D* projY = h->ProjectionY(projName, x1, x2);
+        projY->SetTitle(Form("Projection Y: bins %d to %d", x1, x2));
+
+        // PeakFinder
+		TSpectrum *PeakFinder = new TSpectrum(100); 
+		int nPeaks = PeakFinder->Search(projY,sigma,"",threshold);
+      
+        //Store npeaks and tspectrum
+        vPeak->push_back(nPeaks); // number of peak for this bin range
+        sPeak->push_back(PeakFinder);
+
+        //Save the position of each peak
+        Double_t * x = PeakFinder->GetPositionX();
+        
+        for(int peaks = 0 ; peaks < nPeaks ; peaks++){
+            vector<Double_t> Position(2); 
+            Position.at(0) = (double(i) + double(SizeBin)/2.0) * h->GetXaxis()->GetBinWidth(4) ; //Retrieve E position as the center
+                                                                                              //of the bin
+            Position.at(1) = PeakFinder->GetPositionX()[peaks]; // Position in DE
+            LinePos->push_back(Position);
+        }
+
+
+        //Test
+        if (true && iter ==50){
+            // Draw the histogram
+            TCanvas* c = new TCanvas(Form("c%d",i), Form("Histogram with E = %f",(h->GetXaxis()->GetBinCenter(i))), 800, 600);
+            projY->Draw();
+        }
+
+    }
+}
+
+/** 
+  *  Link the different point to create TCUT from the peak found previously
+  *  To do so a max range is given and then all point separated by a distance inferior to it are linked.
+  *
+  *  Input :
+  *     vec<vec<Double>> *LinePos : pointer to a vector of length number of peak holding position in x and y for each peak
+  *  Output:
+  *    TCUTG : a cut for each charge in vamos
+  */
+vector<TCutG*> PeakLinker(vector<vector<Double_t>> *LinePos){
+
+    //Retrieve position of peaks
+    vector<Double_t> X , Y ;
+    for (int ipeak = 0; ipeak<LinePos->size() ; ipeak ++){
+        X.push_back(LinePos->at(ipeak).at(0));  
+        Y.push_back(LinePos->at(ipeak).at(1));
+    }
+
+    //===========================================================================================================
+    //                             1. Find the threshold between two point
+    //===========================================================================================================
+  
+    // Find the distance between two point in X.
+    //Sort the vec
+    vector<Double_t> XSub(X); 
+    sort(XSub.begin(),XSub.end());    
+
+	//Take only the unique element 
+    set<Double_t> SetX(XSub.begin() , XSub.end());
+    vector<Double_t> XThresh ;
+    for (Double_t elem : SetX) {
+        XThresh.push_back(elem);
+    } 
+
+	//Find the average dist in X
+    vector<Double_t> DiffX = diff(XThresh);
+    Double_t ThresholdX ;
+	for (int i =0 ; i<DiffX.size() ; i++) { ThresholdX += DiffX.at(i);}
+	ThresholdX = ThresholdX / DiffX.size();	
+
+
+    // In Y the threshold is not easily findable, However it's critical that the threshold 
+    // is superior to the average distance in X. If not line can't be found by construction
+    // The threshold should also be inferior to the distance between each line in Y
+    // To do so adjust the bin STEP at the beginning of the code.
+
+    //Very important set
+    Double_t Threshold = ThresholdX + 32;
+    cout << "Threshold X : "  << ThresholdX  << endl;
+    cout <<   "N of X "       << SetX.size() << endl;
+    cout << "Threshold " << Threshold << endl;
+
+    //===========================================================================================================
+    //                                           2.LINK POINT
+    //===========================================================================================================
+   
+    // Now that the threshold is found we will link the point by comparing each point 
+    // Notice that if two point have the same X they can't be linked 
+
+    // Create a vector holding the id of each peak
+    int ID = 0 ; // Initial Id of the first line
+    vector<int> vID(LinePos->size(), -1000);
+
+    // We want to loop on the UNIDENTIFIED peak.
+    for (int ipeak = 0 ; ipeak < LinePos->size() ; ipeak ++){
+
+        //Here do ID manipulation
+        //Create a set of ID without the unidentified peak
+        set<int> SetId(vID.begin() , vID.end());
+        if (SetId.size() > 1 ) {SetId.erase(-1000) ;  ID = *prev(SetId.end()) + 1 ;}
+
+        //If the current peak is identified set newID to it's ID
+        if (vID.at(ipeak) != -1000) ID = vID.at(ipeak); // If the point is identified propagate it!
+
+        Double_t XPosPeak = LinePos->at(ipeak).at(0);
+        Double_t YPosPeak = LinePos->at(ipeak).at(1);
+
+
+        // Parse through all the next peak
+        // This could be done faster by sorting the list by X and Y before and stoping after a threshold
+        // For now it'll do just fine
+        for (int ipeakCompare = ipeak + 1  ; ipeakCompare < LinePos->size() ; ipeakCompare ++){
+           
+            if ((vID.at(ipeakCompare) != -1000) || (XPosPeak == LinePos->at(ipeakCompare).at(0)))  continue; // If the point is identified skip it !
+            
+            //Calculate the distance between the two peak
+            Double_t XPosPeakComp = LinePos->at(ipeakCompare).at(0);
+            Double_t YPosPeakComp = LinePos->at(ipeakCompare).at(1);
+            Double_t dist = sqrt( pow(abs(XPosPeak-XPosPeakComp),2) +  pow(abs(YPosPeak-YPosPeakComp),2) );
+
+            //If the distance is inferior to the threshold then set both ID to the new one !
+            if (dist < Threshold ) {
+                vID.at(ipeak) = ID ;
+                vID.at(ipeakCompare) = ID ;                    
+            } // end threshold if 
+        } // end compare
+    }   // end loop peak
+
+    //Check if needed
+    /*
+       for (int i=0 ; i<vID.size() ; i++){
+       if (vID.at(i)!=-1000){
+       cout << vID.at(i) << " , ";
+       }
+       }
+       */
+
+
+
+
+    // Here we flush all the id that have less element than a threshold value
+    //===========================================================================================================
+    //                                 3. Flush line with not enough value
+    //===========================================================================================================
+   
+    //This is a pretty sensitive variable 
+    int MinElem = SetX.size()/6;
+    cout << "Min Elem " << MinElem << endl ;
+
+
+    set<int> SetIdTemp(vID.begin() , vID.end());
+    for (int Id : SetIdTemp){
+        int NId = 0 ;
+        for (int ipeak = 0 ; ipeak < vID.size() ; ipeak ++) {
+            if (vID.at(ipeak) == Id) NId += 1 ;
+        }
+        if ( NId < MinElem ) {
+
+            for (int ipeak = 0 ; ipeak < vID.size() ; ipeak ++) {
+                if (vID.at(ipeak) == Id) vID.at(ipeak) = -1000 ;
+            }
+
+        }
+    }
+
+    //===========================================================================================================
+    //                                    4. TCutG Creator
+    //===========================================================================================================
+
+    // We now have identified each peak to a id that correspond to a line in the DE E
+    // Now we need to link the ADJACENT line and then transform those point into tcutg
+
+    set<int> SetId(vID.begin() , vID.end()); // This is all the unique element of vID 
+    vector<int> IndexPeak(LinePos->size());
+    for (int ipeak = 0 ; ipeak < LinePos->size() ; ipeak ++){
+        IndexPeak.at(ipeak) = ipeak ;
+    }
+
+    //===========================================================================================================
+    //                      4.1 Sort by id
+    //===========================================================================================================
+    // The next part of the code SHOULD sort by meanY but does not.
+    // It therefore only serve as a convoluted way to sort by ID.
+    // We need to sort by id either way so no need to rewrite i
+    
+    vector<Double_t> MeanYId(SetId.size()) ;
+    vector<Double_t> NelemYId(SetId.size()) ;
+
+    //Loop on the element of the set
+    for (int Id = 0 ; Id < SetId.size() ; Id ++){
+        Double_t Sum = 0 , Npeak = 1;
+        auto itSet = SetId.begin();
+        advance(itSet,Id);
+
+        //Loop on all the peak
+        for (int ipeak = 0 ; ipeak < LinePos->size() ; ipeak ++){
+
+            // If the ID of the peak correspond to one of the set then increment his Y and NPeak value
+            if (vID.at(ipeak) == *itSet )
+            {
+                Npeak += 1 ; 
+                Sum += LinePos->at(ipeak).at(1);
+            } // End if Id 
+        } // Loop on Peak
+
+        NelemYId.at(Id) = Npeak ;
+        MeanYId.at(Id) = Sum /Npeak ;
+        // cout << Id << "  " << MeanYId.at(Id) << endl;
+    } // Loop on Id
+
+    //Now we will sort the MeanY vector and return a vector holding the ID sorted 
+    vector<size_t> IndexMeanY(MeanYId.size());
+    iota(IndexMeanY.begin(),IndexMeanY.end(),0);
+    sort(IndexMeanY.begin(),IndexMeanY.end() , [&](size_t i, size_t j) {
+            return MeanYId.at(i) < MeanYId.at(j);
+            });
+
+    // Now we have to sort the SetId according to this index ordering
+    // Since set can't be sorted we need to copy it to a vector
+    vector<int> vSetId(SetId.begin(), SetId.end());
+    vector<int> SortedSetId(SetId.begin(), SetId.end());
+    for (int Index = 0  ; Index < IndexMeanY.size() ; Index ++){ SortedSetId.at(IndexMeanY.at(Index)) = vSetId.at(Index) ;}
+
+    /*
+       cout << endl << " SORTED" <<endl ; 
+       for (int i = 0 ; i<IndexMeanY.size() ; i++){
+       if (IndexMeanY.at(i) == 49 || IndexMeanY.at(i) == 32){
+       cout << NelemYId.at(IndexMeanY.at(i)) << endl; 
+       }
+       cout << IndexMeanY.at(i) << "  " << SortedSetId.at(i) << "   "  << MeanYId.at(IndexMeanY.at(i)) << endl;
+       }
+
+       cout << endl << " *********************" <<endl ; 
+       */
+    
+    //===========================================================================================================
+    //                         4.2 Recompacting data into a struct
+    //===========================================================================================================
+    
+
+    // We now have the different lines sorted by Id we just need to link them together by group of two.
+    // to do so we will sort each id by x and then link them
+
+    // 1st step is to sort the original IndexPeak according to the MeanY sort
+    // To do so we need to sort the vID vector according to meanY and apply this transformation to IndexPeak too
+
+    // vID as the ID of each peak -> correspondance of peak to a line
+    // IndexPeak                  -> index of each of these peak of size number of peak
+    // SortedSetId                -> Set of sorted ID of peak according to mean y
+    
+    //Create a map for the sort of ID
+    unordered_map<int,int> order_map ;
+    for (size_t i = 0 ; i < SortedSetId.size() ; i++  ) {
+        order_map[SortedSetId[i]] = i ; 
+    }
+
+    // Combine Index and ID into a single vector of pair
+    vector<pair<int,int>> PeakId ;       
+    for(size_t i = 0 ; i < IndexPeak.size() ; i++){
+        PeakId.emplace_back(IndexPeak.at(i), vID.at(i));
+    }
+
+    // Sort the PeakId on the custom order of IDs 
+    sort(PeakId.begin(), PeakId.end(), [&order_map](const auto& a, const auto& b){
+            return order_map[a.second] < order_map[b.second];
+            } );
+
+    //2nd step is to take the original Position vector and sort it thanks to PeakId
+
+    vector<vector<Double_t>> LinePosSorted = *LinePos ;
+
+    //Swap LinePosSorted elemn according to Index of PeakID
+    for (int i = 0 ; i < PeakId.size() ; i++ ){
+        LinePosSorted.at(i) = LinePos->at(PeakId.at(i).first);
+    }    
+
+    // 3rd step is to compile x y id and index in one structure
+
+    if (PeakId.size() != LinePos->size() ){
+        cerr << "Vector not same size" << endl; 
+    }
+
+    vector<PeakData> PeakStruct ;
+    for (size_t i=0 ; i<LinePosSorted.size() ; i++){
+        PeakData TempPeak = {LinePosSorted.at(i).at(0), LinePosSorted.at(i).at(1) , PeakId.at(i).second , PeakId.at(i).first};
+        PeakStruct.push_back(TempPeak);
+    }
+
+    //===========================================================================================================
+    //                          4.3 Cleanupi and sortY
+    //===========================================================================================================
+    // We drop all non clustered element and sort the whole struct by the mean value of Y for their ID.
+
+    // 4th step is to drop all element = -1000
+    //
+
+    auto groupBegin = find_if(PeakStruct.begin(),PeakStruct.end(),[&](const PeakData& elem){
+            return elem.LineId == -1000 ;
+            });
+
+    auto groupEnd = find_if(groupBegin,PeakStruct.end(),[&](const PeakData& elem){
+            return elem.LineId != -1000 ;
+            });
+
+    PeakStruct.erase(groupBegin,groupEnd);
+
+    //4.1 step we will resort by mean y because it didnt work before , probably due to data structure 
+
+    auto ItMeanY = PeakStruct.begin();
+    vector<int> SortedId ;
+    vector<Indexed2D> MeanY ;
+    int index = 0;
+
+    while (ItMeanY != PeakStruct.end()){
+
+        //Get position of end of the current id
+        auto IdEnd = find_if(ItMeanY, PeakStruct.end() , [&](const PeakData& elem){
+                return elem.LineId != ItMeanY->LineId; 
+                });
+
+        // Fill MeanY of the current Id 
+
+        Double_t Sum  = 0;
+        Double_t Npts = 0;
+
+        for (auto i = ItMeanY ; i!=IdEnd ; i++){
+            Sum += i->Y;        
+            Npts += 1;        
+        }
+
+        MeanY.push_back({Sum/Npts ,ItMeanY->LineId  , index });
+
+        index +=1;
+        ItMeanY = IdEnd;
+    }
+
+    // We now have a all the mean Y of each ID and their index
+    // Let's now sort the id from this meanY
+
+    sort(MeanY.begin(),MeanY.end(),[&](Indexed2D a , Indexed2D b){
+            return a.x < b.x;
+            });
+
+    unordered_map<int,size_t> ordered_map ;
+    for (size_t i=0 ; i<MeanY.size() ; i++){
+        ordered_map[MeanY.at(i).id]=i;
+    }
+
+
+    sort(PeakStruct.begin(),PeakStruct.end(), [&ordered_map](const PeakData& a , const PeakData &b) {
+            return ordered_map[a.LineId]<ordered_map[b.LineId];
+            });
+
+    //===========================================================================================================
+    //              4.4  Sort by X alternating order
+    //===========================================================================================================
+    // We sort by X in alternating order because a TCutG need the point to be aligned to link them together
+
+    // Iterate and sort groups with the same LineId
+    auto it = PeakStruct.begin();// create an iterator that point to the elements of the PeakData
+    bool Oddness = true;             // to know in which way sort
+    while (it != PeakStruct.end()){
+
+        // Find range where id is the same
+        // This return the first iterator where the condition is fulfilled 
+        auto groupEnd = find_if(it,PeakStruct.end(),[lineId = it->LineId](const PeakData& elem){
+                return elem.LineId != lineId ;
+                });
+
+        // Now we sort this whole group by x
+
+        sort(it,groupEnd,[Oddness](const PeakData& a , const PeakData& b){
+                if (Oddness) return a.X < b.X ;         
+                if (!Oddness) return a.X > b.X ;        
+                else return a.X < b.X;
+                });
+
+        // Move to next group
+        it = groupEnd;
+        Oddness = not(Oddness) ;
+    }
+
+    // works ! 
+    /*
+    for (int i : SortedSetId) {cout << i << endl;}
+
+    int tempId= -1000;
+    for (PeakData i : PeakStruct) {
+        if (tempId != i.LineId  ){
+            tempId = i.LineId;
+            cout << " Id " << i.LineId << " Y  " << i.Y << endl;
+        }
+    } 
+    */
+    //===========================================================================================================
+    //              4.5 Create TCut 
+    //===========================================================================================================
+    // We need to make sublist for each 2 lines
+
+    // We will iterate through our data and create substructure for each adjacent pair of LineID
+    // and store them in a vector of TCutG
+
+    vector<TCutG*> Res ;
+
+    it = PeakStruct.begin();
+    int iteration = 0;
+
+
+    while(it != PeakStruct.end()){
+
+        // 1st line
+        int LineIdBottom = it->LineId;
+        auto BottomLine = find_if(it,PeakStruct.end(), [&] (const PeakData& elem){
+                return elem.LineId != LineIdBottom ;
+                }) ;
+
+        //2nd line
+        int LineIdTop = BottomLine->LineId;
+        auto TopLine = find_if(BottomLine,PeakStruct.end(), [&] (const PeakData& elem){
+                return elem.LineId != LineIdTop ;
+                }) ;
+
+        //cout << LineIdBottom << "  " << LineIdTop << endl;
+
+        //Subvector
+        vector<PeakData> CutVec(it,TopLine);
+
+        //nbr of point
+        int Npoints = distance(it , TopLine); 
+
+        //Create array to hold position
+        double *x = new double[Npoints + 1 ];
+        double *y = new double[Npoints + 1 ];
+
+        for(int i = 0 ; i<CutVec.size() ; i++) {
+            x[i] = CutVec.at(i).X ;
+            y[i] = CutVec.at(i).Y ;
+        }
+
+        //Close the loop 
+        x[Npoints] = CutVec.at(0).X;
+        y[Npoints] = CutVec.at(0).Y;
+
+
+        //Saving and moving on
+
+        if (Npoints >0 && (BottomLine != PeakStruct.end())){ //Dont link last line to itself 
+            TCutG* Cut = new TCutG(Form("Cut %d",iteration) , Npoints+1, x , y);
+            Cut->SetLineWidth(2);
+            Cut->SetLineColor(kRed);
+            Res.push_back(Cut);
+        }
+        iteration += 1 ;
+        it = BottomLine ;
+    } // end while
+
+    return Res;
+}
+
+
+vector<Double_t> diff(const vector<Double_t>& input){
+    vector<Double_t> result;
+    if (input.size() < 2) return result; // Return empty vector if size < 2
+
+    for (size_t i = 1; i < input.size(); ++i) {
+        result.push_back(input[i] - input[i - 1]);
+    }
+    return result;
+}
+
diff --git a/Projects/AlPhaPha/2024/macro/Calibration/IC/Step4/CutAutoDEE.h b/Projects/AlPhaPha/2024/macro/Calibration/IC/Step4/CutAutoDEE.h
new file mode 100644
index 0000000000000000000000000000000000000000..631abe979f5ba86280da9cdc4d075a10d7dd58b8
--- /dev/null
+++ b/Projects/AlPhaPha/2024/macro/Calibration/IC/Step4/CutAutoDEE.h
@@ -0,0 +1,35 @@
+#include <TCanvas.h>
+#include <TCutG.h>
+#include <TFile.h>
+#include <TGraph.h>
+#include <TH2.h>
+#include <TSpectrum.h>
+#include <vector>
+#include <TStyle.h>
+
+using namespace std;
+
+void PeakFinder(vector<TSpectrum*> *sPeak , vector<int> *vPeak, TH2F *h , vector<vector<Double_t>> *LinePos, Double_t sigma, Double_t threshold);
+vector<TCutG*> PeakLinker(vector<vector<Double_t>> *LinePos);
+
+struct PeakData{
+    Double_t X ;
+    Double_t Y ;
+    int LineId ;
+    int index  ;
+
+} ;
+
+struct Indexed1D{
+    Double_t x ;
+    int index  ;
+} ;
+
+struct Indexed2D{
+    Double_t x ;
+    int id  ;
+    int index  ;
+} ;
+
+vector<Double_t> diff(const vector<Double_t>& input);
+
diff --git a/Projects/AlPhaPha/2024/macro/Calibration/IC/Step4/CutAutoDEE_FineTuning.C b/Projects/AlPhaPha/2024/macro/Calibration/IC/Step4/CutAutoDEE_FineTuning.C
new file mode 100644
index 0000000000000000000000000000000000000000..e130fd293298bd78828034a04b69c4578c914d4d
--- /dev/null
+++ b/Projects/AlPhaPha/2024/macro/Calibration/IC/Step4/CutAutoDEE_FineTuning.C
@@ -0,0 +1,698 @@
+#include "CutAutoDEE_FineTuning.h"
+#include <numeric>
+#include <set>
+#include <iostream>
+#include <unordered_map>
+
+// Important variable
+#define STEP  2;        // Step to parse through the histogram in X
+#define BINSIZE 10;    // Size of the bin in X on which to projectY the plot
+#define THRESHOLDY 75.0;
+#define THRESHOLDX 200.0;
+
+//Main
+void CutAutoDEE_FineTuning(){
+
+    // Retrieve initial histogram
+    TFile *inFile = new TFile("Output/DE_E_merged.root","read");
+    TH2F *hDE_E = (TH2F*)inFile->Get("DE_E");
+    // Inverse data to use tspectrum
+    for (int xBin=1; xBin<= hDE_E->GetNbinsX();xBin++){
+        for (int yBin=1; yBin<= hDE_E->GetNbinsY();yBin++){
+        hDE_E->SetBinContent(xBin,yBin , -hDE_E->GetBinContent(xBin,yBin) );
+        }
+    }
+
+    //Store result of peak finding
+    //This is not a good way to do this : We should normalize the structure of the code by
+    //directly using a PeakData class to store each of the peak.
+    vector<int> *vPeaks = new vector<int>() ;
+    vector<TSpectrum*> *vPeakFinder = new vector<TSpectrum*>();
+    vector<vector<Double_t>> *LinePos = new vector<vector<Double_t>> ;
+
+    // Tspectrum used to find the peak : If you have problem with peak finding
+    // adjust the setting in this function 
+    // Step and Binsize are used in this function
+    Double_t sigma = 3;
+    Double_t threshold = 0.0001;
+    PeakFinder(vPeakFinder,vPeaks,hDE_E,LinePos,sigma,threshold);
+
+
+    // Link the peak, this is where the most critical variable are.
+    // Specifically the maximum distance between each peak and the minimum number of peak in a line 
+    vector<TCutG*> CutLine =  PeakLinker(LinePos);
+
+    // Inverse data for plotting
+    for (int xBin=1; xBin<= hDE_E->GetNbinsX();xBin++){
+        for (int yBin=1; yBin<= hDE_E->GetNbinsY();yBin++){
+        hDE_E->SetBinContent(xBin,yBin , -hDE_E->GetBinContent(xBin,yBin));
+        }
+    }
+    
+    //Plot
+    gStyle->SetPalette(kRainBow);
+    TCanvas* c2 = new TCanvas("c2","c2");
+    hDE_E->Draw("colz");
+
+    TCanvas* c3 = new TCanvas("c3","c3");
+    hDE_E->Draw("colz");
+    for (auto cut : CutLine){
+        cut->Draw("SAME");
+    }
+    
+    //Save the cut !
+    TFile *ofile = new TFile("Output/CutAutoZtest.root","RECREATE");
+    for (auto cut : CutLine){
+        cut->Write();
+    }
+    ofile->Close();
+}
+
+/** 
+  *  Find the peak of an histogram by subdivinding the histogram on it's x axis.
+  *  Store the number of peak and their position in different vector
+  *
+  *  input and Output:
+  *     vector<TSpectrum*> *sPeak : Vector of TSpectrum to output
+  *     vector<int> *vPeak        : Vector of number of peak for each bin range
+  *     vector<vector<Double_t>> *LinePos : Vector of position of each peak for each bin range 
+  */
+void PeakFinder(vector<TSpectrum*> *sPeak , vector<int> *vPeak, TH2F *h, vector<vector<Double_t>> *LinePos, Double_t sigma, Double_t threshold){
+
+    // Initialising
+    int nbinsX = h->GetNbinsX();
+    int iter = 0;
+    int stepParsing = STEP;
+    int SizeBin = BINSIZE;
+
+    // Looping on the histogram x axis.
+    for (int i = 1; i <= nbinsX; i += stepParsing) {
+
+        // Limit in binnumber
+        iter +=1;
+        int x1 = i;
+        int x2 = std::min(i + SizeBin - 1, nbinsX);
+
+        // Projection on Y between the binnumber
+        TString projName = Form("projY_%d_to_%d", x1, x2);
+        TH1D* projY = h->ProjectionY(projName, x1, x2);
+        projY->SetTitle(Form("Projection Y: bins %d to %d", x1, x2));
+
+        // PeakFinder
+		TSpectrum *PeakFinder = new TSpectrum(600); 
+		int nPeaks = PeakFinder->Search(projY,sigma,"",threshold);
+      
+        //Store npeaks and tspectrum
+        vPeak->push_back(nPeaks); // number of peak for this bin range
+        sPeak->push_back(PeakFinder);
+
+        //Save the position of each peak
+        Double_t * x = PeakFinder->GetPositionX();
+        
+        for(int peaks = 0 ; peaks < nPeaks ; peaks++){
+            vector<Double_t> Position(2); 
+            Position.at(0) = (double(i) + double(SizeBin)/2.0) * h->GetXaxis()->GetBinWidth(4) ; //Retrieve E position as the center
+                                                                                              //of the bin
+            Position.at(1) = PeakFinder->GetPositionX()[peaks]; // Position in DE
+            LinePos->push_back(Position);
+        }
+
+
+        //Test
+        if (true && iter ==50){
+            // Draw the histogram
+            TCanvas* c = new TCanvas(Form("c%d",i), Form("Histogram with E = %f",(h->GetXaxis()->GetBinCenter(i))), 800, 600);
+            projY->Draw();
+        }
+
+    }
+}
+
+/** 
+  *  Link the different point to create TCUT from the peak found previously
+  *  To do so a max range is given and then all point separated by a distance inferior to it are linked.
+  *
+  *  Input :
+  *     vec<vec<Double>> *LinePos : pointer to a vector of length number of peak holding position in x and y for each peak
+  *  Output:
+  *    TCUTG : a cut for each charge in vamos
+  */
+vector<TCutG*> PeakLinker(vector<vector<Double_t>> *LinePos){
+
+    //Retrieve position of peaks
+    vector<Double_t> X , Y ;
+    for (int ipeak = 0; ipeak<LinePos->size() ; ipeak ++){
+        X.push_back(LinePos->at(ipeak).at(0));  
+        Y.push_back(LinePos->at(ipeak).at(1));
+    }
+
+    //===========================================================================================================
+    //                             1. Find the threshold between two point
+    //===========================================================================================================
+  
+    // Find the distance between two point in X.
+    //Sort the vec
+    vector<Double_t> XSub(X); 
+    sort(XSub.begin(),XSub.end());    
+
+	//Take only the unique element 
+    set<Double_t> SetX(XSub.begin() , XSub.end());
+    vector<Double_t> XThresh ;
+    for (Double_t elem : SetX) {
+        XThresh.push_back(elem);
+    } 
+
+	//Find the average dist in X
+    vector<Double_t> DiffX = diff(XThresh);
+    Double_t ThresholdXestim ;
+    Double_t ThresholdX ;
+	for (int i =0 ; i<DiffX.size() ; i++) { ThresholdXestim += DiffX.at(i);}
+	ThresholdXestim = ThresholdXestim / DiffX.size();	
+
+
+    // In Y the threshold is not easily findable, However it's critical that the threshold 
+    // is superior to the average distance in X. If not line can't be found by construction
+    // The threshold should also be inferior to the distance between each line in Y
+    // To do so adjust the bin STEP at the beginning of the code.
+
+    //Very important set
+    ThresholdX = THRESHOLDX;
+    Double_t ThresholdY = THRESHOLDY;
+    cout << "Threshold X : "  << ThresholdX  << endl;
+    cout << "Threshold X approx : "  << ThresholdXestim  << endl;
+    cout <<   "N of X "       << SetX.size() << endl;
+    cout << "ThresholdY " << ThresholdY << endl;
+
+    //===========================================================================================================
+    //                                           2.LINK POINT
+    //===========================================================================================================
+   
+    // Now that the threshold is found we will link the point by comparing each point 
+    // Notice that if two point have the same X they can't be linked 
+
+    // Create a vector holding the id of each peak
+    int ID = 0 ; // Initial Id of the first line
+    vector<int> vID(LinePos->size(), -1000);
+
+    // We want to loop on the UNIDENTIFIED peak.
+    for (int ipeak = 0 ; ipeak < LinePos->size() ; ipeak ++){
+
+        //Here do ID manipulation
+        //Create a set of ID without the unidentified peak
+        set<int> SetId(vID.begin() , vID.end());
+        if (SetId.size() > 1 ) {SetId.erase(-1000) ;  ID = *prev(SetId.end()) + 1 ;}
+
+        //If the current peak is identified set newID to it's ID
+        if (vID.at(ipeak) != -1000) ID = vID.at(ipeak); // If the point is identified propagate it!
+
+        Double_t XPosPeak = LinePos->at(ipeak).at(0);
+        Double_t YPosPeak = LinePos->at(ipeak).at(1);
+
+
+        // Parse through all the next peak
+        // This could be done faster by sorting the list by X and Y before and stoping after a threshold
+        // For now it'll do just fine
+        for (int ipeakCompare = ipeak + 1  ; ipeakCompare < LinePos->size() ; ipeakCompare ++){
+           
+            if ((vID.at(ipeakCompare) != -1000) || (XPosPeak == LinePos->at(ipeakCompare).at(0)))  continue; // If the point is identified skip it !
+            
+            //Calculate the distance between the two peak
+            Double_t XPosPeakComp = LinePos->at(ipeakCompare).at(0);
+            Double_t YPosPeakComp = LinePos->at(ipeakCompare).at(1);
+            Double_t dist = sqrt( pow(abs(XPosPeak-XPosPeakComp),2) +  pow(abs(YPosPeak-YPosPeakComp),2) );
+            Double_t distX = sqrt( pow(abs(XPosPeak-XPosPeakComp),2) );
+            Double_t distY = sqrt(  pow(abs(YPosPeak-YPosPeakComp),2) );
+
+            //If the distance is inferior to the threshold then set both ID to the new one !
+            if ((distX < ThresholdX )&& (distY <ThresholdY )) {
+                vID.at(ipeak) = ID ;
+                vID.at(ipeakCompare) = ID ;                    
+            } // end threshold if 
+        } // end compare
+    }   // end loop peak
+
+    //Check if needed
+    /*
+       for (int i=0 ; i<vID.size() ; i++){
+       if (vID.at(i)!=-1000){
+       cout << vID.at(i) << " , ";
+       }
+       }
+       */
+
+
+
+
+    // Here we flush all the id that have less element than a threshold value
+    //===========================================================================================================
+    //                                 3. Flush line with not enough value
+    //===========================================================================================================
+   
+    //This is a pretty sensitive variable 
+    int MinElem = SetX.size()/4;
+    cout << "Min Elem " << MinElem << endl ;
+
+
+    set<int> SetIdTemp(vID.begin() , vID.end());
+    for (int Id : SetIdTemp){
+        int NId = 0 ;
+        for (int ipeak = 0 ; ipeak < vID.size() ; ipeak ++) {
+            if (vID.at(ipeak) == Id) NId += 1 ;
+        }
+        if ( NId < MinElem ) {
+
+            for (int ipeak = 0 ; ipeak < vID.size() ; ipeak ++) {
+                if (vID.at(ipeak) == Id) vID.at(ipeak) = -1000 ;
+            }
+
+        }
+    }
+
+    //===========================================================================================================
+    //                                    4. TCutG Creator
+    //===========================================================================================================
+
+    // We now have identified each peak to a id that correspond to a line in the DE E
+    // Now we need to link the ADJACENT line and then transform those point into tcutg
+
+    set<int> SetId(vID.begin() , vID.end()); // This is all the unique element of vID 
+    vector<int> IndexPeak(LinePos->size());
+    for (int ipeak = 0 ; ipeak < LinePos->size() ; ipeak ++){
+        IndexPeak.at(ipeak) = ipeak ;
+    }
+
+    //===========================================================================================================
+    //                      4.1 Sort by id
+    //===========================================================================================================
+    // The next part of the code SHOULD sort by meanY but does not.
+    // It therefore only serve as a convoluted way to sort by ID.
+    // We need to sort by id either way so no need to rewrite i
+    
+    vector<Double_t> MeanYId(SetId.size()) ;
+    vector<Double_t> NelemYId(SetId.size()) ;
+
+    //Loop on the element of the set
+    for (int Id = 0 ; Id < SetId.size() ; Id ++){
+        Double_t Sum = 0 , Npeak = 1;
+        auto itSet = SetId.begin();
+        advance(itSet,Id);
+
+        //Loop on all the peak
+        for (int ipeak = 0 ; ipeak < LinePos->size() ; ipeak ++){
+
+            // If the ID of the peak correspond to one of the set then increment his Y and NPeak value
+            if (vID.at(ipeak) == *itSet )
+            {
+                Npeak += 1 ; 
+                Sum += LinePos->at(ipeak).at(1);
+            } // End if Id 
+        } // Loop on Peak
+
+        NelemYId.at(Id) = Npeak ;
+        MeanYId.at(Id) = Sum /Npeak ;
+        // cout << Id << "  " << MeanYId.at(Id) << endl;
+    } // Loop on Id
+
+    //Now we will sort the MeanY vector and return a vector holding the ID sorted 
+    vector<size_t> IndexMeanY(MeanYId.size());
+    iota(IndexMeanY.begin(),IndexMeanY.end(),0);
+    sort(IndexMeanY.begin(),IndexMeanY.end() , [&](size_t i, size_t j) {
+            return MeanYId.at(i) < MeanYId.at(j);
+            });
+
+    // Now we have to sort the SetId according to this index ordering
+    // Since set can't be sorted we need to copy it to a vector
+    vector<int> vSetId(SetId.begin(), SetId.end());
+    vector<int> SortedSetId(SetId.begin(), SetId.end());
+    for (int Index = 0  ; Index < IndexMeanY.size() ; Index ++){ SortedSetId.at(IndexMeanY.at(Index)) = vSetId.at(Index) ;}
+
+    /*
+       cout << endl << " SORTED" <<endl ; 
+       for (int i = 0 ; i<IndexMeanY.size() ; i++){
+       if (IndexMeanY.at(i) == 49 || IndexMeanY.at(i) == 32){
+       cout << NelemYId.at(IndexMeanY.at(i)) << endl; 
+       }
+       cout << IndexMeanY.at(i) << "  " << SortedSetId.at(i) << "   "  << MeanYId.at(IndexMeanY.at(i)) << endl;
+       }
+
+       cout << endl << " *********************" <<endl ; 
+       */
+    
+    //===========================================================================================================
+    //                         4.2 Recompacting data into a struct
+    //===========================================================================================================
+    
+
+    // We now have the different lines sorted by Id we just need to link them together by group of two.
+    // to do so we will sort each id by x and then link them
+
+    // 1st step is to sort the original IndexPeak according to the MeanY sort
+    // To do so we need to sort the vID vector according to meanY and apply this transformation to IndexPeak too
+
+    // vID as the ID of each peak -> correspondance of peak to a line
+    // IndexPeak                  -> index of each of these peak of size number of peak
+    // SortedSetId                -> Set of sorted ID of peak according to mean y
+    
+    //Create a map for the sort of ID
+    unordered_map<int,int> order_map ;
+    for (size_t i = 0 ; i < SortedSetId.size() ; i++  ) {
+        order_map[SortedSetId[i]] = i ; 
+    }
+
+    // Combine Index and ID into a single vector of pair
+    vector<pair<int,int>> PeakId ;       
+    for(size_t i = 0 ; i < IndexPeak.size() ; i++){
+        PeakId.emplace_back(IndexPeak.at(i), vID.at(i));
+    }
+
+    // Sort the PeakId on the custom order of IDs 
+    sort(PeakId.begin(), PeakId.end(), [&order_map](const auto& a, const auto& b){
+            return order_map[a.second] < order_map[b.second];
+            } );
+
+    //2nd step is to take the original Position vector and sort it thanks to PeakId
+
+    vector<vector<Double_t>> LinePosSorted = *LinePos ;
+
+    //Swap LinePosSorted elemn according to Index of PeakID
+    for (int i = 0 ; i < PeakId.size() ; i++ ){
+        LinePosSorted.at(i) = LinePos->at(PeakId.at(i).first);
+    }    
+
+    // 3rd step is to compile x y id and index in one structure
+
+    if (PeakId.size() != LinePos->size() ){
+        cerr << "Vector not same size" << endl; 
+    }
+
+    vector<PeakData> PeakStruct ;
+    for (size_t i=0 ; i<LinePosSorted.size() ; i++){
+        PeakData TempPeak = {LinePosSorted.at(i).at(0), LinePosSorted.at(i).at(1) , PeakId.at(i).second , PeakId.at(i).first};
+        PeakStruct.push_back(TempPeak);
+    }
+
+    //===========================================================================================================
+    //                          4.3 Cleanupi and sortY
+    //===========================================================================================================
+    // We drop all non clustered element and sort the whole struct by the mean value of Y for their ID.
+
+    // 4th step is to drop all element = -1000
+    //
+
+    auto groupBegin = find_if(PeakStruct.begin(),PeakStruct.end(),[&](const PeakData& elem){
+            return elem.LineId == -1000 ;
+            });
+
+    auto groupEnd = find_if(groupBegin,PeakStruct.end(),[&](const PeakData& elem){
+            return elem.LineId != -1000 ;
+            });
+
+    PeakStruct.erase(groupBegin,groupEnd);
+
+    //4.1 step we will resort by mean y because it didnt work before , probably due to data structure 
+
+    auto ItMeanY = PeakStruct.begin();
+    vector<int> SortedId ;
+    vector<Indexed2D> MeanY ;
+    int index = 0;
+
+    while (ItMeanY != PeakStruct.end()){
+
+        //Get position of end of the current id
+        auto IdEnd = find_if(ItMeanY, PeakStruct.end() , [&](const PeakData& elem){
+                return elem.LineId != ItMeanY->LineId; 
+                });
+
+        // Fill MeanY of the current Id 
+
+        Double_t Sum  = 0;
+        Double_t Npts = 0;
+
+        for (auto i = ItMeanY ; i!=IdEnd ; i++){
+            Sum += i->Y;        
+            Npts += 1;        
+        }
+
+        MeanY.push_back({Sum/Npts ,ItMeanY->LineId  , index });
+
+        index +=1;
+        ItMeanY = IdEnd;
+    }
+
+    // We now have a all the mean Y of each ID and their index
+    // Let's now sort the id from this meanY
+
+    sort(MeanY.begin(),MeanY.end(),[&](Indexed2D a , Indexed2D b){
+            return a.x < b.x;
+            });
+
+    unordered_map<int,size_t> ordered_map ;
+    for (size_t i=0 ; i<MeanY.size() ; i++){
+        ordered_map[MeanY.at(i).id]=i;
+    }
+
+
+    sort(PeakStruct.begin(),PeakStruct.end(), [&ordered_map](const PeakData& a , const PeakData &b) {
+            return ordered_map[a.LineId]<ordered_map[b.LineId];
+            });
+
+    //===========================================================================================================
+    //              4.4  Sort by X alternating order
+    //===========================================================================================================
+    // We sort by X in alternating order because a TCutG need the point to be aligned to link them together
+
+    // Iterate and sort groups with the same LineId
+    auto it = PeakStruct.begin();// create an iterator that point to the elements of the PeakData
+    bool Oddness = true;             // to know in which way sort
+    while (it != PeakStruct.end()){
+
+        // Find range where id is the same
+        // This return the first iterator where the condition is fulfilled 
+        auto groupEnd = find_if(it,PeakStruct.end(),[lineId = it->LineId](const PeakData& elem){
+                return elem.LineId != lineId ;
+                });
+
+        // Now we sort this whole group by x
+
+        sort(it,groupEnd,[Oddness](const PeakData& a , const PeakData& b){
+                if (Oddness) return a.X < b.X ;         
+                if (!Oddness) return a.X > b.X ;        
+                else return a.X < b.X;
+                });
+
+        // Move to next group
+        it = groupEnd;
+        Oddness = not(Oddness) ;
+    }
+
+    // works ! 
+    /*
+    for (int i : SortedSetId) {cout << i << endl;}
+
+    int tempId= -1000;
+    for (PeakData i : PeakStruct) {
+        if (tempId != i.LineId  ){
+            tempId = i.LineId;
+            cout << " Id " << i.LineId << " Y  " << i.Y << endl;
+        }
+    } 
+    */
+    //===========================================================================================================
+    //              4.5 Create TCut 
+    //===========================================================================================================
+    // We need to make sublist for each 2 lines
+
+    // We will iterate through our data and create substructure for each adjacent pair of LineID
+    // and store them in a vector of TCutG
+
+    vector<TCutG*> Res ;
+
+    it = PeakStruct.begin();
+    int iteration = 0;
+
+
+    while(it != PeakStruct.end()){
+
+        // 1st line
+        int LineIdBottom = it->LineId;
+        auto BottomLine = find_if(it,PeakStruct.end(), [&] (const PeakData& elem){
+                return elem.LineId != LineIdBottom ;
+                }) ;
+
+        //2nd line
+        int LineIdTop = BottomLine->LineId;
+        auto TopLine = find_if(BottomLine,PeakStruct.end(), [&] (const PeakData& elem){
+                return elem.LineId != LineIdTop ;
+                }) ;
+
+        //cout << LineIdBottom << "  " << LineIdTop << endl;
+
+        // first we need to find the shortest line
+        int SizeBottom = distance(it,BottomLine);
+        int SizeTop = distance(BottomLine,TopLine);
+
+        //Subvector with the longest line first then the sortest
+        vector<PeakData> CutVec;
+        vector<PeakData> LongVec;
+        vector<PeakData> ShortVec;
+
+        if(SizeBottom >= SizeTop ){
+            CutVec.insert(CutVec.end(),it,TopLine);
+            LongVec.insert(LongVec.end(),it,BottomLine);
+            ShortVec.insert(ShortVec.end(),BottomLine,TopLine);
+        }
+
+        else {
+            CutVec.insert(CutVec.end(),BottomLine,TopLine);
+            CutVec.insert(CutVec.end(),it,BottomLine);
+            LongVec.insert(LongVec.end(),BottomLine,TopLine);
+            ShortVec.insert(ShortVec.end(),it,BottomLine);
+        }
+        
+
+
+        //nbr of point
+        int Npoints = CutVec.size(); 
+        //Close the loop by finding the closest point to the last one
+        int closestIndexLast = 0;
+        int closestIndexBegin = LongVec.size()-1;
+        int SizeArray = 0;
+        if (ShortVec.size() == 0) {
+            closestIndexLast = CutVec.size(); 
+            SizeArray = CutVec.size();
+        }
+        else{
+            PeakData lastPoint = ShortVec.back();
+            double minDistance = distancePeak(lastPoint,LongVec.at(0));
+            for (size_t i = 1 ; i < LongVec.size(); i++){
+                double dist = distancePeak(lastPoint,LongVec.at(i));
+                if(dist<minDistance){
+                    minDistance = dist;
+                    closestIndexLast = i;
+                }
+            }
+            PeakData firstPoint = ShortVec.at(0);
+            double minDistanceFirst = distancePeak(firstPoint,LongVec.at(0));
+            for (size_t i = 1 ; i < LongVec.size(); i++){
+                double dist = distancePeak(firstPoint,LongVec.at(i));
+                if(dist<minDistanceFirst){
+                    minDistanceFirst = dist;
+                    closestIndexBegin = i;
+                }
+            }
+            SizeArray = ShortVec.size() + (closestIndexBegin - closestIndexLast);
+        }
+        //Create array to hold position
+        double *x = new double[SizeArray + 1 ];
+        double *y = new double[SizeArray + 1 ];
+
+        if (SizeTop == 0){
+
+            for(int i = 0 ; i<CutVec.size() ; i++) {
+                x[i] = CutVec.at(i).X ;
+                y[i] = CutVec.at(i).Y ;
+            }
+            x[SizeArray ] = CutVec.at(0).X;
+            y[SizeArray ] = CutVec.at(0).Y;
+
+        }
+
+        else {
+            for(int i = 0 ; i<ShortVec.size() ; i++) {
+                x[i] = ShortVec.at(i).X ;
+                y[i] = ShortVec.at(i).Y ;
+            }
+
+            for(int i = closestIndexLast ; i<=closestIndexBegin ; i++) {
+                x[i + ShortVec.size() - closestIndexLast] = LongVec.at(i).X ;
+                y[i + ShortVec.size() - closestIndexLast ] = LongVec.at(i).Y ;
+            }
+
+
+
+            x[SizeArray] = ShortVec.at(0).X;
+            y[SizeArray] = ShortVec.at(0).Y;
+
+        }
+        //Saving and moving on
+
+        if (Npoints >10 && (TopLine != PeakStruct.end())){ //Dont link last line to itself 
+            TCutG* Cut = new TCutG(Form("Cut %d",iteration) , SizeArray+1, x , y);
+            Cut->SetLineWidth(2);
+            Cut->SetLineColor(kRed);
+            Res.push_back(Cut);
+        }
+        iteration += 1 ;
+        it = BottomLine ;
+    } // end while
+
+    return Res;
+}
+
+
+vector<Double_t> diff(const vector<Double_t>& input){
+    vector<Double_t> result;
+    if (input.size() < 2) return result; // Return empty vector if size < 2
+
+    for (size_t i = 1; i < input.size(); ++i) {
+        result.push_back(input[i] - input[i - 1]);
+    }
+    return result;
+}
+
+void SortAndRenameTCutG() {
+    TIter next(gROOT->GetListOfSpecials());
+    std::vector<std::pair<int, TCutG*>> cuts;
+
+    TObject *obj;
+    while ((obj = next())) {
+        TCutG *cut = dynamic_cast<TCutG*>(obj);
+        if (cut) {
+            std::string name = cut->GetName();
+            if (name.rfind("Cut", 0) == 0) { // Check if name starts with "Cut"
+                try {
+                    int num = std::stoi(name.substr(3));
+                    cuts.emplace_back(num, cut);
+                } catch (...) {
+                    continue; // Ignore malformed names
+                }
+            }
+        }
+    }
+
+    // Sort by extracted number
+    std::sort(cuts.begin(), cuts.end(), [](const auto &a, const auto &b) {
+            return a.first < b.first;
+            });
+
+    // Rename sequentially
+    for (size_t i = 0; i < cuts.size(); ++i) {
+        cuts[i].second->SetName(Form("Cut %zu", i));
+    }
+
+    std::cout << "TCutG objects renamed from original numbering to 0:N.\n";
+}
+void SaveTCutGToFile() {
+    TFile file("Output/CutAutoZ.root", "RECREATE");
+    if (!file.IsOpen()) {
+        std::cerr << "Error: Could not open Output/CutAutoZ.root for writing.\n";
+        return;
+    }
+
+    TIter next(gROOT->GetListOfSpecials());
+    TObject *obj;
+    while ((obj = next())) {
+        TCutG *cut = dynamic_cast<TCutG*>(obj);
+        if (cut) {
+            cut->Write();
+        }
+    }
+
+    file.Close();
+    std::cout << "All TCutG objects saved to Output/CutAutoZ.root.\n";
+}
+
+double distancePeak(const PeakData& p1, const PeakData& p2) {
+    return abs(p1.X - p2.X);
+}
+
diff --git a/Projects/AlPhaPha/2024/macro/Calibration/IC/Step4/CutAutoDEE_FineTuning.h b/Projects/AlPhaPha/2024/macro/Calibration/IC/Step4/CutAutoDEE_FineTuning.h
new file mode 100644
index 0000000000000000000000000000000000000000..effc07e99a8b0b397326bc1846f69059dee66611
--- /dev/null
+++ b/Projects/AlPhaPha/2024/macro/Calibration/IC/Step4/CutAutoDEE_FineTuning.h
@@ -0,0 +1,36 @@
+#include <TCanvas.h>
+#include <TCutG.h>
+#include <TFile.h>
+#include <TGraph.h>
+#include <TH2.h>
+#include <TSpectrum.h>
+#include <vector>
+#include <TStyle.h>
+
+using namespace std;
+
+void PeakFinder(vector<TSpectrum*> *sPeak , vector<int> *vPeak, TH2F *h , vector<vector<Double_t>> *LinePos, Double_t sigma, Double_t threshold);
+vector<TCutG*> PeakLinker(vector<vector<Double_t>> *LinePos);
+
+struct PeakData{
+    Double_t X ;
+    Double_t Y ;
+    int LineId ;
+    int index  ;
+
+} ;
+
+struct Indexed1D{
+    Double_t x ;
+    int index  ;
+} ;
+
+struct Indexed2D{
+    Double_t x ;
+    int id  ;
+    int index  ;
+} ;
+
+vector<Double_t> diff(const vector<Double_t>& input);
+
+double distancePeak(const PeakData& p1, const PeakData& p2) ;
diff --git a/Projects/AlPhaPha/2024/macro/Calibration/IC/Step4/HistoFillerDEE.cpp b/Projects/AlPhaPha/2024/macro/Calibration/IC/Step4/HistoFillerDEE.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..18b87f6ee464a7daea23c0fbb718d5c421d9d659
--- /dev/null
+++ b/Projects/AlPhaPha/2024/macro/Calibration/IC/Step4/HistoFillerDEE.cpp
@@ -0,0 +1,72 @@
+#include "TICPhysics.h"
+#include <TChain.h>
+#include <chrono>
+#include <regex>
+
+
+
+/** 
+ * *  Simple macro to fill DE E histo from path
+ * */
+void HistoFillerDEE(const char* Path){
+
+    //Load file
+    TChain *chain = new TChain("PhysicsTree");
+    chain->Add(Path);
+
+    TICPhysics *IC = new TICPhysics();
+    chain->SetBranchStatus("IC", true);
+    chain->SetBranchAddress("IC", &IC); 
+   
+    double FF_IC_X;
+    chain->SetBranchStatus("FF_IC_X", true);
+    chain->SetBranchAddress("FF_IC_X", &FF_IC_X);
+    
+    TH2F *hDE_E = new TH2F("DE_E" , "DE_E", 1000,0,35000,1000,0,26000);
+    //===========================================================================================================
+    //                  Fill 
+    //===========================================================================================================
+
+    int Nentries = chain->GetEntries();
+    //int Nentries = 1000;
+    auto start = std::chrono::high_resolution_clock::now();
+
+    for (int e = 0 ; e < Nentries ; e++){
+        if (e%100000 ==0 && e>0){
+            auto now = std::chrono::high_resolution_clock::now();
+            std::chrono::duration<double> elapsed = now - start;
+            double avgTimePerIteration = elapsed.count() / e ; 
+            double timeLeft = avgTimePerIteration * (Nentries -e);
+            std::cout << "********** Estimated time left :" << int(timeLeft) << " seconds **********" << "\r" << flush;
+        } // end timer
+
+        chain->GetEntry(e);
+
+        if(FF_IC_X>-530 ){
+            hDE_E->Fill(IC->Eres,IC->DE);
+        }
+    }
+
+    std::string strPath(Path);    
+    std::regex pattern("Run(\\d{3})");  // Regex to match Run followed by exactly 3 digits
+    std::smatch matches;
+
+    if (std::regex_search(strPath, matches, pattern)) {
+        std::string number = matches[1];  // Extract the number
+        std::string fileName = "Output/DE_E_" + number + ".root";  // Generate the filename
+
+        // Create the TFile
+        TFile* file = new TFile(fileName.c_str(), "RECREATE");
+        if (file->IsOpen()) {
+            std::cout << "File created: " << fileName << std::endl;
+        } else {
+            std::cout << "Failed to create the file." << std::endl;
+        }
+
+        hDE_E->Write();
+        // Don't forget to close the file
+        file->Close();
+    } else {
+        std::cout << "Pattern not found!" << std::endl;
+    }
+} // end macro
diff --git a/Projects/AlPhaPha/2024/macro/Calibration/IC/Step4/Output/ReadMe.md b/Projects/AlPhaPha/2024/macro/Calibration/IC/Step4/Output/ReadMe.md
new file mode 100644
index 0000000000000000000000000000000000000000..61285a819ac55c03a84d1c9bba9288a6f84e9bed
--- /dev/null
+++ b/Projects/AlPhaPha/2024/macro/Calibration/IC/Step4/Output/ReadMe.md
@@ -0,0 +1,2 @@
+# Output dir
+
diff --git a/Projects/AlPhaPha/2024/macro/Calibration/IC/Step5/FillHistoCharge.C b/Projects/AlPhaPha/2024/macro/Calibration/IC/Step5/FillHistoCharge.C
new file mode 100644
index 0000000000000000000000000000000000000000..c51836972e6328f9f01d6ea88b292d36c2295678
--- /dev/null
+++ b/Projects/AlPhaPha/2024/macro/Calibration/IC/Step5/FillHistoCharge.C
@@ -0,0 +1,66 @@
+#include "TICPhysics.h"
+#include <TChain.h>
+#include <regex>
+TChain* chain;
+
+/////////////////////////////////////////////////////////////////
+void FillHistoCharge( const char *Path){
+
+    chain = new TChain("PhysicsTree");
+    chain->Add(Path);
+
+    TICPhysics* IC = new TICPhysics() ;
+    chain->SetBranchStatus("IC", true);
+    chain->SetBranchAddress("IC", &IC); 
+
+
+    double FF_IC_X;
+    chain->SetBranchStatus("FF_IC_X", true);
+    chain->SetBranchAddress("FF_IC_X", &FF_IC_X);
+
+
+    TH1F *hChargeAll = new TH1F("hcharge_all","hcharge_all",2000,20,80);
+
+    int Nentries = chain->GetEntries();
+    auto start = std::chrono::high_resolution_clock::now();
+
+    for (int e = 0; e < Nentries; e++) {
+        if (e % 100000  == 0 && e > 0 ) {
+            auto now = std::chrono::high_resolution_clock::now();
+            std::chrono::duration<double> elapsed = now - start;
+            double avgTimePerIteration = elapsed.count() / e;
+            double timeLeft = avgTimePerIteration * (Nentries - e);
+
+            std::cout << "********** Estimated time left: " << int(timeLeft) << " seconds **********" << "\r" << flush;
+        }
+
+        chain->GetEntry(e);
+
+        if(FF_IC_X>-530 ){
+            hChargeAll->Fill(IC->Chio_Z);
+        }
+    }
+
+    std::string strPath(Path);    
+    std::regex pattern("Run(\\d{3})");  // Regex to match Run followed by exactly 3 digits
+    std::smatch matches;
+
+    if (std::regex_search(strPath, matches, pattern)) {
+        std::string number = matches[1];  // Extract the number
+        std::string fileName = "Output/histo_charge_" + number + ".root";  // Generate the filename
+
+        // Create the TFile
+        TFile* file = new TFile(fileName.c_str(), "RECREATE");
+        if (file->IsOpen()) {
+            std::cout << "File created: " << fileName << std::endl;
+        } else {
+            std::cout << "Failed to create the file." << std::endl;
+        }
+
+        hChargeAll->Write();
+        // Don't forget to close the file
+        file->Close();
+    } else {
+        std::cout << "Pattern not found!" << std::endl;
+    }
+}
diff --git a/Projects/AlPhaPha/2024/macro/Calibration/IC/Step5/FitCharge.C b/Projects/AlPhaPha/2024/macro/Calibration/IC/Step5/FitCharge.C
new file mode 100644
index 0000000000000000000000000000000000000000..d2e941bd38fc4d0868999b93997305280328d2ab
--- /dev/null
+++ b/Projects/AlPhaPha/2024/macro/Calibration/IC/Step5/FitCharge.C
@@ -0,0 +1,187 @@
+#include <TCanvas.h>
+#include <TF1.h>
+#include <TFile.h>
+#include <TGraphErrors.h>
+#include <TH1.h>
+
+using namespace std;
+
+void Fit(TH1F* hcharge, string Energy);
+TFile* ofile;
+int rebin=1;
+int RunNumber = 247 ;
+
+//////////////////////////////////////////////////////
+void FitCharge(){
+
+  //TFile* ifile = new TFile(Form("Output/histo_charge_%d.root",RunNumber),"read");
+  TFile* ifile = new TFile(Form("Output/histo_charge_merged.root"),"read");
+
+  ofile = new TFile("Output/histo_charge_fitted.root","recreate");
+
+  TH1F* hall = (TH1F*)ifile->FindObjectAny("hcharge_all");
+  Fit(hall,"AllEnergy");
+  ofile->Close();
+}
+
+//////////////////////////////////////////////////////
+void Fit(TH1F* hcharge,string Energy){
+  TGraphErrors* gsigma = new TGraphErrors();
+  TGraphErrors* gsigmaZ = new TGraphErrors();
+  hcharge->Rebin(rebin);
+  hcharge->Draw();
+
+  int Zmin = 31;
+  int Zmax = 66;
+
+
+  int Z = Zmin;
+
+  int NumberOfZ = Zmax - Zmin;
+  Double_t para[3*NumberOfZ];
+
+  vector<TF1*> g(NumberOfZ);
+  vector<double> Integral(NumberOfZ);
+  vector<double> Integral_err(NumberOfZ);
+  double total_integral = 0;
+  vector<double> Yield(NumberOfZ);
+
+  for(int i=0; i<NumberOfZ; i++){
+    g[i] = new TF1(Form("g%i",i),"gaus",Z-0.3,Z+0.6);   
+    if(i==0){
+      g[i]->SetParameter(0,100);
+      g[i]->SetParameter(1,Zmin);
+      g[i]->SetParameter(2,0.3);
+    }
+    else if(i>0){
+      g[i]->SetParameter(0,g[i-1]->GetParameter(0));
+      g[i]->SetParameter(1,Z);
+      g[i]->SetParameter(2,g[i-1]->GetParameter(2));
+    }
+ 
+    g[i]->SetParLimits(1,Z-0.2,Z+0.2);
+    g[i]->SetParLimits(2,0.22,0.4);
+
+   
+    hcharge->Fit(g[i],"qBR");
+
+    //g[i]->Draw("lsame");
+    g[i]->GetParameters(&para[3*i]);
+
+    Z++;
+  }
+
+
+  TString total_func = "gaus(0)";
+  for(int i=1; i<NumberOfZ; i++){
+    TString gaus_func = Form("gaus(%i)",3*i);
+    total_func += "+" + gaus_func;
+  }
+
+  TF1* total = new TF1("total",total_func,Zmin-0.3, Zmin+NumberOfZ -0.7);
+  total->SetParameters(para);
+  Z = Zmin;
+  for(int i=0; i<NumberOfZ; i++){
+    total->SetParameter(3*i,g[i]->GetParameter(0));
+    total->SetParameter(3*i+1,g[i]->GetParameter(1));
+    total->SetParameter(3*i+2,g[i]->GetParameter(2));
+    total->SetParLimits(3*i+1,Z-0.2,Z+0.2);
+    total->SetParLimits(3*i+2,g[i]->GetParameter(2)*0.5,g[i]->GetParameter(2)*1.3);
+    Z++;
+  }
+  total->SetLineColor(4);
+  total->SetNpx(1000);
+
+  hcharge->Fit(total,"RBq");
+
+  Z = Zmin;
+  double MeanSigmaZ = 0 ;
+  //TF1* one_gauss = new TF1("one_gaus","gaus");
+  for(int i=0; i<NumberOfZ; i++){
+      
+    double Amplitude = total->GetParameter(3*i);
+    double mean = total->GetParameter(3*i+1);
+    double sigma = total->GetParameter(3*i+2);
+    double Amplitude_err = total->GetParError(3*i);
+    double mean_err = total->GetParError(3*i+1);
+    double sigma_err = total->GetParError(3*i+2);
+ 
+    /*double Amplitude = g[i]->GetParameter(0);
+    double mean = g[i]->GetParameter(1);
+    double sigma = g[i]->GetParameter(2);
+    double Amplitude_err = g[i]->GetParError(0);
+    double mean_err = g[i]->GetParError(1);
+    double sigma_err = g[i]->GetParError(2);*/
+    
+    //one_gauss->SetParameter(0,Amplitude);
+    //one_gauss->SetParameter(1,mean);
+    //one_gauss->SetParameter(2,sigma);
+    //one_gauss->SetParError(0,Amplitude_err);
+    //one_gauss->SetParError(1,mean_err);
+    //one_gauss->SetParError(2,sigma_err);
+
+    cout << "************************" << endl;
+    cout << "Z=  " << Z << endl;
+    //cout << "Amplitude= " << Amplitude << "+/-" << Amplitude_err << endl;
+    //cout << "Mean= " << mean  << endl;
+    cout << "Sigma= " << sigma << "+/-" << sigma_err << endl;
+    cout << "Sigma/Z =  " << 2.35*sigma /Z*100. << endl;
+    
+    //if (2.35*sigma/Z*100 > 1 && 2.35*sigma/Z*100 < 3){MeanSigmaZ += 2.35*sigma/Z*100;}
+    
+    if (i==0 || i==NumberOfZ){continue;}
+    MeanSigmaZ += 2.35*sigma/Z*100;
+
+    gsigma->SetPoint(i-1,Z,sigma);
+    gsigma->SetPointError(i-1,0,sigma_err);
+    
+    gsigmaZ->SetPoint(i-1,Z,2.35*sigma/Z*100);
+
+    Integral[i] = (12.5/rebin)*Amplitude*sigma*sqrt(2*TMath::Pi());
+    Integral_err[i] = (12.5/rebin)*sqrt(2*TMath::Pi()*(pow(sigma*Amplitude_err,2) + pow(Amplitude*sigma_err,2)));
+    //Integral_err[i] = sqrt(Integral[i]);
+    
+
+    total_integral += Integral[i];
+    Z++;
+  }
+
+  MeanSigmaZ = MeanSigmaZ/NumberOfZ;
+  cout << "********************" << endl << "Mean Sigma/Z " << MeanSigmaZ << endl;
+  double histo_integral = hcharge->Integral();
+  hcharge->Write();
+  total->Write();
+
+  string output_filename = "Charge_Yield_" + Energy + ".dat";
+  ofstream ofile;
+  ofile.open(output_filename.c_str());
+
+  // Yield calculation //
+  Z = Zmin;
+  for(int i=0; i<NumberOfZ; i++){
+    //Yield[i] = Integral[i]/total_integral*200;
+    Yield[i] = Integral[i]/histo_integral*200;
+    //double yield_err = Integral_err[i]/total_integral*200;
+    double yield_err = Integral_err[i]/histo_integral*200;
+    ofile << Z << " " << Yield[i] << " " << yield_err << endl;
+    Z++;
+  }
+  ofile.close();
+
+  gsigma->SetMarkerStyle(8);
+  gsigma->Write();
+
+  TCanvas* csig = new TCanvas("csig","csig",800,800);
+  csig->cd();
+  gsigma->Draw("ap");
+
+  TCanvas* csigZ = new TCanvas("csigZ","csigZ",800,800);
+  gsigmaZ->SetMarkerStyle(8);
+  gsigmaZ->GetYaxis()->SetTitle("2.35*#sigma/Z*100");
+  gsigmaZ->GetXaxis()->SetTitle("Z");
+  csigZ->cd();
+  gsigmaZ->Draw("ap");
+  total->Draw("lsame");
+
+
+}
diff --git a/Projects/AlPhaPha/2024/macro/Calibration/IC/Step5/Output/ReadMe.md b/Projects/AlPhaPha/2024/macro/Calibration/IC/Step5/Output/ReadMe.md
new file mode 100644
index 0000000000000000000000000000000000000000..e30c6d3fdfe6da86b87d1ade2ef8a8bdc78ad216
--- /dev/null
+++ b/Projects/AlPhaPha/2024/macro/Calibration/IC/Step5/Output/ReadMe.md
@@ -0,0 +1 @@
+# Output Dir
diff --git a/Projects/AlPhaPha/2024/macro/Calibration/IC/Step5/SplineChio.C b/Projects/AlPhaPha/2024/macro/Calibration/IC/Step5/SplineChio.C
new file mode 100644
index 0000000000000000000000000000000000000000..077a50bd3c5ed7c3855f1a518335dfd48fb752b2
--- /dev/null
+++ b/Projects/AlPhaPha/2024/macro/Calibration/IC/Step5/SplineChio.C
@@ -0,0 +1,879 @@
+#include "TICPhysics.h"
+#include "TTimeData.h"
+#include <TFPMWPhysics.h>
+#include <TChain.h>
+#include <TCutG.h>
+#include <TF1.h>
+#include <TFile.h>
+#include <TH2.h>
+#include <TSpectrum.h>
+#include <TSpline.h>
+#include <fstream>
+using namespace std;
+
+
+const int CutNumberLoader();
+const int Ncuts = CutNumberLoader();
+const int NSegment=11;
+const int Nrun=8;
+int RunNumber[Nrun]={245 , 246 ,247 ,248 ,249 ,250 ,251 ,252};
+const char *CutPath = "../Step4/Output/CutAutoZ.root" ;
+
+void MakeSpline();
+void ApplySpline_perTCutG();
+void ApplySpline();
+vector<double> GetMinMaxX(TCutG* cut);
+vector<double> GetMinMaxY(TCutG* cut) ;
+TF1* Linear(double x1, double y1, double x2, double y2, const char* name = "f");
+///////////////////////////////////////////////////////////////////////////
+void SplineChio()
+{
+    //===========================================================================================================
+    //                                      Loading Var
+    //===========================================================================================================
+
+    //**********************Cut**************************************
+    TFile *fcut=new TFile(CutPath,"open");
+
+    vector<TCutG*> cutZ(Ncuts);
+    for(int i=0;i<Ncuts;i++) cutZ[i]=(TCutG*)fcut->Get(Form("Cut %i",i));
+
+    //**********************DE_E****************************************************
+    TChain *chain=new TChain("PhysicsTree");
+
+    for(int i=0;i<Nrun;i++) 
+    {
+        chain->Add(Form("../../../../root/analysis/Run%d.root",RunNumber[i]));
+        cout << "Run number " << RunNumber[i] << " loaded sucessfully !" << endl;
+    }
+
+    TICPhysics* IC = new TICPhysics() ;
+    TTimeData *Time = new TTimeData() ;
+
+
+    chain->SetBranchStatus("IC", true);
+    chain->SetBranchAddress("IC", &IC);
+
+    double FF_IC_X;
+    chain->SetBranchStatus("FF_IC_X", true);
+    chain->SetBranchAddress("FF_IC_X", &FF_IC_X);
+
+
+    // ****************** Load Time  **********************************
+
+    chain->SetBranchStatus("Time", true);
+    chain->SetBranchAddress("Time", &Time);
+
+    //*****************************************************************
+
+    TH2F *hChioDE_E_all = new TH2F("hChioDE_E","hChioDE_E",1000,0,36000,500,1000,26000);
+    vector<TH2F*> hChioDE_E(Ncuts);
+    for(int i=0;i<Ncuts;i++) hChioDE_E[i]=new TH2F(Form("hChioDE_E_%d",i+1),Form("hChioDE_E_%d",i+1),2000,0,36000,1250,1000,26000);
+
+    auto start = std::chrono::high_resolution_clock::now();
+
+    int Nentries=chain->GetEntries();
+    //int Nentries=1000000;
+
+    for(int e=0;e<Nentries;++e)
+    {
+        if (e % 100000  == 0 && e > 0 ) {
+            auto now = std::chrono::high_resolution_clock::now();
+            std::chrono::duration<double> elapsed = now - start;
+            double avgTimePerIteration = elapsed.count() / e;
+            double timeLeft = avgTimePerIteration * (Nentries - e);
+
+            std::cout << "********** Estimated time left: " << int(timeLeft) << " seconds **********" << "\r" << flush;
+        }
+
+        chain->GetEntry(e);
+
+        if(FF_IC_X>-530 ){
+            hChioDE_E_all->Fill(IC->Eres,IC->DE);
+        }
+
+        //for(int i=0;i<Ncuts;i++) if(cutZ[i]->IsInside(Chio_E,FF_DE)) {hChioDE_E[i]->Fill(Chio_E,FF_DE); break;}
+        for(int i=0;i<Ncuts;i++) if(cutZ[i]->IsInside(IC->Eres,IC->DE)) {hChioDE_E[i]->Fill(IC->Eres,IC->DE); break;}
+    }//end loop event
+
+
+    //**********************************Out***************************
+    TFile *outFile=new TFile("histo/SingleZ_ChioDE_E.root","recreate");
+    for(int i=0;i<Ncuts;i++) hChioDE_E[i]->Write();
+    outFile->Close();
+
+    TCanvas * can = new TCanvas(Form("ChioEbis_vs_ChioDE_run%04d_%04d",RunNumber[0],RunNumber[Nrun-1]),
+            Form("ChioEbis_vs_ChiodE_run%04d_%04d",RunNumber[0],RunNumber[Nrun-1]),
+            0,0,2000,1000);
+    can->cd();
+    hChioDE_E_all->Draw("colz");
+    for(int i = 0 ; i < Ncuts ; i++) cutZ[i]->Draw("same");
+}
+
+
+///////////////////////////////////////////////////////////////////////////
+void MakeSpline(){
+    // *************************Cut***************************
+    TFile *fcut=new TFile(CutPath, "open");
+    vector<TCutG*> cutZ(Ncuts);
+    // ********************** Load prev histo****************************
+    TFile *inFile=new TFile("histo/SingleZ_ChioDE_E.root");
+
+    int Z59POS = 28;
+    vector<TSpline3*> gspline(Ncuts);  
+    vector<TH2F*> h2 (Ncuts);
+    vector<TH1F*> hProfile(Ncuts);
+    vector<TH1F*> pfx(Ncuts); // extended hProfile 
+    TFile* fspline=new TFile("Output/spline_Chio_2024.root","recreate");
+
+    TCanvas * canfit = new TCanvas("canfit","canfit",0,0,2000,1500);
+
+    for(int i=0;i<Ncuts;i++)
+    {
+        // Get the 2D plot in TCutG
+        cutZ[i]=(TCutG*)fcut->Get(Form("Cut %i",i));
+        h2[i]=(TH2F*)inFile->Get(Form("hChioDE_E_%d",i+1));
+
+        // Create the TProfile
+        hProfile[i]=(TH1F*)h2[i]->ProfileX();
+        hProfile[i]->SetLineWidth(2);
+        hProfile[i]->SetDirectory(0);
+        canfit->cd();
+        if (i==0) {
+            hProfile[i]->GetYaxis()->SetRangeUser(5000,26000);
+            hProfile[i]->Draw();
+        }
+        else hProfile[i]->Draw("same");
+
+        // Get the range of the TProfile
+        int FirstBin, LastBin;
+        double parpol3[4];
+        for(int bin=1; bin<hProfile[i]->GetNbinsX(); bin++){
+            FirstBin = bin;
+            if (hProfile[i]->GetBinContent(bin)>6000) break;
+        }
+        double parpol1[2];
+        for(int bin=hProfile[i]->GetNbinsX(); bin>1 ; bin--){
+            LastBin = bin;
+            if (hProfile[i]->GetBinContent(bin)>6000) break;
+        }
+
+        // Create the extended TProfile
+        pfx[i] = new TH1F(Form("pfx_%02d",i+1),Form("pfx_%02d",i+1),hProfile[i]->GetNbinsX(),hProfile[i]->GetBinLowEdge(1),
+                hProfile[i]->GetBinLowEdge(hProfile[i]->GetNbinsX())+hProfile[i]->GetBinWidth(hProfile[i]->GetNbinsX()));
+        pfx[i]->SetLineColor(8);
+        pfx[i]->SetDirectory(0);
+
+        // find the function to extend the TProfile on the lower range
+        TF1 * fitpol3 = new TF1(Form("FitPol3_pfx_%02d",i+1),"pol3",hProfile[i]->GetBinLowEdge(FirstBin),hProfile[i]->GetBinLowEdge(FirstBin+200));
+        hProfile[i]->Fit(fitpol3,"R");
+        fitpol3->GetParameters(parpol3);
+
+        // find the function to extend the TProfile on the higher range
+        TF1 * fitpol1 = new TF1(Form("FitPol1_pfx_%02d",i+1),"pol1",hProfile[i]->GetBinLowEdge(LastBin)-10000,hProfile[i]->GetBinLowEdge(LastBin));
+        hProfile[i]->Fit(fitpol1,"R");
+        fitpol1->GetParameters(parpol1);
+
+        // fill the extended TProfile
+        float newval,lastval,lasterr;
+        for(int bin=1; bin<=FirstBin; bin++){
+            newval=0;
+            if(i < (Ncuts-4) && i!=0 && i!=1)
+                for(int par=0; par<4; par++) newval += parpol3[par]*pow(hProfile[i]->GetBinCenter(bin),par);
+            else if (i >= (Ncuts-4))
+                newval = hProfile[i]->GetBinContent(FirstBin);
+            else{
+                newval=0;
+                for(int par=0; par<2; par++) newval += parpol1[par]*pow(hProfile[i]->GetBinCenter(bin),par);
+                pfx[i]->SetBinContent(bin,newval);
+            }
+            pfx[i]->SetBinContent(bin,newval);
+        }
+        for(int bin=FirstBin; bin<=LastBin; bin++){
+            newval = hProfile[i]->GetBinContent(bin);
+            if (newval!=0){
+                pfx[i]->SetBinContent(bin,newval);
+                pfx[i]->SetBinError(bin,hProfile[i]->GetBinError(bin));
+                lastval = newval;
+                lasterr = hProfile[i]->GetBinError(bin);
+            }
+            else{
+                pfx[i]->SetBinContent(bin,lastval);
+                pfx[i]->SetBinError(bin,lasterr);
+            }
+        }
+        for(int bin=LastBin; bin<=hProfile[i]->GetNbinsX(); bin++){
+            newval=0;
+            for(int par=0; par<2; par++) newval += parpol1[par]*pow(hProfile[i]->GetBinCenter(bin),par);
+            pfx[i]->SetBinContent(bin,newval);
+        }
+        pfx[i]->Draw("same");
+
+        gspline[i]=new TSpline3(pfx[i]);
+        gspline[i]->SetName(Form("fspline_%d",i+1));
+        fspline->cd();
+        gspline[i]->Write();
+
+    }
+
+    fspline->Close();
+
+    TFile* CalOut=new TFile("../../../../Calibration/VAMOS/CHIO/Z_spline.root","recreate");
+    for (TSpline3 * i : gspline){
+        i->Write();
+    } 
+    CalOut->Close();
+
+    TGraph * gr = new TGraph();
+    gr->SetName("DEvsZ");
+
+    TCanvas * can = new TCanvas("ChioEcorr_vs_Ebis_for_TSplines","ChioEcorr_vs_Ebis_for_TSplines",0,0,2500,2000);
+    can->cd();
+    ofstream ofile_par;
+    string filename_par = "Output/mean_spline_par.dat";
+    ofile_par.open(filename_par.c_str());
+    cout << "Float_t FF_DEcorr[" << Ncuts << "] = { " << endl; 
+    ofile_par << "Float_t FF_DEcorr[" << Ncuts << "] = { " << endl;
+
+
+
+    vector<double> XEdgesMin = GetMinMaxX(cutZ.at(0));
+    vector<double> XEdgesMax = GetMinMaxX(cutZ.at(Ncuts-1));
+    vector<double> YEdgesMin = GetMinMaxY(cutZ.at(0));
+    vector<double> YEdgesMax = GetMinMaxY(cutZ.at(Ncuts-1));
+
+    double x1 = (XEdgesMin.at(0) + XEdgesMin.at(1)) /2;
+    double x2 = (XEdgesMax.at(0) + XEdgesMax.at(1)) /2;
+    double y1 = (YEdgesMin.at(0) + YEdgesMin.at(1)) /2;
+    double y2 = (YEdgesMax.at(0) + YEdgesMax.at(1)) /2;
+
+    TF1 *MeanPos = Linear(y1,x1,y2,x2,"MeanPos");
+
+    for(int i=0;i<Ncuts;i++){
+        can->cd();
+        if(i==0) h2[i]->Draw("col");
+        else     h2[i]->Draw("col,same");
+        cout << h2[i]->GetMean(2) << ", " << endl;
+        ofile_par << h2[i]->GetMean(2) << ", " << endl;
+        //gr->SetPoint(i,sqrt(h2[i]->GetMean(2)),i+31);
+        gr->SetPoint(i,gspline[i]->Eval(MeanPos->Eval((YEdgesMin.at(0)+YEdgesMin.at(1))/2)),i+Z59POS);
+        //hProfile[i]->Draw("same");
+        pfx[i]->Draw("same");
+        gspline[i]->SetLineColor(kBlue);
+        gspline[i]->SetLineWidth(3);
+        gspline[i]->Draw("lsame");
+    }
+
+    TCanvas * cangr = new TCanvas("ToGetRoughCal","ToGetRoughCal",200,0,1200,1000);
+    cangr->cd();
+    gr->SetMarkerStyle(20);
+    gr->Draw("AP");
+    gr->Fit("pol5");
+}
+
+
+///////////////////////////////////////////////////////////////////////////
+void ApplySpline_perTCutG()
+{
+
+    // *************************Cut***************************
+    TFile *fcut=new TFile(CutPath);
+    vector<TCutG*> cutZ(Ncuts);
+
+    // ******************* TSpline DE*************************
+    TFile *fspline=new TFile("Output/spline_Chio_2024.root","read");
+    vector<TSpline3*> gspline(Ncuts);  
+
+    for(int i=0;i<Ncuts;i++){ 
+        cutZ[i]=(TCutG*)fcut->Get(Form("Cut %i",i));
+        gspline[i] = (TSpline3*)fspline->FindObjectAny(Form("fspline_%d",i+1));
+    }
+
+    //**********************DE_E****************************************************
+    TChain *chain=new TChain("PhysicsTree");
+
+
+    for(int i=0;i<Nrun;i++) 
+    {
+        chain->Add(Form("../../../../root/analysis/Run%d.root",RunNumber[i]));
+        cout << "Run number " << RunNumber[i] << " loaded sucessfully !" << endl;
+    }    
+    TICPhysics* IC = new TICPhysics() ;
+
+    chain->SetBranchStatus("IC", true);
+    chain->SetBranchAddress("IC", &IC); 
+
+    // variable after applying TSpline MUST FIND middles of each spline
+    double FF_DEcorr;
+    vector<double> FF_DEcorr0 = { 
+        7375.73, 
+        7982.83, 
+        8419.21, 
+        8801.52, 
+        9227.89, 
+        9667.77, 
+        10163.1, 
+        10680.5, 
+        11222.2, 
+        11758.3, 
+        12287.6, 
+        12802.2, 
+        13324.2, 
+        13828.4, 
+        14325.2, 
+        14773.7, 
+        15207.3, 
+        15674.6, 
+        16098.9, 
+        16548.5, 
+        16926.9, 
+        17384.1, 
+        17778.3, 
+        18196.6, 
+        18597.6, 
+        19043.9, 
+        19437.8, 
+        19889.4,}; 
+    // 20301.1, 
+    //20709.7, 
+    //21112.6, 
+    //21544, 
+    //21953.4, 
+    //22361.8};
+
+
+TH2F *hChioDE_E_all  = new TH2F("hChioDE_E_all","hChioDE_E_all",1000,1000,41000,500,1000,26000);
+TH2F *hChioDE_E      = new TH2F("hChioDE_E","hChioDE_E",1000,1000,41000,500,1000,26000);
+TH2F *hChioDE_E_corr = new TH2F("hChioDE_E_corr","hChioDE_E_corr",1000,1000,41000,500,1000,26000);
+
+int Nentries=chain->GetEntries();
+//int Nentries = 1000000;
+auto start = std::chrono::high_resolution_clock::now();
+
+for(int e=0;e<Nentries;++e){
+    if (e % 100000  == 0 && e > 0 ) {
+        auto now = std::chrono::high_resolution_clock::now();
+        std::chrono::duration<double> elapsed = now - start;
+        double avgTimePerIteration = elapsed.count() / e;
+        double timeLeft = avgTimePerIteration * (Nentries - e);
+
+        std::cout << "********** Estimated time left: " << int(timeLeft) << " seconds **********" << "\r" << flush;
+    }
+
+    chain->GetEntry(e);
+
+    hChioDE_E_all->Fill(IC->Eres,IC->DE); 
+    for(int i=0;i<Ncuts;i++) if(cutZ[i]->IsInside(IC->Eres,IC->DE)) {
+        hChioDE_E->Fill(IC->Eres,IC->DE); 
+        FF_DEcorr = FF_DEcorr0[i] * IC->DE / gspline[i]->Eval(IC->Eres); 
+        hChioDE_E_corr->Fill(IC->Eres,FF_DEcorr); 
+        break;
+    }
+}
+
+TCanvas * can = new TCanvas(Form("ChioEbis_vs_ChioDE_run%04d_%04d",RunNumber[0],RunNumber[Nrun-1]),
+        Form("ChioEbis_vs_ChiodE_run%04d_%04d",RunNumber[0],RunNumber[Nrun-1]),
+        0,0,2000,1000);
+can->Divide(1,3);
+can->cd(1); gPad-> SetLogz(); hChioDE_E_all->Draw("colz");
+can->cd(2); gPad-> SetLogz(); hChioDE_E->Draw("colz");
+can->cd(3); gPad-> SetLogz(); hChioDE_E_corr->Draw("colz");
+
+}
+void ApplySplineUnique()
+{
+    // *************************Cut***************************
+    TFile *fcut=new TFile(CutPath, "open");
+    vector<TCutG*> cutZ(Ncuts);
+
+    // ******************* TSpline DE*************************
+    TFile *fspline=new TFile("Output/spline_Chio_2024.root","read");
+    vector<TSpline3*> gspline(Ncuts) ;  
+
+    for(int i=0;i<Ncuts;i++){ 
+        cutZ[i]=(TCutG*)fcut->Get(Form("Cut %i",i));
+        gspline[i] = (TSpline3*)fspline->FindObjectAny(Form("fspline_%d",i+1));
+    }
+
+    //**********************DE_E****************************************************
+    TChain *chain=new TChain("PhysicsTree");
+    for(int i=0;i<Nrun;i++) 
+    {
+        chain->Add(Form("../../../../root/analysis/Run%d.root",RunNumber[i]));
+        cout << "Run number " << RunNumber[i] << " loaded sucessfully !" << endl;
+    }   
+
+    TICPhysics* IC = new TICPhysics() ;
+    chain->SetBranchStatus("IC", true);
+    chain->SetBranchAddress("IC", &IC); 
+
+
+    // variable after applying TSpline
+    double FF_DEcorr=0;
+    double Zrough=0;
+    double Zabitbetter=0;
+
+    vector<double> FF_DEcorr0(Ncuts);
+    for(int index=0; index<Ncuts; index++){  
+        FF_DEcorr0[index] = gspline[index]->Eval(8500);
+    }
+
+    // histos
+    TH2F *hChioDE_E_all  = new TH2F("hChioDE_E_all","hChioDE_E_all",1000,1000,41000,500,1000,26000);
+    TH2F *hChioDE_E_corr = new TH2F("hChioDE_E_corr","hChioDE_E_corr",1000,1000,41000,500,1000,26000);
+    TH1F *hChioDE_corr   = new TH1F("hChioDE_corr","hChioDE_corr",2500,1000,26000);
+    TH2F *hChioZ_E_rough = new TH2F("hChioZ_E_rough","hChioZ_E_rough",1000,1000,41000,500,25,65); 
+    TH1F *hChioZ_rough = new TH1F("hChioZ_rough","hChioZ_rough",2500,25,65); 
+    TH1F *hChioZ_abitbetter = new TH1F("hChioZ_abitbetter","hChioZ_abitbetter",2500,25,65); 
+
+    //int Nentries=1e6;
+    int Nentries = chain->GetEntries();
+    auto start = std::chrono::high_resolution_clock::now();
+
+    double FF_Eres_prev = 0;
+    for(int e=0;e<Nentries;e++)
+    {
+        if (e % 100000  == 0 && e > 0 ) {
+            auto now = std::chrono::high_resolution_clock::now();
+            std::chrono::duration<double> elapsed = now - start;
+            double avgTimePerIteration = elapsed.count() / e;
+            double timeLeft = avgTimePerIteration * (Nentries - e);
+
+            std::cout << "********** Estimated time left: " << int(timeLeft) << " seconds **********" << "\r" << flush;
+        }
+
+        FF_DEcorr = -100;
+        chain->GetEntry(e);
+
+        if(IC->Eres==FF_Eres_prev) continue;
+        FF_Eres_prev = IC->Eres;
+        hChioDE_E_all->Fill(IC->Eres,IC->DE);
+
+        float Eval_DEspline, DEspline0;
+        int   index=0;
+
+        Eval_DEspline = gspline[24]->Eval(IC->Eres);
+        DEspline0 = FF_DEcorr0[24];
+
+        FF_DEcorr = DEspline0 * IC->DE / Eval_DEspline ;
+        hChioDE_E_corr->Fill(IC->Eres,FF_DEcorr);
+        //if(FF_DEcorr>15120 && FF_DEcorr<15130) {
+        //  cout << e << " " << index << " " << IC->Eres << " " << FF_DEcorr << endl;
+        //}
+
+        // should be pol2 !!!
+        //Zrough = -110.165 + 3.34475*sqrt(FF_DEcorr) - 0.0271123*FF_DEcorr + 8.60752e-05 * pow(sqrt(FF_DEcorr),3);
+        Zrough = 16.8521 + 0.0017328*FF_DEcorr + 1.70774e-8*pow(FF_DEcorr,2);
+        Zabitbetter = -127.117 + 3.83463*sqrt(FF_DEcorr) - 0.0317448 *FF_DEcorr + 0.000100428 * pow(sqrt(FF_DEcorr),3);
+        hChioZ_E_rough->Fill(IC->Eres,Zrough);
+
+        if(3000<IC->Eres && IC->Eres<25000){ 
+            hChioDE_corr->Fill(FF_DEcorr);
+            hChioZ_rough->Fill(Zrough);
+            hChioZ_abitbetter->Fill(Zabitbetter);
+        }
+    }
+
+    TCanvas * can = new TCanvas(Form("ChioEbis_vs_ChioDE_run%04d_%04d",RunNumber[0],RunNumber[Nrun-1]),
+            Form("ChioEbis_vs_ChiodE_run%04d_%04d",RunNumber[0],RunNumber[Nrun-1]),
+            0,0,2000,2000);
+    can->Divide(1,3);
+    can->cd(1); gPad-> SetLogz(); hChioDE_E_all->Draw("colz");
+    for(int i = 0 ; i < Ncuts ; i++) cutZ[i]->Draw("same");
+    can->cd(2); gPad-> SetLogz(); hChioDE_E_corr->Draw("colz");
+    can->cd(3); gPad-> SetLogz(); hChioZ_E_rough->Draw("colz");
+
+    TCanvas * can1D = new TCanvas(Form("DE_and_Z_ifE_8000to25000_run%04d_%04d",RunNumber[0],RunNumber[Nrun-1]),
+            Form("DE_and_Z_ifE_8000to25000_run%04d_%04d",RunNumber[0],RunNumber[Nrun-1]),
+            0, 0, 2000,2000);
+    can1D->Divide(1,3);
+    can1D->cd(1);  hChioDE_corr->Draw(); 
+    can1D->cd(2);  hChioZ_rough->Draw();
+    can1D->cd(3);  hChioZ_abitbetter->Draw();
+
+    TFile * fsave = new TFile(Form("Output/DEvsE_corr_run%04d_%04d.root",RunNumber[0],RunNumber[Nrun-1]),"recreate");  
+    can->Write();
+    hChioDE_E_all->Write();
+    hChioDE_E_corr->Write();
+    hChioZ_E_rough->Write();
+    can1D->Write();
+    hChioDE_corr->Write();
+    hChioZ_rough->Write();
+    hChioZ_abitbetter->Write();
+    fsave->Close();
+}
+
+
+///////////////////////////////////////////////////////////////////////////
+void ApplySpline()
+{
+    // *************************Cut***************************
+    TFile *fcut=new TFile(CutPath, "open");
+    vector<TCutG*> cutZ(Ncuts);
+
+    // ******************* TSpline DE*************************
+    TFile *fspline=new TFile("Output/spline_Chio_2024.root","read");
+    vector<TSpline3*> gspline(Ncuts) ;  
+
+    for(int i=0;i<Ncuts;i++){ 
+        cutZ[i]=(TCutG*)fcut->Get(Form("Cut %i",i));
+        gspline[i] = (TSpline3*)fspline->FindObjectAny(Form("fspline_%d",i+1));
+    }
+
+    //**********************DE_E****************************************************
+    TChain *chain=new TChain("PhysicsTree");
+    for(int i=0;i<Nrun;i++) 
+    {
+        chain->Add(Form("../../../../root/analysis/Run%d.root",RunNumber[i]));
+        cout << "Run number " << RunNumber[i] << " loaded sucessfully !" << endl;
+    }   
+
+    TICPhysics* IC = new TICPhysics() ;
+    chain->SetBranchStatus("IC", true);
+    chain->SetBranchAddress("IC", &IC); 
+
+    double FF_IC_X;
+    chain->SetBranchStatus("FF_IC_X", true);
+    chain->SetBranchAddress("FF_IC_X", &FF_IC_X);
+
+
+    // variable after applying TSpline
+    double FF_DEcorr=0;
+    double Zrough=0;
+    double Zabitbetter=0;
+    vector<double> FF_DEcorr0(Ncuts);
+
+    vector<double> XEdgesMin = GetMinMaxX(cutZ.at(0));
+    vector<double> XEdgesMax = GetMinMaxX(cutZ.at(Ncuts-1));
+    vector<double> YEdgesMin = GetMinMaxY(cutZ.at(0));
+    vector<double> YEdgesMax = GetMinMaxY(cutZ.at(Ncuts-1));
+
+    double x1 = (XEdgesMin.at(0) + XEdgesMin.at(1)) /2;
+    double x2 = (XEdgesMax.at(0) + XEdgesMax.at(1)) /2;
+    double y1 = (YEdgesMin.at(0) + YEdgesMin.at(1)) /2;
+    double y2 = (YEdgesMax.at(0) + YEdgesMax.at(1)) /2;
+
+    TF1 *MeanPos = Linear(y1,x1,y2,x2,"MeanPos");
+
+    for(int index=0; index<Ncuts; index++){  
+        vector<double> YEdgesMinTemp = GetMinMaxY(cutZ.at(index));
+        cout << " E " <<MeanPos->Eval((YEdgesMinTemp.at(0)+YEdgesMinTemp.at(1))/2) << endl;
+        cout << "DE " << gspline[index]->Eval(MeanPos->Eval((YEdgesMinTemp.at(0)+YEdgesMinTemp.at(1))/2)) << endl;
+        FF_DEcorr0[index] = gspline[index]->Eval(MeanPos->Eval((YEdgesMinTemp.at(0)+YEdgesMinTemp.at(1))/2));
+    }
+    // histos
+    TH2F *hChioDE_E_all  = new TH2F("hChioDE_E_all","hChioDE_E_all",1000,1000,41000,500,1000,26000);
+    TH2F *hChioDE_E_corr = new TH2F("hChioDE_E_corr","hChioDE_E_corr",1000,1000,41000,500,1000,26000);
+    TH1F *hChioDE_corr   = new TH1F("hChioDE_corr","hChioDE_corr",1000,1000,26000);
+    TH2F *hChioZ_E_rough = new TH2F("hChioZ_E_rough","hChioZ_E_rough",1000,1000,41000,500,25,65); 
+    TH1F *hChioZ_rough = new TH1F("hChioZ_rough","hChioZ_rough",2500,25,65); 
+    TH1F *hChioZ_abitbetter = new TH1F("hChioZ_abitbetter","hChioZ_abitbetter",2500,25,65); 
+
+    std::ifstream file("Output/Calibration.txt");
+    bool Loaded = true ;
+
+    if (!file) {
+        std::cerr << "Error opening file.\n";
+        Loaded = false;
+    }
+    Double_t p[6]; // Assuming 5 values
+    if (Loaded == true){
+        for (int i = 0; i < 6; ++i) {
+            file >> p[i];
+        }
+    }
+    int Nentries=2e6;
+    //int Nentries = chain->GetEntries();
+    auto start = std::chrono::high_resolution_clock::now();
+
+    double FF_Eres_prev = 0;
+    for(int e=0;e<Nentries;e++)
+    {
+        if (e % 100000  == 0 && e > 0 ) {
+            auto now = std::chrono::high_resolution_clock::now();
+            std::chrono::duration<double> elapsed = now - start;
+            double avgTimePerIteration = elapsed.count() / e;
+            double timeLeft = avgTimePerIteration * (Nentries - e);
+
+            std::cout << "********** Estimated time left: " << int(timeLeft) << " seconds **********" << "\r" << flush;
+        }
+
+        FF_DEcorr = -100;
+        chain->GetEntry(e);
+
+        if (IC->DE<3000) continue;
+        if(IC->Eres==FF_Eres_prev) continue;
+        if (FF_IC_X<-530) continue;
+        FF_Eres_prev = IC->Eres;
+
+        hChioDE_E_all->Fill(IC->Eres,IC->DE);
+
+        float Eval_DEspline, DEspline0;
+        int   index=0;
+        for(int i=0; i<Ncuts; i++){
+            Eval_DEspline = gspline[i]->Eval(IC->Eres); 
+            if(IC->DE<Eval_DEspline) break;
+            index = i;
+        }
+
+        Eval_DEspline = gspline[index]->Eval(IC->Eres);
+        DEspline0 = FF_DEcorr0[index];
+        float dmin, dsup;
+        if( index < (Ncuts-1) && IC->DE > gspline[0]->Eval(IC->Eres)){
+            dmin = abs(IC->DE - gspline[index]->Eval(IC->Eres));
+            dsup = abs(gspline[index+1]->Eval(IC->Eres) - IC->DE);
+            if(dmin<0) cout << "negative value of dmin = " << dmin << ", for index = " << index << endl;
+            if(dsup<0) cout << "negative value of dsup = " << dsup << ", for index = " << index << endl;
+            //if(dsup<dmin) {
+            //  Eval_DEspline = gspline[index+1]->Eval(IC->Eres) ;
+            //  DEspline0 = FF_DEcorr0[index] ;
+            //}
+            Eval_DEspline = dsup*gspline[index]->Eval(IC->Eres)/(dmin+dsup) + dmin*gspline[index+1]->Eval(IC->Eres)/(dmin+dsup) ;
+            DEspline0 = dsup*FF_DEcorr0[index]/(dmin+dsup) + dmin*FF_DEcorr0[index+1]/(dmin+dsup) ;
+
+            FF_DEcorr = DEspline0 * IC->DE / Eval_DEspline ;
+            hChioDE_E_corr->Fill(IC->Eres,FF_DEcorr);
+            //if(FF_DEcorr>15120 && FF_DEcorr<15130) {
+            //  cout << e << " " << index << " " << IC->Eres << " " << FF_DEcorr << endl;
+            //}
+        }
+
+        // should be pol2 !!!
+        //Zrough = -110.165 + 3.34475*sqrt(FF_DEcorr) - 0.0271123*FF_DEcorr + 8.60752e-05 * pow(sqrt(FF_DEcorr),3);
+
+        if (Loaded == true){
+
+
+            Zrough = p[0] + p[1]*FF_DEcorr +p[2]*pow(FF_DEcorr,2) + p[3]*pow(FF_DEcorr,3) +p[4]*pow(FF_DEcorr,4) + p[5]*pow(FF_DEcorr,5);
+        }
+
+        else {
+            Zrough = -57.068 + 0.0275327*FF_DEcorr - 3.52303e-06*pow(FF_DEcorr,2) + 2.36906e-10*pow(FF_DEcorr,3) - 7.74553e-15*pow(FF_DEcorr,4) + 9.90229e-20*pow(FF_DEcorr,5);
+        }
+        //out << Zrough << endl;
+        Zabitbetter = -127.117 + 3.83463*sqrt(FF_DEcorr) - 0.0317448 *FF_DEcorr + 0.000100428 * pow(sqrt(FF_DEcorr),3);
+        hChioZ_E_rough->Fill(IC->Eres,Zrough);
+
+        if(3000<IC->Eres && IC->Eres<25000){ 
+            hChioDE_corr->Fill(FF_DEcorr);
+            hChioZ_rough->Fill(Zrough);
+            hChioZ_abitbetter->Fill(Zabitbetter);
+        }
+    }
+
+    // ********************** Fit pol5 of each Z ***********************************
+    //
+    // PeakFinder
+    TSpectrum *PeakFinder = new TSpectrum(100); 
+    int nPeaks = PeakFinder->Search(hChioDE_corr,2,"",0.040); 
+    Double_t * x = PeakFinder->GetPositionX();
+    std::sort(x,x+nPeaks);
+
+    TGraph * gr = new TGraph();
+    for(int i=0;i<nPeaks;i++){
+        cout << x[i] << endl;
+        gr->SetPoint(i,x[i],i+32);
+    }
+
+    // Define and fit a function (linear in this case)
+    TF1 *fitFunc = new TF1("fitFunc", "pol5");
+    gr->Fit(fitFunc, "Q"); // Quiet mode
+
+    // Open a text file to save fit results
+    std::ofstream outFile("Output/Calibration.txt");
+    std::ofstream outFileCal("../../../../Calibration/VAMOS/CHIO/Chio_Z_Calibration.cal");
+
+    outFileCal << "IC_Z_CALIBRATION" << " ";
+    if (outFile.is_open()) {
+        for (int i = 0; i < fitFunc->GetNpar(); i++) {
+            outFile <<  fitFunc->GetParameter(i) << " ";
+            outFileCal <<  fitFunc->GetParameter(i) << " ";
+        }
+        outFile.close();
+        outFileCal.close();
+        std::cout << "Fit results saved to fit_results.txt\n";
+    }
+
+    std::ofstream CalFile("../../../../Calibration/VAMOS/CHIO/Chio_Z_Spline_Eval.txt");
+    if (CalFile.is_open()) {
+        for (int i = 0; i < cutZ.size(); i++) {
+            vector<double> YEdgesMinTemp = GetMinMaxY(cutZ.at(i));
+            CalFile << MeanPos->Eval((YEdgesMinTemp.at(0)+YEdgesMinTemp.at(1))/2) << " ";
+        }
+        CalFile.close();
+        std::cout << "Eval position saved in calibration\n";
+    }
+
+
+
+    TCanvas * cangr = new TCanvas("Cal","Cal",200,0,1200,1000);
+    cangr->cd();
+    gr->SetMarkerStyle(20);
+    gr->Draw("AP");
+    gr->Fit("pol5");
+
+    // ******************************************************************************
+    TCanvas * can = new TCanvas(Form("ChioEbis_vs_ChioDE_run%04d_%04d",RunNumber[0],RunNumber[Nrun-1]),
+            Form("ChioEbis_vs_ChiodE_run%04d_%04d",RunNumber[0],RunNumber[Nrun-1]),
+            0,0,2000,2000);
+    can->Divide(1,3);
+    can->cd(1); gPad-> SetLogz(); hChioDE_E_all->Draw("colz");
+    for(int i = 0 ; i < Ncuts ; i++) cutZ[i]->Draw("same");
+    can->cd(2); gPad-> SetLogz(); hChioDE_E_corr->Draw("colz");
+    can->cd(3); gPad-> SetLogz(); hChioZ_E_rough->Draw("colz");
+
+    TCanvas * can1D = new TCanvas(Form("DE_and_Z_ifE_8000to25000_run%04d_%04d",RunNumber[0],RunNumber[Nrun-1]),
+            Form("DE_and_Z_ifE_8000to25000_run%04d_%04d",RunNumber[0],RunNumber[Nrun-1]),
+            0, 0, 2000,2000);
+    can1D->Divide(1,3);
+    can1D->cd(1);  hChioDE_corr->Draw(); 
+    can1D->cd(2);  hChioZ_rough->Draw();
+    can1D->cd(3);  hChioZ_abitbetter->Draw();
+
+    TFile * fsave = new TFile(Form("Output/DEvsE_corr_run%04d_%04d.root",RunNumber[0],RunNumber[Nrun-1]),"recreate");  
+    can->Write();
+    hChioDE_E_all->Write();
+    hChioDE_E_corr->Write();
+    hChioZ_E_rough->Write();
+    can1D->Write();
+    hChioDE_corr->Write();
+    hChioZ_rough->Write();
+    hChioZ_abitbetter->Write();
+    fsave->Close();
+}
+
+///////////////////////////////////////////////////////////////////////////
+void Fit_DE_E_corr()
+{
+
+    TFile * f = new TFile(Form("Output/DEvsE_corr_run%04d_%04d.root",RunNumber[0],RunNumber[Nrun-1]),"read");
+    f->ls();
+    TH1F * h1DEcorr = (TH1F*)f->Get("hChioDE_corr");
+    h1DEcorr->SetDirectory(0);
+    f->Close();
+
+    TCanvas * canfit = new TCanvas("DEcorrforfit","Decorrforfit",0,0,3000,1000);
+    canfit->Divide(2,1);
+    canfit->cd(1);   h1DEcorr->Draw();
+
+    float InitMean[34] = {
+        7.55521e+03,     7.82392e+03,    8.04283e+03,     8.36164e+03,   
+        8.68128e+03,     9.06218e+03,    9.44613e+03,     9.82352e+03,   
+        1.02433e+04,     1.06666e+04,    1.11215e+04,     1.15371e+04,   
+        1.20246e+04,     1.24492e+04,    1.29190e+04,     1.34056e+04,   
+        1.38367e+04,     1.42968e+04,    1.46816e+04,     1.51614e+04,   
+        1.55115e+04,     1.58873e+04,    1.63049e+04,     1.66187e+04,   
+        1.69730e+04,     1.73969e+04,    1.76965e+04,     1.80730e+04,   
+        1.85234e+04,     1.88849e+04,    1.92127e+04,     1.96378e+04,   
+        1.99820e+04,     2.02914e+04
+    };
+
+    float InitSigma[34] = {
+        6.97215e+01,    7.76394e+01,    7.84506e+01,    8.23239e+01, 
+        9.25943e+01,    1.06154e+02,    1.03566e+02,    1.02429e+02, 
+        1.10066e+02,    1.15032e+02,    1.20449e+02,    1.15397e+02, 
+        1.30322e+02,    1.29513e+02,    1.45757e+02,    1.53552e+02, 
+        1.48061e+02,    1.49866e+02,    1.60311e+02,    1.56691e+02, 
+        1.55461e+02,    1.78093e+02,    1.66829e+02,    1.67863e+02, 
+        1.75509e+02,    1.75189e+02,    1.70589e+02,    1.76178e+02, 
+        1.65192e+02,    1.87470e+02,    1.78153e+02,    1.58322e+02, 
+        1.53678e+02,    1.97134e+02
+    };
+
+    char name[1000];
+    TString totname;
+    for(int i=0; i<34;i++){
+        sprintf(name,"%i",i*3);
+        totname += "gaus(" + TString(name) + ")+";
+    }  
+    totname.Remove(totname.Last('+'));
+    TF1 * gtot = new TF1("MultiGaussianFit",totname,InitMean[0]-2*InitSigma[0],InitMean[33]+2*InitSigma[33]);
+
+    for(int i=0; i<34;i++){
+        gtot->SetParameter(i*3+1,InitMean[i]); 
+        gtot->SetParameter(i*3+2,InitSigma[i]); 
+    }  
+    h1DEcorr->Fit(gtot,"R+");
+
+    TGraph * gr = new TGraph();
+    gr->SetName("DEfit_vs_Z");
+    gr->SetMarkerStyle(20);
+    for(int i=0; i<33; i++){
+        gr->SetPoint(i,sqrt(gtot->GetParameter(i*3+1)),i+32); 
+    }
+
+    canfit->cd(2); gr->Draw("AP");
+
+}
+
+
+const int CutNumberLoader(){
+    TFile *fcut=new TFile(CutPath,"open");
+
+    int CutCount = 0 ;
+    TIter next(fcut->GetListOfKeys());
+    TKey* key;
+
+    while ((key=(TKey*)next())){
+        if (std::string(key->GetClassName()) == "TCutG"){
+            CutCount ++;
+        }
+    }
+
+    const int res = CutCount;
+    return res;
+}
+
+
+std::vector<double> GetMinMaxX(TCutG* cut) {
+    if (!cut) {
+        std::cerr << "Invalid TCutG!" << std::endl;
+        return {};
+    }
+
+    int nPoints = cut->GetN();
+    double* xPoints = cut->GetX();
+
+    // Find the minimum and maximum X values
+    double minX = *std::min_element(xPoints, xPoints + nPoints);
+    double maxX = *std::max_element(xPoints, xPoints + nPoints);
+
+    return {minX, maxX};
+}
+
+std::vector<double> GetMinMaxY(TCutG* cut) {
+    if (!cut) {
+        std::cerr << "Invalid TCutG!" << std::endl;
+        return {};
+    }
+
+    int nPoints = cut->GetN();
+    double* yPoints = cut->GetY();
+
+    // Find the minimum and maximum X values
+    double minX = *std::min_element(yPoints, yPoints + nPoints);
+    double maxX = *std::max_element(yPoints, yPoints + nPoints);
+
+    return {minX, maxX};
+}
+
+
+TF1* Linear(double x1, double y1, double x2, double y2, const char* name ) {
+    // Ensure the points are not the same
+    if (x1 == x2) {
+        throw std::invalid_argument("x1 and x2 must be different to define a function.");
+    }
+
+    // Calculate slope and intercept of the line
+    double slope = (y2 - y1) / (x2 - x1);
+    double intercept = y1 - slope * x1;
+
+    // Define the function as a lambda
+    auto func = [slope, intercept](double* x, double* p) {
+        return slope * x[0] + intercept;
+    };
+
+    // Create and return the TF1
+    TF1* f = new TF1(name, func, x1, x2, 0);
+    return f;
+}
diff --git a/Projects/AlPhaPha/2024/macro/Calibration/IC/Step5/histo/ReadMe.md b/Projects/AlPhaPha/2024/macro/Calibration/IC/Step5/histo/ReadMe.md
new file mode 100644
index 0000000000000000000000000000000000000000..aea7ea3d3e0e21e2499b717c1703d3b7cd20e388
--- /dev/null
+++ b/Projects/AlPhaPha/2024/macro/Calibration/IC/Step5/histo/ReadMe.md
@@ -0,0 +1,2 @@
+# histo dir
+
diff --git a/Projects/AlPhaPha/2024/macro/Calibration/IC/Step6/CorrectionZ.C b/Projects/AlPhaPha/2024/macro/Calibration/IC/Step6/CorrectionZ.C
new file mode 100644
index 0000000000000000000000000000000000000000..e25155b66f3fbe2ed2472cae6316f5b1d10259c2
--- /dev/null
+++ b/Projects/AlPhaPha/2024/macro/Calibration/IC/Step6/CorrectionZ.C
@@ -0,0 +1,114 @@
+#include "TICPhysics.h"
+#include "TFPMWPhysics.h"
+#include <TChain.h>
+#include <regex>
+
+void HistoFiller(const char* Path);
+
+void CorrectionZ(const char* Path){
+
+    //===========================================================================================================
+    if( Path &&  Path[0] != '\0'){
+        HistoFiller(Path);
+        return;
+    }
+    //===========================================================================================================
+
+
+    TFile *f = new TFile("Output/histo_merged.root","open");
+    //===========================================================================================================
+    TH2F *hZvsTS = nullptr , *hZvsTheta = nullptr;
+    f->GetObject("hZvsTS",hZvsTS);
+    f->GetObject("hZvsTheta",hZvsTheta);
+    //===========================================================================================================
+
+    TCanvas *c = new TCanvas("c","c");
+    c->Divide(2);
+    c->cd(1);
+    hZvsTheta->Draw("colz");
+    c->cd(2);
+    hZvsTS->Draw("colz");
+
+} // end macro:
+
+void HistoFiller(const char* Path){
+
+    //===========================================================================================================
+    // Import
+    //===========================================================================================================
+    TChain *chain = new TChain("PhysicsTree");
+    chain->Add (Path);
+    //===========================================================================================================
+    TICPhysics* IC = new TICPhysics() ;
+    chain->SetBranchStatus("IC", true);
+    chain->SetBranchAddress("IC", &IC); 
+
+    TFPMWPhysics* FPMW = new TFPMWPhysics() ;
+    chain->SetBranchStatus("FPMW", true);
+    chain->SetBranchAddress("FPMW", &FPMW); 
+
+    double FF_IC_X, VAMOS_TS_hour;
+    chain->SetBranchStatus("FF_IC_X", true);
+    chain->SetBranchAddress("FF_IC_X", &FF_IC_X);
+
+    chain->SetBranchStatus("VAMOS_TS_hour", true);
+    chain->SetBranchAddress("VAMOS_TS_hour", &VAMOS_TS_hour);
+    //===========================================================================================================
+
+    //===========================================================================================================
+    // Histo initialisation + filling just to get the range 
+    TH2F *hZvsTheta = new TH2F("hZvsTheta","hZvsTheta",1000,-0.5,0.5,1000,20,80);
+    TH2F *hZvsTS = new TH2F("hZvsTS","hZvsTS",2000,0,200,1000,20,80);
+    //===========================================================================================================
+    int Nentries = chain->GetEntries();   
+    //int Nentries = 1e6;
+    auto start = std::chrono::high_resolution_clock::now();
+
+    for (int e = 0; e < Nentries; e++) {    
+        if (e % 100000  == 0 && e > 0 ) {
+            auto now = std::chrono::high_resolution_clock::now();
+            std::chrono::duration<double> elapsed = now - start;
+            double avgTimePerIteration = elapsed.count() / e;
+            double timeLeft = avgTimePerIteration * (Nentries - e);
+
+            std::cout << "********** Estimated time left: " << int(timeLeft) << " seconds **********" << "\r" << flush;
+        }
+
+        chain->GetEntry(e);
+
+        if(FF_IC_X>-530 && VAMOS_TS_hour>0){
+            hZvsTheta->Fill(FPMW->Thetaf,IC->Chio_Z);
+            hZvsTS->Fill(VAMOS_TS_hour,IC->Chio_Z);
+        }
+    }
+
+    //===========================================================================================================
+    // Save file
+    //===========================================================================================================
+
+    string strPath(Path);    
+    regex pattern("Run(\\d{3})");  // Regex to match Run followed by exactly 3 digits
+    smatch matches;
+
+    if (regex_search(strPath, matches, pattern)) {
+        string number = matches[1];  // Extract the number
+        string fileName = "Output/histo_" + number + ".root";  // Generate the filename
+
+        // Create the TFile
+        TFile* file = new TFile(fileName.c_str(), "RECREATE");
+        if (file->IsOpen()) {
+            cout << "File created: " << fileName << endl;
+        } else {
+            cout << "Failed to create the file." << endl;
+        }
+
+        hZvsTS->Write();
+        hZvsTheta->Write();
+        // Don't forget to close the file
+        file->Close();
+    } 
+    else {
+        cout << "Pattern not found!" << endl;
+    }
+
+}
diff --git a/Projects/AlPhaPha/2024/macro/Calibration/IC/Step6/MultiRun.sh b/Projects/AlPhaPha/2024/macro/Calibration/IC/Step6/MultiRun.sh
new file mode 100644
index 0000000000000000000000000000000000000000..2bd20d92ff03e37f060ae8716118693db93849ad
--- /dev/null
+++ b/Projects/AlPhaPha/2024/macro/Calibration/IC/Step6/MultiRun.sh
@@ -0,0 +1,54 @@
+#!/bin/bash
+
+
+#launch job in parralel
+MAX_JOBS=$(( $(nproc) -4 ))   # Maximum parallel jobs
+SEMAPHORE="job_semaphore"
+
+# Create a named pipe (FIFO) for job control
+mkfifo $SEMAPHORE
+exec 3<> $SEMAPHORE
+rm $SEMAPHORE
+
+# Pre-fill the semaphore with tokens equal to MAX_JOBS
+for ((i=0; i<MAX_JOBS; i++)); do
+    echo "" >&3
+done
+
+
+for run in {245..252}; do
+    read -u 3  # Wait for an available slot
+    {
+        root -l -q "./CorrectionZ.C(\"../../../../root/analysis/Run"$run"AoQ_test.root\")" 
+        echo "" >&3  # Release the slot
+    } & 
+done
+
+wait
+
+exec 3>&- #close semaphore 
+# Define output file name
+output_file="Output/histo_merged.root"
+
+# Initialize an empty list of files
+files=""
+
+# Loop through the run numbers
+for run in {245..252}; do
+    filename="Output/histo_${run}.root"
+
+    # Check if the file exists before adding it
+    if [[ -f "$filename" ]]; then
+        files+=" $filename"
+    else
+        echo "Warning: $filename not found, skipping."
+    fi
+done
+
+# Perform hadd only if there are files
+if [[ -n "$files" ]]; then
+    echo "Merging files into $output_file..."
+    hadd "$output_file" $files
+else
+    echo "No valid files found. Nothing to merge."
+fi
diff --git a/Projects/AlPhaPha/2024/macro/Calibration/IC/Step6/Output/ReadMe.md b/Projects/AlPhaPha/2024/macro/Calibration/IC/Step6/Output/ReadMe.md
new file mode 100644
index 0000000000000000000000000000000000000000..e30c6d3fdfe6da86b87d1ade2ef8a8bdc78ad216
--- /dev/null
+++ b/Projects/AlPhaPha/2024/macro/Calibration/IC/Step6/Output/ReadMe.md
@@ -0,0 +1 @@
+# Output Dir
diff --git a/Projects/AlPhaPha/2024/macro/chio/DE_E_Spline/ReadMe.md b/Projects/AlPhaPha/2024/macro/chio/DE_E_Spline/ReadMe.md
index 3e6f98ff227ed13a32aec8477ee7090fd282e46a..7486114a8d2b4ee6f0e4740343915ed62d052fd5 100644
--- a/Projects/AlPhaPha/2024/macro/chio/DE_E_Spline/ReadMe.md
+++ b/Projects/AlPhaPha/2024/macro/chio/DE_E_Spline/ReadMe.md
@@ -2,6 +2,7 @@
 
 You need to fill Cut folder with the cut of each charge  
 
-You can do this simply by using the DECorr.C macro in the YCalibration folder  
+You can do this simply by using the DECorr.C macro in the XYCalibration folder 
+You can also use the AutoCut Code from XYCalibration folder
 
-The name of the cut should be Z1->ZN and you should space them a little  
+Be careful with cut name  
diff --git a/Projects/AlPhaPha/2024/macro/chio/DE_E_Spline/SplineChio.C b/Projects/AlPhaPha/2024/macro/chio/DE_E_Spline/SplineChio.C
index eb7c1011f258abdd4000e661ba873e344470ab96..d26bfbab0d687314ab91af7fc733f84b9042e2ac 100644
--- a/Projects/AlPhaPha/2024/macro/chio/DE_E_Spline/SplineChio.C
+++ b/Projects/AlPhaPha/2024/macro/chio/DE_E_Spline/SplineChio.C
@@ -1,4 +1,6 @@
 #include "TICPhysics.h"
+#include "TTimeData.h"
+#include <TFPMWPhysics.h>
 #include <TChain.h>
 #include <TCutG.h>
 #include <TF1.h>
@@ -6,18 +8,18 @@
 #include <TH2.h>
 #include <TSpline.h>
 #include <fstream>
-
 using namespace std;
 
-const int Ncuts=28;
+
+const int CutNumberLoader();
+const int Ncuts = CutNumberLoader();
 const int NSegment=11;
-const int Nrun=1;
-int RunNumber[Nrun]={241};
+const int Nrun=3;
+int RunNumber[Nrun]={246,247,248};
 
 void MakeSpline();
 void ApplySpline_perTCutG();
 void ApplySpline();
-vector<vector<TSpline3*>> LoadSpline(const char* PathToSpline);
 
 ///////////////////////////////////////////////////////////////////////////
 void SplineChio()
@@ -25,41 +27,45 @@ void SplineChio()
     //===========================================================================================================
     //                                      Loading Var
     //===========================================================================================================
-    
-    //**********************Cut**************************************
-    TFile *fcut=new TFile("Cut/Cut_Z.root","open");
-    TCutG *cutZ[Ncuts];
-    for(int i=0;i<Ncuts;i++) cutZ[i]=(TCutG*)fcut->Get(Form("Z%i",i+1));
-
-    // ****************** Spline Y **********************************
-    TFile *fSplineIC = new TFile("../YCalibration/Output/spline_P2P_2024.root","open"); 
 
+    //**********************Cut**************************************
+    TFile *fcut=new TFile("../XYCalibration/Output/CutAutoZ.root","open");
 
-    vector<vector<TSpline3*>> Spline = LoadSpline("../YCalibration/Output/spline_P2P_2024.root");
-    vector<TSpline3*> spline_X(11), spline_Y(11);
-    spline_X = Spline.at(0) ; spline_Y = Spline.at(1);
+    vector<TCutG*> cutZ(Ncuts);
+    for(int i=0;i<Ncuts;i++) cutZ[i]=(TCutG*)fcut->Get(Form("Cut %i",i));
 
     //**********************DE_E****************************************************
     TChain *chain=new TChain("PhysicsTree");
-    
-    chain->Add("../../../root/analysis/VamosCalib241.root");
-    
+
+    for(int i=0;i<Nrun;i++) 
+    {
+        chain->Add(Form("../../../root/analysis/Run%d.root",RunNumber[i]));
+        cout << "Run number " << RunNumber[i] << " loaded sucessfully !" << endl;
+    }
+
     TICPhysics* IC = new TICPhysics() ;
-    double FF_IC_X, FF_IC_Y, FF_V13;
-    double FF_DE, FF_Eres;
-    
+    TTimeData *Time = new TTimeData() ;
+
+
     chain->SetBranchStatus("IC", true);
     chain->SetBranchAddress("IC", &IC); 
-    chain->SetBranchStatus("FF_IC_Y", true);
-    chain->SetBranchAddress("FF_IC_Y", &FF_IC_Y);
 
+    // ****************** Load Time  **********************************
+
+    chain->SetBranchStatus("Time", true);
+    chain->SetBranchAddress("Time", &Time);
+
+    //*****************************************************************
 
-    TH2F *hChioDE_E_all = new TH2F("hChioDE_E","hChioDE_E",1000,1000,20000,500,1000,26000);
-    TH2F *hChioDE_E[Ncuts];
-    for(int i=0;i<Ncuts;i++) hChioDE_E[i]=new TH2F(Form("hChioDE_E_%d",i+1),Form("hChioDE_E_%d",i+1),2000,1000,20000,1250,1000,26000);
+    TH2F *hChioDE_E_all = new TH2F("hChioDE_E","hChioDE_E",1000,1000,36000,500,1000,26000);
+    vector<TH2F*> hChioDE_E(Ncuts);
+    for(int i=0;i<Ncuts;i++) hChioDE_E[i]=new TH2F(Form("hChioDE_E_%d",i+1),Form("hChioDE_E_%d",i+1),2000,1000,36000,1250,1000,26000);
 
     auto start = std::chrono::high_resolution_clock::now();
+
     int Nentries=chain->GetEntries();
+    //int Nentries=1000000;
+
     for(int e=0;e<Nentries;++e)
     {
         if (e % 100000  == 0 && e > 0 ) {
@@ -73,54 +79,12 @@ void SplineChio()
 
         chain->GetEntry(e);
 
-        vector<double> ICcorr_Y(NSegment), ICcorr_X(NSegment); // the [0] element of spline is the
-        vector<double> Temp_X(NSegment) , Temp_Y(NSegment);    // correction on the first
-                                                               // segment of ic
-        for (int seg = 1; seg < NSegment+1 ; seg++) {
-
-            if (seg == NSegment) seg = 0; //from 1to NSeg finishing with 0
-
-            if (spline_Y.at(seg)==0){
-                ICcorr_Y.at(seg) = IC->fIC_raw[seg]; 
-            }
-
-            else {
-                if (seg == 0) {
-                    Temp_Y.at(seg) = ICcorr_Y.at(1) / IC->fIC_raw[seg] * spline_Y.at(seg)->Eval(0)/ spline_Y.at(seg)->Eval(FF_IC_Y);
-                    ICcorr_Y.at(seg) = ICcorr_Y.at(1) / Temp_Y.at(seg);
-                }
-
-                else if (seg == 1){ 
-                    ICcorr_Y.at(seg) = IC->fIC_raw[1]*spline_Y.at(1)->Eval(0)/spline_Y.at(1)->Eval(FF_IC_Y);
-                }
-
-                else if (seg > 1) {
-                    Temp_Y.at(seg) =  IC->fIC_raw[seg]/ICcorr_Y.at(seg-1) * spline_Y.at(seg)->Eval(0)/ spline_Y.at(seg)->Eval(FF_IC_Y);
-                    ICcorr_Y.at(seg) = ICcorr_Y.at(seg-1) * Temp_Y.at(seg);
-                }
-
-                if (!(ICcorr_Y.at(seg)==ICcorr_Y.at(seg))) ICcorr_Y.at(seg) = 0;
-            } //end if non empty
-            if (seg == 0) break;
-        }//endloop seg
-
-
-       FF_DE = 0.5*( ICcorr_Y[1] +IC->fIC_raw[2]+IC->fIC_raw[3])+IC->fIC_raw[4];
-       FF_Eres = 0 ;
-
-        for (int seg = 0 ;  seg < sizeof(IC->fIC_raw)/sizeof(IC->fIC_raw[0]) ; seg++ ){
-            if (seg >4){
-                FF_Eres += IC->fIC_raw[seg] ;
-                //Ecorr += ICcorr_Y.at(seg) ;
-            }
-        }
-
 
-       hChioDE_E_all->Fill(FF_Eres,FF_DE); 
+        hChioDE_E_all->Fill(IC->Eres,IC->DE); 
 
         //for(int i=0;i<Ncuts;i++) if(cutZ[i]->IsInside(Chio_E,FF_DE)) {hChioDE_E[i]->Fill(Chio_E,FF_DE); break;}
-        for(int i=0;i<Ncuts;i++) if(cutZ[i]->IsInside(FF_Eres,FF_DE)) {hChioDE_E[i]->Fill(FF_Eres,FF_DE); break;}
-    }
+        for(int i=0;i<Ncuts;i++) if(cutZ[i]->IsInside(IC->Eres,IC->DE)) {hChioDE_E[i]->Fill(IC->Eres,IC->DE); break;}
+    }//end loop event
 
 
     //**********************************Out***************************
@@ -131,22 +95,24 @@ void SplineChio()
     TCanvas * can = new TCanvas(Form("ChioEbis_vs_ChioDE_run%04d_%04d",RunNumber[0],RunNumber[Nrun-1]),
             Form("ChioEbis_vs_ChiodE_run%04d_%04d",RunNumber[0],RunNumber[Nrun-1]),
             0,0,2000,1000);
-    can->cd(); gPad-> SetLogz();
+    can->cd();
     hChioDE_E_all->Draw("colz");
     for(int i = 0 ; i < Ncuts ; i++) cutZ[i]->Draw("same");
 }
 
+
 ///////////////////////////////////////////////////////////////////////////
-void MakeSpline()
-{
-    TFile *inFile=new TFile("histo/SingleZ_ChioDE_E.root");
+void MakeSpline(){
 
-    TSpline3 *gspline[Ncuts];  
+    // ********************** Load prev histo****************************
+    TFile *inFile=new TFile("histo/SingleZ_ChioDE_E.root");
 
-    TH2F* h2 [Ncuts];
-    TH1F* hProfile[Ncuts];
-    TH1F* pfx[Ncuts]; // extended hProfile 
-    TFile *fspline=new TFile("Output/spline_Chio_2024.root","recreate");
+   int Z59POS = 32;
+   vector<TSpline3*> gspline(Ncuts);  
+   vector<TH2F*> h2 (Ncuts);
+   vector<TH1F*> hProfile(Ncuts);
+   vector<TH1F*> pfx(Ncuts); // extended hProfile 
+   TFile* fspline=new TFile("Output/spline_Chio_2024.root","recreate");
 
     TCanvas * canfit = new TCanvas("canfit","canfit",0,0,2000,1500);
 
@@ -256,7 +222,7 @@ void MakeSpline()
         cout << h2[i]->GetMean(2) << ", " << endl;
         ofile_par << h2[i]->GetMean(2) << ", " << endl;
         //gr->SetPoint(i,sqrt(h2[i]->GetMean(2)),i+31);
-        gr->SetPoint(i,gspline[i]->Eval(8500),i+31);
+        gr->SetPoint(i,gspline[i]->Eval(8500),i+Z59POS);
         //hProfile[i]->Draw("same");
         pfx[i]->Draw("same");
         gspline[i]->SetLineColor(kBlue);
@@ -268,7 +234,7 @@ void MakeSpline()
     cangr->cd();
     gr->SetMarkerStyle(20);
     gr->Draw("AP");
-    gr->Fit("pol2");
+    gr->Fit("pol5");
 }
 
 
@@ -277,43 +243,35 @@ void ApplySpline_perTCutG()
 {
 
     // *************************Cut***************************
-    TFile *fcut=new TFile("Cut/Cut_Z.root");
-    TCutG *cutZ[Ncuts];
+    TFile *fcut=new TFile("../XYCalibration/Output/CutAutoZ.root");
+    vector<TCutG*> cutZ(Ncuts);
 
     // ******************* TSpline DE*************************
     TFile *fspline=new TFile("Output/spline_Chio_2024.root","read");
-    TSpline3 *gspline[Ncuts];  
+    vector<TSpline3*> gspline(Ncuts);  
 
     for(int i=0;i<Ncuts;i++){ 
-        cutZ[i]=(TCutG*)fcut->Get(Form("Z%i",i+1));
+        cutZ[i]=(TCutG*)fcut->Get(Form("Cut %i",i));
         gspline[i] = (TSpline3*)fspline->FindObjectAny(Form("fspline_%d",i+1));
     }
 
-    // ****************** Spline Y **********************************
-    TFile *fSplineIC = new TFile("../YCalibration/Output/spline_P2P_2024.root","open"); 
-
-
-    vector<vector<TSpline3*>> Spline = LoadSpline("../YCalibration/Output/spline_P2P_2024.root");
-    vector<TSpline3*> spline_X(11), spline_Y(11);
-    spline_X = Spline.at(0) ; spline_Y = Spline.at(1);
-
     //**********************DE_E****************************************************
     TChain *chain=new TChain("PhysicsTree");
-    
-    chain->Add("../../../root/analysis/VamosCalib241.root");
-    
+
+
+    for(int i=0;i<Nrun;i++) 
+    {
+        chain->Add(Form("../../../root/analysis/Run%d.root",RunNumber[i]));
+        cout << "Run number " << RunNumber[i] << " loaded sucessfully !" << endl;
+    }    
     TICPhysics* IC = new TICPhysics() ;
-    double FF_IC_X, FF_IC_Y, FF_V13;
-    double FF_DE, FF_Eres;
-    
+
     chain->SetBranchStatus("IC", true);
     chain->SetBranchAddress("IC", &IC); 
-    chain->SetBranchStatus("FF_IC_Y", true);
-    chain->SetBranchAddress("FF_IC_Y", &FF_IC_Y);
 
-    // variable after applying TSpline
+    // variable after applying TSpline MUST FIND middles of each spline
     double FF_DEcorr;
-    double FF_DEcorr0[Ncuts] = { 
+    vector<double> FF_DEcorr0 = { 
         7375.73, 
         7982.83, 
         8419.21, 
@@ -342,85 +300,42 @@ void ApplySpline_perTCutG()
         19043.9, 
         19437.8, 
         19889.4,}; 
-        // 20301.1, 
-        //20709.7, 
-        //21112.6, 
-        //21544, 
-        //21953.4, 
-        //22361.8};
-
-
-    TH2F *hChioDE_E_all  = new TH2F("hChioDE_E_all","hChioDE_E_all",1000,1000,41000,500,1000,26000);
-    TH2F *hChioDE_E      = new TH2F("hChioDE_E","hChioDE_E",1000,1000,41000,500,1000,26000);
-    TH2F *hChioDE_E_corr = new TH2F("hChioDE_E_corr","hChioDE_E_corr",1000,1000,41000,500,1000,26000);
-
-    int Nentries=chain->GetEntries();
-    auto start = std::chrono::high_resolution_clock::now();
-    
-    for(int e=0;e<Nentries;++e){
-        if (e % 100000  == 0 && e > 0 ) {
-            auto now = std::chrono::high_resolution_clock::now();
-            std::chrono::duration<double> elapsed = now - start;
-            double avgTimePerIteration = elapsed.count() / e;
-            double timeLeft = avgTimePerIteration * (Nentries - e);
-
-            std::cout << "********** Estimated time left: " << int(timeLeft) << " seconds **********" << "\r" << flush;
-        }
-
-        chain->GetEntry(e);
-
-
-
-        vector<double> ICcorr_Y(NSegment), ICcorr_X(NSegment); // the [0] element of spline is the
-        vector<double> Temp_X(NSegment) , Temp_Y(NSegment);    // correction on the first
-                                                               // segment of ic
-        for (int seg = 1; seg < NSegment+1 ; seg++) {
-
-            if (seg == NSegment) seg = 0; //from 1to NSeg finishing with 0
-
-            if (spline_Y.at(seg)==0){
-                ICcorr_Y.at(seg) = IC->fIC_raw[seg]; 
-            }
-
-            else {
-                if (seg == 0) {
-                    Temp_Y.at(seg) = ICcorr_Y.at(1) / IC->fIC_raw[seg] * spline_Y.at(seg)->Eval(0)/ spline_Y.at(seg)->Eval(FF_IC_Y);
-                    ICcorr_Y.at(seg) = ICcorr_Y.at(1) / Temp_Y.at(seg);
-                }
-
-                else if (seg == 1){ 
-                    ICcorr_Y.at(seg) = IC->fIC_raw[1]*spline_Y.at(1)->Eval(0)/spline_Y.at(1)->Eval(FF_IC_Y);
-                }
-
-                else if (seg > 1) {
-                    Temp_Y.at(seg) =  IC->fIC_raw[seg]/ICcorr_Y.at(seg-1) * spline_Y.at(seg)->Eval(0)/ spline_Y.at(seg)->Eval(FF_IC_Y);
-                    ICcorr_Y.at(seg) = ICcorr_Y.at(seg-1) * Temp_Y.at(seg);
-                }
-
-                if (!(ICcorr_Y.at(seg)==ICcorr_Y.at(seg))) ICcorr_Y.at(seg) = 0;
-            } //end if non empty
-            if (seg == 0) break;
-        }//endloop seg
-
+    // 20301.1, 
+    //20709.7, 
+    //21112.6, 
+    //21544, 
+    //21953.4, 
+    //22361.8};
+
+
+TH2F *hChioDE_E_all  = new TH2F("hChioDE_E_all","hChioDE_E_all",1000,1000,41000,500,1000,26000);
+TH2F *hChioDE_E      = new TH2F("hChioDE_E","hChioDE_E",1000,1000,41000,500,1000,26000);
+TH2F *hChioDE_E_corr = new TH2F("hChioDE_E_corr","hChioDE_E_corr",1000,1000,41000,500,1000,26000);
+
+int Nentries=chain->GetEntries();
+//int Nentries = 1000000;
+auto start = std::chrono::high_resolution_clock::now();
+
+for(int e=0;e<Nentries;++e){
+    if (e % 100000  == 0 && e > 0 ) {
+        auto now = std::chrono::high_resolution_clock::now();
+        std::chrono::duration<double> elapsed = now - start;
+        double avgTimePerIteration = elapsed.count() / e;
+        double timeLeft = avgTimePerIteration * (Nentries - e);
+
+        std::cout << "********** Estimated time left: " << int(timeLeft) << " seconds **********" << "\r" << flush;
+    }
 
-        FF_DE = 0.5*( ICcorr_Y[1] +IC->fIC_raw[2]+IC->fIC_raw[3])+IC->fIC_raw[4];
-        FF_Eres = 0 ;
+    chain->GetEntry(e);
 
-        for (int seg = 0 ;  seg < sizeof(IC->fIC_raw)/sizeof(IC->fIC_raw[0]) ; seg++ ){
-            if (seg >4){
-                FF_Eres += IC->fIC_raw[seg] ;
-                //Ecorr += ICcorr_Y.at(seg) ;
-            }
-        }
-
-        hChioDE_E_all->Fill(FF_Eres,FF_DE); 
-        for(int i=0;i<Ncuts;i++) if(cutZ[i]->IsInside(FF_Eres,FF_DE)) {
-            hChioDE_E->Fill(FF_Eres,FF_DE); 
-            FF_DEcorr = FF_DEcorr0[i] * FF_DE / gspline[i]->Eval(FF_Eres); 
-            hChioDE_E_corr->Fill(FF_Eres,FF_DEcorr); 
-            break;
-        }
+    hChioDE_E_all->Fill(IC->Eres,IC->DE); 
+    for(int i=0;i<Ncuts;i++) if(cutZ[i]->IsInside(IC->Eres,IC->DE)) {
+        hChioDE_E->Fill(IC->Eres,IC->DE); 
+        FF_DEcorr = FF_DEcorr0[i] * IC->DE / gspline[i]->Eval(IC->Eres); 
+        hChioDE_E_corr->Fill(IC->Eres,FF_DEcorr); 
+        break;
     }
+}
 
 TCanvas * can = new TCanvas(Form("ChioEbis_vs_ChioDE_run%04d_%04d",RunNumber[0],RunNumber[Nrun-1]),
         Form("ChioEbis_vs_ChiodE_run%04d_%04d",RunNumber[0],RunNumber[Nrun-1]),
@@ -436,39 +351,29 @@ can->cd(3); gPad-> SetLogz(); hChioDE_E_corr->Draw("colz");
 void ApplySpline()
 {
     // *************************Cut***************************
-    TFile *fcut=new TFile("Cut/Cut_Z.root");
-    TCutG *cutZ[Ncuts];
+    TFile *fcut=new TFile("../XYCalibration/Output/CutAutoZ.root", "open");
+    vector<TCutG*> cutZ(Ncuts);
 
     // ******************* TSpline DE*************************
     TFile *fspline=new TFile("Output/spline_Chio_2024.root","read");
-    TSpline3 *gspline[Ncuts];  
+    vector<TSpline3*> gspline(Ncuts) ;  
 
     for(int i=0;i<Ncuts;i++){ 
-        cutZ[i]=(TCutG*)fcut->Get(Form("Z%i",i+1));
+        cutZ[i]=(TCutG*)fcut->Get(Form("Cut %i",i));
         gspline[i] = (TSpline3*)fspline->FindObjectAny(Form("fspline_%d",i+1));
     }
 
-    // ****************** Spline Y **********************************
-    TFile *fSplineIC = new TFile("../YCalibration/Output/spline_P2P_2024.root","open"); 
-
-
-    vector<vector<TSpline3*>> Spline = LoadSpline("../YCalibration/Output/spline_P2P_2024.root");
-    vector<TSpline3*> spline_X(11), spline_Y(11);
-    spline_X = Spline.at(0) ; spline_Y = Spline.at(1);
-
     //**********************DE_E****************************************************
     TChain *chain=new TChain("PhysicsTree");
-    
-    chain->Add("../../../root/analysis/VamosCalib241.root");
-    
+    for(int i=0;i<Nrun;i++) 
+    {
+        chain->Add(Form("../../../root/analysis/Run%d.root",RunNumber[i]));
+        cout << "Run number " << RunNumber[i] << " loaded sucessfully !" << endl;
+    }   
+
     TICPhysics* IC = new TICPhysics() ;
-    double FF_IC_X, FF_IC_Y, FF_V13;
-    double FF_DE, FF_Eres;
-    
     chain->SetBranchStatus("IC", true);
     chain->SetBranchAddress("IC", &IC); 
-    chain->SetBranchStatus("FF_IC_Y", true);
-    chain->SetBranchAddress("FF_IC_Y", &FF_IC_Y);
 
 
     // variable after applying TSpline
@@ -476,7 +381,7 @@ void ApplySpline()
     double Zrough=0;
     double Zabitbetter=0;
 
-    double FF_DEcorr0[Ncuts];
+    vector<double> FF_DEcorr0(Ncuts);
     for(int index=0; index<Ncuts; index++){  
         FF_DEcorr0[index] = gspline[index]->Eval(8500);
     }
@@ -524,7 +429,8 @@ void ApplySpline()
     TH1F *hChioZ_rough = new TH1F("hChioZ_rough","hChioZ_rough",2500,25,65); 
     TH1F *hChioZ_abitbetter = new TH1F("hChioZ_abitbetter","hChioZ_abitbetter",2500,25,65); 
 
-    int Nentries=1e6;//chain->GetEntries();
+    //int Nentries=1e6;
+    int Nentries = chain->GetEntries();
     auto start = std::chrono::high_resolution_clock::now();
 
     double FF_Eres_prev = 0;
@@ -542,89 +448,39 @@ void ApplySpline()
         FF_DEcorr = -100;
         chain->GetEntry(e);
 
-        //===========================================================================================================
-        //                           Splined Y
-        //===========================================================================================================
-        vector<double> ICcorr_Y(NSegment), ICcorr_X(NSegment); // the [0] element of spline is the
-        vector<double> Temp_X(NSegment) , Temp_Y(NSegment);    // correction on the first
-                                                               // segment of ic
-        for (int seg = 1; seg < NSegment+1 ; seg++) {
-
-            if (seg == NSegment) seg = 0; //from 1to NSeg finishing with 0
-
-            if (spline_Y.at(seg)==0){
-                ICcorr_Y.at(seg) = IC->fIC_raw[seg]; 
-            }
-
-            else {
-                if (seg == 0) {
-                    Temp_Y.at(seg) = ICcorr_Y.at(1) / IC->fIC_raw[seg] * spline_Y.at(seg)->Eval(0)/ spline_Y.at(seg)->Eval(FF_IC_Y);
-                    ICcorr_Y.at(seg) = ICcorr_Y.at(1) / Temp_Y.at(seg);
-                }
+        if (IC->DE<3000) continue;
+        if(IC->Eres==FF_Eres_prev) continue;
+        FF_Eres_prev = IC->Eres;
 
-                else if (seg == 1){ 
-                    ICcorr_Y.at(seg) = IC->fIC_raw[1]*spline_Y.at(1)->Eval(0)/spline_Y.at(1)->Eval(FF_IC_Y);
-                }
-
-                else if (seg > 1) {
-                    Temp_Y.at(seg) =  IC->fIC_raw[seg]/ICcorr_Y.at(seg-1) * spline_Y.at(seg)->Eval(0)/ spline_Y.at(seg)->Eval(FF_IC_Y);
-                    ICcorr_Y.at(seg) = ICcorr_Y.at(seg-1) * Temp_Y.at(seg);
-                }
-
-                if (!(ICcorr_Y.at(seg)==ICcorr_Y.at(seg))) ICcorr_Y.at(seg) = 0;
-            } //end if non empty
-            if (seg == 0) break;
-        }//endloop seg
-
-
-        FF_DE = 0.5*( ICcorr_Y[1] +IC->fIC_raw[2]+IC->fIC_raw[3])+IC->fIC_raw[4];
-        FF_Eres = 0 ;
-
-        for (int seg = 0 ;  seg < sizeof(IC->fIC_raw)/sizeof(IC->fIC_raw[0]) ; seg++ ){
-            if (seg >4){
-                FF_Eres += IC->fIC_raw[seg] ;
-                //Ecorr += ICcorr_Y.at(seg) ;
-            }
-        }
-
-        //===========================================================================================================
-        //                              Spline DE
-        //===========================================================================================================&
-
-
-        if (FF_DE<3000) continue;
-        if(FF_Eres==FF_Eres_prev) continue;
-        FF_Eres_prev = FF_Eres;
-
-        hChioDE_E_all->Fill(FF_Eres,FF_DE);
+        hChioDE_E_all->Fill(IC->Eres,IC->DE);
 
         float Eval_DEspline, DEspline0;
         int   index=0;
         for(int i=0; i<Ncuts; i++){
-            Eval_DEspline = gspline[i]->Eval(FF_Eres); 
-            if(FF_DE<Eval_DEspline) break;
+            Eval_DEspline = gspline[i]->Eval(IC->Eres); 
+            if(IC->DE<Eval_DEspline) break;
             index = i;
         }
 
-        Eval_DEspline = gspline[index]->Eval(FF_Eres);
+        Eval_DEspline = gspline[index]->Eval(IC->Eres);
         DEspline0 = FF_DEcorr0[index];
         float dmin, dsup;
-        if( index < (Ncuts-1) && FF_DE > gspline[0]->Eval(FF_Eres)){
-            dmin = FF_DE-gspline[index]->Eval(FF_Eres);
-            dsup = gspline[index+1]->Eval(FF_Eres)-FF_DE;
+        if( index < (Ncuts-1) && IC->DE > gspline[0]->Eval(IC->Eres)){
+            dmin = IC->DE-gspline[index]->Eval(IC->Eres);
+            dsup = gspline[index+1]->Eval(IC->Eres)-IC->DE;
             if(dmin<0) cout << "negative value of dmin = " << dmin << ", for index = " << index << endl;
             if(dsup<0) cout << "negative value of dsup = " << dsup << ", for index = " << index << endl;
             //if(dsup<dmin) {
-            //  Eval_DEspline = gspline[index+1]->Eval(FF_Eres) ;
+            //  Eval_DEspline = gspline[index+1]->Eval(IC->Eres) ;
             //  DEspline0 = FF_DEcorr0[index] ;
             //}
-            Eval_DEspline = dsup*gspline[index]->Eval(FF_Eres)/(dmin+dsup) + dmin*gspline[index+1]->Eval(FF_Eres)/(dmin+dsup) ;
+            Eval_DEspline = dsup*gspline[index]->Eval(IC->Eres)/(dmin+dsup) + dmin*gspline[index+1]->Eval(IC->Eres)/(dmin+dsup) ;
             DEspline0 = dsup*FF_DEcorr0[index]/(dmin+dsup) + dmin*FF_DEcorr0[index+1]/(dmin+dsup) ;
 
-            FF_DEcorr = DEspline0 * FF_DE / Eval_DEspline ;
-            hChioDE_E_corr->Fill(FF_Eres,FF_DEcorr);
+            FF_DEcorr = DEspline0 * IC->DE / Eval_DEspline ;
+            hChioDE_E_corr->Fill(IC->Eres,FF_DEcorr);
             //if(FF_DEcorr>15120 && FF_DEcorr<15130) {
-            //  cout << e << " " << index << " " << FF_Eres << " " << FF_DEcorr << endl;
+            //  cout << e << " " << index << " " << IC->Eres << " " << FF_DEcorr << endl;
             //}
         }
 
@@ -632,9 +488,9 @@ void ApplySpline()
         //Zrough = -110.165 + 3.34475*sqrt(FF_DEcorr) - 0.0271123*FF_DEcorr + 8.60752e-05 * pow(sqrt(FF_DEcorr),3);
         Zrough = 16.8521 + 0.0017328*FF_DEcorr + 1.70774e-8*pow(FF_DEcorr,2);
         Zabitbetter = -127.117 + 3.83463*sqrt(FF_DEcorr) - 0.0317448 *FF_DEcorr + 0.000100428 * pow(sqrt(FF_DEcorr),3);
-        hChioZ_E_rough->Fill(FF_Eres,Zrough);
+        hChioZ_E_rough->Fill(IC->Eres,Zrough);
 
-        if(3000<FF_Eres && FF_Eres<25000){ 
+        if(3000<IC->Eres && IC->Eres<25000){ 
             hChioDE_corr->Fill(FF_DEcorr);
             hChioZ_rough->Fill(Zrough);
             hChioZ_abitbetter->Fill(Zabitbetter);
@@ -734,43 +590,21 @@ void Fit_DE_E_corr()
 
 }
 
+const int CutNumberLoader(){
+    TFile *fcut=new TFile("../XYCalibration/Output/CutAutoZ.root","open");
 
-vector<vector<TSpline3*>> LoadSpline(const char* PathToSpline){
-    TFile *fSplineIC = new TFile(PathToSpline,"open"); 
-    // Get number of spline
-    int SplineCount = 0 ;
-    TIter next(fSplineIC->GetListOfKeys());
+    int CutCount = 0 ;
+    TIter next(fcut->GetListOfKeys());
     TKey* key;
 
     while ((key=(TKey*)next())){
-        if (std::string(key->GetClassName()) == "TSpline3"){
-            SplineCount ++;
+        if (std::string(key->GetClassName()) == "TCutG"){
+            CutCount ++;
         }
     }
 
-    vector<vector<TSpline3*>> Spline;
-    vector<TSpline3*> spline_X(11), spline_Y(11);
-    for (int i = 0; i < SplineCount  ; i++) {
-        int seg = int((i-2)/2 +1 );
-        if (i < 2){
-            spline_X.at(0) = (TSpline3 *)fSplineIC->Get("fspline_IC0_X");
-            spline_Y.at(0) = (TSpline3 *)fSplineIC->Get("fspline_IC0_Y");
-        }
-
-        else if ( i>=2 && i<4){ 
-            spline_X.at(1) = (TSpline3 *)fSplineIC->Get("fspline_IC1_X");
-            spline_Y.at(1) = (TSpline3 *)fSplineIC->Get("fspline_IC1_Y");
-        }
-        else if (seg >=2 && (i%2 == 0) ) {
-            spline_X.at(seg) = (TSpline3 *)fSplineIC->Get(Form("fspline_IC%d_X",seg));
-        }
-        else if (seg >=2 && !(i%2 == 0) ) {	
-            spline_Y.at(seg) = (TSpline3 *)fSplineIC->Get(Form("fspline_IC%d_Y",seg));
-        }
-    } //End loop on histogram
+    const int res = CutCount;
+    return res;
+}
 
-    Spline.push_back(spline_X);
-    Spline.push_back(spline_Y);
 
-    return Spline;
-}
diff --git a/Projects/AlPhaPha/2024/macro/chio/XYCalibration/CutAutoDEE.C b/Projects/AlPhaPha/2024/macro/chio/XYCalibration/CutAutoDEE.C
index 4225a9fd4bbfc0e62eff7e64bb9614221384114f..795505861616ccd806ab15f8ada8c373d270e72a 100644
--- a/Projects/AlPhaPha/2024/macro/chio/XYCalibration/CutAutoDEE.C
+++ b/Projects/AlPhaPha/2024/macro/chio/XYCalibration/CutAutoDEE.C
@@ -6,15 +6,15 @@
 
 // Important variable
 #define STEP  2;        // Step to parse through the histogram in X
-#define BINSIZE  15;    // Size of the bin in X on which to projectY the plot
+#define BINSIZE 25;    // Size of the bin in X on which to projectY the plot
 
 
 //Main
 void CutAutoDEE(){
 
     // Retrieve initial histogram
-    TFile *inFile = new TFile("Output/DE_E.root","open");
-    TH2F *hDE_E = (TH2F*)inFile->Get("DE0234_Ecorr");
+    TFile *inFile = new TFile("Output/DE_E_merged.root","open");
+    TH2F *hDE_E = (TH2F*)inFile->Get("DE_E");
     
     // Inverse data to use tspectrum
     for (int xBin=1; xBin<= hDE_E->GetNbinsX();xBin++){
@@ -33,8 +33,8 @@ void CutAutoDEE(){
     // Tspectrum used to find the peak : If you have problem with peak finding
     // adjust the setting in this function 
     // Step and Binsize are used in this function
-    Double_t sigma = 2;
-    Double_t threshold = 0.02;
+    Double_t sigma = 4;
+    Double_t threshold = 0.05;
     PeakFinder(vPeakFinder,vPeaks,hDE_E,LinePos,sigma,threshold);
 
 
@@ -111,7 +111,7 @@ void PeakFinder(vector<TSpectrum*> *sPeak , vector<int> *vPeak, TH2F *h, vector<
         
         for(int peaks = 0 ; peaks < nPeaks ; peaks++){
             vector<Double_t> Position(2); 
-            Position.at(0) = (double(i) - double(SizeBin)/2.0) * h->GetXaxis()->GetBinWidth(4) ; //Retrieve E position as the center
+            Position.at(0) = (double(i) + double(SizeBin)/2.0) * h->GetXaxis()->GetBinWidth(4) ; //Retrieve E position as the center
                                                                                               //of the bin
             Position.at(1) = PeakFinder->GetPositionX()[peaks]; // Position in DE
             LinePos->push_back(Position);
diff --git a/Projects/AlPhaPha/2024/macro/chio/XYCalibration/DECorr.C b/Projects/AlPhaPha/2024/macro/chio/XYCalibration/DECorr.C
index 461cd1e6158683dc4571d3bebfe75565f6ec6d51..cdf08fc2bfd5b0635987c8c67efb88e481a6af0a 100644
--- a/Projects/AlPhaPha/2024/macro/chio/XYCalibration/DECorr.C
+++ b/Projects/AlPhaPha/2024/macro/chio/XYCalibration/DECorr.C
@@ -11,7 +11,7 @@
 #include <TStyle.h>
 #include <fstream>
 #include <vector>
-#include "ProfileEvaluator.h"
+#include "TProfileEvaluator.h"
 
 using namespace std;
 vector<double> TxtToVector(const char *Path);
@@ -27,7 +27,7 @@ void DECorr(bool cut = false, bool spline = false) {
     //===========================================================================================================
     TChain* chain = new TChain("PhysicsTree");
     chain->Add("../../../root/analysis/VamosCalib247.root");
-    chain->Add("../../../root/analysis/Run246.root");
+    //chain->Add("../../../root/analysis/Run246.root");
 
     TICPhysics* IC = new TICPhysics() ;
     TTimeData *Time = new TTimeData() ;
@@ -105,27 +105,13 @@ void DECorr(bool cut = false, bool spline = false) {
             SplineCount ++;
         }
     }
-
     vector<TSpline3*> spline_X(11), spline_Y(11);
-    for (int i = 0; i < SplineCount  ; i++) {
-        int seg = int((i-2)/2 +1 );
-        if (i < 2){
-            spline_X.at(0) = (TSpline3 *)fSplineIC->Get("fspline_IC0_X");
-            spline_Y.at(0) = (TSpline3 *)fSplineIC->Get("fspline_IC0_Y");
-        }
-
-        else if ( i>=2 && i<4){ 
-            spline_X.at(1) = (TSpline3 *)fSplineIC->Get("fspline_IC1_X");
-            spline_Y.at(1) = (TSpline3 *)fSplineIC->Get("fspline_IC1_Y");
-        }
-        else if (seg >=2 && (i%2 == 0) ) {
-            spline_X.at(seg) = (TSpline3 *)fSplineIC->Get(Form("fspline_IC%d_X",seg));
-        }
-        else if (seg >=2 && !(i%2 == 0) ) {	
-            spline_Y.at(seg) = (TSpline3 *)fSplineIC->Get(Form("fspline_IC%d_Y",seg));
-        }
+    for (int i = 0; i < 11  ; i++) {
+        spline_X.at(i) = (TSpline3 *)fSplineIC->Get(Form("fspline_IC%d_X",i));
+        spline_Y.at(i) = (TSpline3 *)fSplineIC->Get(Form("fspline_IC%d_Y",i));
     } //End loop on histogram
-
+      //
+      
     double XmaxDE = 26000, XMaxE = 35000;
     //Defining output histo
     TH2F* hDE_E = new TH2F("DE_E","DE_E",1000,0,XMaxE,1000,0,XmaxDE);
@@ -188,9 +174,10 @@ void DECorr(bool cut = false, bool spline = false) {
     //===========================================================================================================
     int Nentries = chain->GetEntries();
     //int Nentries = 1000000;
+    //int Nentries = 22000;
     auto start = std::chrono::high_resolution_clock::now();
     int NSegment = 11;
-
+    ofstream debug("Output/Debug.txt");
     //save data for clustering
 
     for (int e = 0; e < Nentries; e++) {
@@ -209,7 +196,7 @@ void DECorr(bool cut = false, bool spline = false) {
 
 
 
-        if (Time->GetMWPC13Mult() ==1 && IC->fIC_TS.size()>=8){ //only mult 1 event
+        if (Time->GetMWPC13Mult() ==1 && IC->fIC_TS.size()>=8 ){ //only mult 1 event
             UShort_t FPMW_Section = Time->GetSection_MWPC3(0);
             double FF_DriftTime =  10* (IC->fIC_TS.at(0) - Time->GetTS_MWPC13(0)) - ((Time->GetTime_MWPC13(0)+Toff13.at(FPMW_Section))) ;
 
@@ -218,7 +205,7 @@ void DECorr(bool cut = false, bool spline = false) {
 
                 double FF_DriftTime_temp = 10* (IC->fIC_TS.at(seg) - Time->GetTS_MWPC13(0)) - ((Time->GetTime_MWPC13(0)+Toff13.at(FPMW_Section))) ;
                 if (spline_Y.at(seg)==0){
-                    ICcorr_Y.at(seg) = IC->fIC_raw[seg]; 
+                    ICcorr_Y.at(seg) = IC->fIC_PID[seg]; 
                 }
 
                 else {
@@ -227,11 +214,11 @@ void DECorr(bool cut = false, bool spline = false) {
                     }
 
                     else if (seg == 1){ 
-                        ICcorr_Y.at(seg) = IC->fIC_raw[1]*spline_Y.at(1)->Eval(0)/spline_Y.at(1)->Eval(FF_DriftTime);
+                        ICcorr_Y.at(seg) = IC->fIC_PID[1]*spline_Y.at(1)->Eval(0)/spline_Y.at(1)->Eval(FF_DriftTime);
                     }
 
                     else if (seg > 1) {
-                        ICcorr_Y.at(seg) = IC->fIC_raw[seg] * spline_Y.at(seg)->Eval(0)/ spline_Y.at(seg)->Eval(FF_DriftTime);
+                        ICcorr_Y.at(seg) = IC->fIC_PID[seg] * spline_Y.at(seg)->Eval(0)/ spline_Y.at(seg)->Eval(FF_DriftTime);
                     }
                     if (!(ICcorr_Y.at(seg)==ICcorr_Y.at(seg))) ICcorr_Y.at(seg) = 0;
                 } //end if non empty
@@ -240,45 +227,45 @@ void DECorr(bool cut = false, bool spline = false) {
 
 
 
-            Double_t PolX =  -3.10262 * 1e-7 *FF_IC_X*FF_IC_X - 7.02108 * 1e-5 * FF_IC_X + 1.37622;
-            //Double_t PolX =  1.37622;
+            //Double_t PolX =  -3.10262 * 1e-7 *FF_IC_X*FF_IC_X - 7.02108 * 1e-5 * FF_IC_X + 1.37622;
+            Double_t PolX =  1.37622;
 
-            Double_t ICRatio =  IC->fIC_raw[1]/IC->fIC_raw[0];
+            Double_t ICRatio =  IC->fIC_PID[1]/IC->fIC_PID[0];
             Double_t ICRatioCorr =  ICRatio * PolX / Profile.Evaluate(FF_IC_X,FF_DriftTime,false);
-            Double_t ICcorr_Y0 = IC->fIC_raw[0] / PolX * Profile.Evaluate(FF_IC_X,FF_DriftTime,false);
+            Double_t ICcorr_Y0 = IC->fIC_PID[0] / PolX * Profile.Evaluate(FF_IC_X,FF_DriftTime,false);
 
             if ( ICRatioCorr<1.4 || ICRatioCorr >1.5){
                 ICRatioCorr =  ICRatio * PolX / Profile.Evaluate(FF_IC_X,FF_DriftTime,false);
-                ICcorr_Y0 =     IC->fIC_raw[0] / PolX * Profile.Evaluate(FF_IC_X,FF_DriftTime,false);
+                ICcorr_Y0 =     IC->fIC_PID[0] / PolX * Profile.Evaluate(FF_IC_X,FF_DriftTime,false);
                 if (ICRatioCorr >100) {
-                    ICcorr_Y0 = IC->fIC_raw[0];
+                    ICcorr_Y0 = IC->fIC_PID[0];
                 }
             }
 
             double DE = 0 , DE_splined=0 ,DE_corr=0, DE_Ybis=0;
             double E =0, E_splined=0;
 
-            for (int seg = 0 ;  seg < sizeof(IC->fIC_raw)/sizeof(IC->fIC_raw[0]) ; seg++ ){
+            for (int seg = 0 ;  seg < sizeof(IC->fIC_PID)/sizeof(IC->fIC_PID[0]) ; seg++ ){
                 if (seg >4){
-                    if (seg == 5) E += double(IC->fIC_raw[seg]);
-                    else E += 2*double(IC->fIC_raw[seg]) ;
+                    if (seg == 5) E += double(IC->fIC_PID[seg]);
+                    else E +=double(IC->fIC_PID[seg]) ;
                 }
             }
 
 
 
             // ********************* DE setter *********************
-            double IC1corr = (IC->fIC_raw[1]*(1-0.000686068*FF_IC_Y))*(1-4.88238e-05*FF_IC_Y+7.40395e-06*FF_IC_Y*FF_IC_Y);
-            double DE_Bis = 0.5*(IC1corr+IC->fIC_raw[2]+IC->fIC_raw[3])+IC->fIC_raw[4];
+            double IC1corr = (IC->fIC_PID[1]*(1-0.000686068*FF_IC_Y))*(1-4.88238e-05*FF_IC_Y+7.40395e-06*FF_IC_Y*FF_IC_Y);
+            double DE_Bis = (IC1corr+IC->fIC_PID[2]+IC->fIC_PID[3])+IC->fIC_PID[4];
 
-            DE =         0.5*   ( IC->fIC_raw[0]+ double(IC->fIC_raw[1]) +double(IC->fIC_raw[2])+ double(IC->fIC_raw[3])) + double(IC->fIC_raw[4]);
-            DE_splined = 0.5*   ( ICcorr_Y0+ ICcorr_Y.at(1) +IC->fIC_raw[2]+ IC->fIC_raw[3]) + IC->fIC_raw[4];
-            double DE0 = 0.5*   ( ICcorr_Y0 + ICcorr_Y.at(1) +IC->fIC_raw[2] + IC->fIC_raw[3]) + IC->fIC_raw[4];
-            double DE02 = 0.5*  ( ICcorr_Y0+ ICcorr_Y.at(1) +ICcorr_Y.at(2)+ IC->fIC_raw[3]) + IC->fIC_raw[4];
-            double DE023 = 0.5* ( ICcorr_Y0+ ICcorr_Y.at(1) +ICcorr_Y.at(2)+ ICcorr_Y.at(3)) + IC->fIC_raw[4];
-            double DE0234 = 0.5*( ICcorr_Y0+ ICcorr_Y.at(1) +ICcorr_Y.at(2)+ ICcorr_Y.at(3)) + ICcorr_Y.at(4);
-            double DE1234 = 0.5*( double(IC->fIC_raw[1]) +double(IC->fIC_raw[2])+ double(IC->fIC_raw[3])) + double(IC->fIC_raw[4]);
-            //DE_splined = 0.5*( ICcorr_Y[1] +IC->fIC_raw[2]+IC->fIC_raw[3])+IC->fIC_raw[4];
+            DE =           ( IC->fIC_PID[0]+ double(IC->fIC_PID[1]) +double(IC->fIC_PID[2])+ double(IC->fIC_PID[3])) + double(IC->fIC_PID[4]);
+            DE_splined =    ( ICcorr_Y0+ ICcorr_Y.at(1) +IC->fIC_PID[2]+ IC->fIC_PID[3]) + IC->fIC_PID[4];
+            double DE0 =    ( ICcorr_Y0 + ICcorr_Y.at(1) +IC->fIC_PID[2] + IC->fIC_PID[3]) + IC->fIC_PID[4];
+            double DE02 =   ( ICcorr_Y0+ ICcorr_Y.at(1) +ICcorr_Y.at(2)+ IC->fIC_PID[3]) + IC->fIC_PID[4];
+            double DE023 =  ( ICcorr_Y0+ ICcorr_Y.at(1) +ICcorr_Y.at(2)+ ICcorr_Y.at(3)) + IC->fIC_PID[4];
+            double DE0234 = ( ICcorr_Y0+ ICcorr_Y.at(1) +ICcorr_Y.at(2)+ ICcorr_Y.at(3)) + ICcorr_Y.at(4);
+            double DE1234 = ( double(IC->fIC_PID[1]) +double(IC->fIC_PID[2])+ double(IC->fIC_PID[3])) + double(IC->fIC_PID[4]);
+            //DE_splined = 0.5*( ICcorr_Y[1] +IC->fIC_PID[2]+IC->fIC_PID[3])+IC->fIC_PID[4];
 
 
             //************* Cut ******************
@@ -290,7 +277,7 @@ void DECorr(bool cut = false, bool spline = false) {
 
             //***********Fill histo*************
 
-            if (FF_DriftTime >Ymin && FF_DriftTime <Ymax && (FF_Theta >0)){
+            if (/*FF_DriftTime >Ymin && FF_DriftTime <Ymax && (FF_Theta >0)*/ true){
 
                 //*************Init DE_E***************** 
                 hDE_E         -> Fill(E,DE);
@@ -312,6 +299,13 @@ void DECorr(bool cut = false, bool spline = false) {
                     double DE023_corr = DE023 * splineDE023->Eval(0) / splineDE023->Eval(FF_DriftTime);
                     double DE0234_corr = DE0234 * splineDE0234->Eval(0) / splineDE0234->Eval(FF_DriftTime);
 
+                    for(int i =0 ; i<5 ; i++){
+                        if (i==0) debug << ICcorr_Y0 << "  ";
+                        else debug << ICcorr_Y.at(i) << "  " ;
+                    }
+                    debug << IC->fIC_PID[4];
+                    debug << endl;
+
                     hDE_E_corr->Fill(E,DE_corr);
                     hDE0_E_corr->Fill(E,DE0_corr);
                     hDE02_E_corr->Fill(E,DE02_corr);
@@ -355,7 +349,7 @@ void DECorr(bool cut = false, bool spline = false) {
                         hDE_Y_splined->Fill(FF_DriftTime,DE_splined); 
                         hDE_Y_corr->Fill(FF_DriftTime,DE_corr);
 
-                        hIC_Y->Fill(FF_DriftTime,IC->fIC_raw[0]);
+                        hIC_Y->Fill(FF_DriftTime,IC->fIC_PID[0]);
                         hIC_Y_splined->Fill(FF_DriftTime,ICcorr_Y0);
 
 
@@ -380,7 +374,7 @@ void DECorr(bool cut = false, bool spline = false) {
                         hDE_Y_splined->Fill(FF_DriftTime,DE_splined); 
                         hDE_Y_corr->Fill(FF_DriftTime,DE_corr);
 
-                        hIC_Y->Fill(FF_DriftTime,IC->fIC_raw[0]);
+                        hIC_Y->Fill(FF_DriftTime,IC->fIC_PID[0]);
                         hIC_Y_splined->Fill(FF_DriftTime,ICcorr_Y0);
 
                         if (CutV ) {
@@ -431,11 +425,16 @@ void DECorr(bool cut = false, bool spline = false) {
     splineDe0234->SetName("SplineDe_0234");
     splineDe0234->Write();
 
-
-
     osplineDEbis->SetName("SplineDebis");
     osplineDEbis->Write(); 
     fSplineDE->Close();
+
+    //output calibration
+    TFile *fSplineDEY = new TFile("../../../Calibration/VAMOS/CHIO/Spline_DE.root","recreate");
+    splineDe0234->SetName("fspline_1");
+    splineDe0234->Write();
+    fSplineDEY->Close();
+
     //===========================================================================================================
     //                                          Drawing histo
     //===========================================================================================================
@@ -443,54 +442,54 @@ void DECorr(bool cut = false, bool spline = false) {
     gStyle->SetPalette(kRainBow);
     // =========== Poster plot=============================
 
-    TCanvas* c8 = new TCanvas("DE Before correction","DE Before correction",4000,4000);
-    
-    hDE_E->GetXaxis()->SetTitle("E (A.U)");
-    hDE_E->GetXaxis()->SetRangeUser(3000,35000);
-    hDE_E->GetXaxis()->CenterTitle();
-
-    hDE_E->GetYaxis()->SetTitle("#Delta E (A.U)");
-    hDE_E->GetYaxis()->SetRangeUser(6000,26000);
-    hDE_E->GetYaxis()->CenterTitle();
-    
-    hDE_E->GetZaxis()->SetRangeUser(0,140);
-    hDE_E->GetZaxis()->SetTitle("Number of events");
-    hDE_E->GetZaxis()->CenterTitle();
-    
-    hDE_E->SetTitle("PID VAMOS before correction");
-    hDE_E->SetStats(0);
-    hDE_E->Draw("COLZ");
-
-    c8->SetCanvasSize(4000,3000);
-    c8->SaveAs("~/These/Plot/Poster/VamosPIDBeforeCorr.png");
-    c8->SaveAs("~/These/Plot/Poster/VamosPIDBeforeCorr.pdf");
-    c8->SaveAs("~/These/Plot/Poster/VamosPIDBeforeCorr.jpg");
-    
-    TCanvas* c9 = new TCanvas("DE after correction","DE after correction",1000,1000);
-    
-    hDE0234_E_corr->GetXaxis()->SetTitle("E (A.U)");
-    hDE0234_E_corr->GetXaxis()->SetRangeUser(3000,35000);
-    hDE0234_E_corr->GetXaxis()->CenterTitle();
-    
-    hDE0234_E_corr->GetYaxis()->SetTitle("#Delta E (A.U)");
-    hDE0234_E_corr->GetYaxis()->SetRangeUser(6000,26000);
-    hDE0234_E_corr->GetYaxis()->CenterTitle();
-    
-    hDE0234_E_corr->GetZaxis()->SetRangeUser(0,140);
-    hDE0234_E_corr->GetZaxis()->SetTitle("Number of events");
-    hDE0234_E_corr->GetZaxis()->CenterTitle();
-   
-    hDE0234_E_corr->SetTitle("PID VAMOS after correction");
-    hDE0234_E_corr->SetStats(0);
-    hDE0234_E_corr->Draw("COLZ");
-
-    c9->SetCanvasSize(4000,3000);
-    c9->SaveAs("~/These/Plot/Poster/VamosPIDAfterCorr.png");
-    c9->SaveAs("~/These/Plot/Poster/VamosPIDAfterCorr.pdf");
-    c9->SaveAs("~/These/Plot/Poster/VamosPIDAfterCorr.jpg");
+    /*
+       TCanvas* c8 = new TCanvas("DE Before correction","DE Before correction",4000,4000); 
+       hDE_E->GetXaxis()->SetTitle("E (A.U)");
+       hDE_E->GetXaxis()->SetRangeUser(3000,35000);
+       hDE_E->GetXaxis()->CenterTitle();
+
+       hDE_E->GetYaxis()->SetTitle("#Delta E (A.U)");
+       hDE_E->GetYaxis()->SetRangeUser(6000,26000);
+       hDE_E->GetYaxis()->CenterTitle();
+
+       hDE_E->GetZaxis()->SetRangeUser(0,140);
+       hDE_E->GetZaxis()->SetTitle("Number of events");
+       hDE_E->GetZaxis()->CenterTitle();
+
+       hDE_E->SetTitle("PID VAMOS before correction");
+       hDE_E->SetStats(0);
+       hDE_E->Draw("COLZ");
+
+       c8->SetCanvasSize(4000,3000);
+       c8->SaveAs("~/These/Plot/Poster/VamosPIDBeforeCorr.png");
+       c8->SaveAs("~/These/Plot/Poster/VamosPIDBeforeCorr.pdf");
+       c8->SaveAs("~/These/Plot/Poster/VamosPIDBeforeCorr.jpg");
+
+       TCanvas* c9 = new TCanvas("DE after correction","DE after correction",1000,1000);
+
+       hDE0234_E_corr->GetXaxis()->SetTitle("E (A.U)");
+       hDE0234_E_corr->GetXaxis()->SetRangeUser(3000,35000);
+       hDE0234_E_corr->GetXaxis()->CenterTitle();
+
+       hDE0234_E_corr->GetYaxis()->SetTitle("#Delta E (A.U)");
+       hDE0234_E_corr->GetYaxis()->SetRangeUser(6000,26000);
+       hDE0234_E_corr->GetYaxis()->CenterTitle();
+
+       hDE0234_E_corr->GetZaxis()->SetRangeUser(0,140);
+       hDE0234_E_corr->GetZaxis()->SetTitle("Number of events");
+       hDE0234_E_corr->GetZaxis()->CenterTitle();
+
+       hDE0234_E_corr->SetTitle("PID VAMOS after correction");
+       hDE0234_E_corr->SetStats(0);
+       hDE0234_E_corr->Draw("COLZ");
+
+       c9->SetCanvasSize(4000,3000);
+       c9->SaveAs("~/These/Plot/Poster/VamosPIDAfterCorr.png");
+       c9->SaveAs("~/These/Plot/Poster/VamosPIDAfterCorr.pdf");
+       c9->SaveAs("~/These/Plot/Poster/VamosPIDAfterCorr.jpg");
     //gStyle->SetOptStat(1);
     // =========== Poster plot=============================
-
+    */
 
 
     TCanvas* c7 = new TCanvas("correction succesive","correction succesive",1500,1000);
diff --git a/Projects/AlPhaPha/2024/macro/chio/XYCalibration/SplineChioRobust.C b/Projects/AlPhaPha/2024/macro/chio/XYCalibration/SplineChioRobust.C
index 331abe5bdb4df46ef97850f2474af9504197dbbb..07bd7b2a34fdeaa44fcbf56908e08ef277beca8c 100644
--- a/Projects/AlPhaPha/2024/macro/chio/XYCalibration/SplineChioRobust.C
+++ b/Projects/AlPhaPha/2024/macro/chio/XYCalibration/SplineChioRobust.C
@@ -33,8 +33,8 @@ void SplineChioRobust() {
     double XMin[4] , XMax[4], YMin[4] , YMax[4];
     XMin[0] = -520 ;   XMax[0] = 380 ; YMin[0] = 2000 ; YMax[0] = 9500 ; 
     XMin[1] = -1000  ;   XMax[1] = 1000  ; YMin[1] = 1000 ; YMax[1] = 10000 ; 
-    XMin[2] = -520 ;   XMax[2] = 380 ; YMin[2] = 0 ; YMax[2] = 1.3 ; 
-    XMin[3] = -1000  ;   XMax[3] = 1000  ; YMin[3] = 0 ; YMax[3] = 1.3 ; 
+    XMin[2] = -520 ;   XMax[2] = 380 ; YMin[2] = 0 ; YMax[2] = 3 ; 
+    XMin[3] = -1000  ;   XMax[3] = 1000  ; YMin[3] = 0 ; YMax[3] = 3 ; 
 
     //Reinitialising the outfile
     TFile *OutFile = new TFile("Output/HistoP2P.root","recreate");
@@ -67,6 +67,29 @@ void SplineChioRobust() {
         if(seg ==1) {
         }
 
+        else if (seg == 4){
+ 
+            //Load Histo 
+            hIC.at(seg) = (HistoFillerIC(seg,SplineAllIC));
+
+            //Reset spline holder
+            vector<TSpline3*> SplineICurrent; 
+
+            // X Spline
+            SplineICurrent.push_back(MakeSpline(hIC[seg][0] , NCallSpline, XMin[2] , XMax[2], YMin[2], YMax[2]));
+            SplineICurrent.at(0)->SetName(Form("fspline_IC%d_X",seg));
+            NCallSpline+=1;
+
+            // Y Spline             
+            SplineICurrent.push_back(MakeSpline(hIC[seg][1] , NCallSpline, XMin[3] , XMax[3],0,2.5));
+            SplineICurrent.at(1)->SetName(Form("fspline_IC%d_Y",seg));
+            NCallSpline+=1;
+
+            //push vector into memory
+            SplineAllIC.at(seg)= SplineICurrent;           
+
+        }
+
         else{
 
             //Load Histo 
@@ -99,6 +122,15 @@ void SplineChioRobust() {
     }
     fspline->Close();
 
+    //Write for analysis 
+    TFile* ospline = new TFile("../../../Calibration/VAMOS/CHIO/Spline_Y.root", "recreate");
+    for (int seg = 2 ; seg < NSegment ; seg++){
+        if (!SplineAllIC.at(seg).empty()){
+            SplineAllIC.at(seg)[1]->SetName(Form("fspline_%d",seg-1));
+            SplineAllIC.at(seg)[1]->Write();
+        }
+    }
+    fspline->Close();
 
     vector<vector<TH2F*>> hIC_Corrall(NSegment);
     vector<TH1F*> hIC_Corr_profile(NSegment);
@@ -179,11 +211,19 @@ vector<TH2F*> HistoFillerIC(int segment, vector<vector<TSpline3*>> Spline_All_IC
 
     }
 
+    else if (segment==4) {
+        hIC_Y = new TH2F(Form("hChio_IC%d_IC%d_Y",segment,segment-1),
+                Form("hChio_IC%d_IC%d_Y",segment,segment-1), 1000, -1000, 1000, 500, 2, 2.5);
+        hIC_X = new TH2F(Form("hChio_IC%d_IC%d_X",segment,segment-1),
+                Form("hChio_IC%d_IC%d_X",segment,segment-1), 1000, -800, 800, 500, 2, 2.5);
+    }
+
+
     else {
         hIC_Y = new TH2F(Form("hChio_IC%d_IC%d_Y",segment,segment-1),
-                Form("hChio_IC%d_IC%d_Y",segment,segment-1), 1000, -1000, 1000, 500, 0, 2);
+                Form("hChio_IC%d_IC%d_Y",segment,segment-1), 1000, -1000, 1000, 500, 0, 4);
         hIC_X = new TH2F(Form("hChio_IC%d_IC%d_X",segment,segment-1),
-                Form("hChio_IC%d_IC%d_X",segment,segment-1), 1000, -800, 800, 500, 0, 2);
+                Form("hChio_IC%d_IC%d_X",segment,segment-1), 1000, -800, 800, 500, 0, 4);
     }
 
 
@@ -191,8 +231,8 @@ vector<TH2F*> HistoFillerIC(int segment, vector<vector<TSpline3*>> Spline_All_IC
     //																	Beginning loop on entries
     //===========================================================================================================
 
-    int Nentries = chain->GetEntries();
-    //int Nentries = 1000000;
+    //int Nentries = chain->GetEntries();
+    int Nentries = 1000000;
     auto start = std::chrono::high_resolution_clock::now();
     for (int e = 0; e < Nentries; e++) {
 
@@ -200,7 +240,7 @@ vector<TH2F*> HistoFillerIC(int segment, vector<vector<TSpline3*>> Spline_All_IC
 
 
         vector<double> IC_Spline_CorrX(NSpline + 1),IC_Spline_CorrY(NSpline+1);
-
+             
         if (Time->GetMWPC13Mult() ==1  && IC->fIC_TS.size()>= (segment+1)){ //only mult 1 event
 
             UShort_t FPMW_Section = Time->GetSection_MWPC3(0);
@@ -211,14 +251,14 @@ vector<TH2F*> HistoFillerIC(int segment, vector<vector<TSpline3*>> Spline_All_IC
                 for (int pseg = 1 ; pseg<=NSpline ; pseg++){
                     //If the spline doesnt exist define default value
                     if(Spline_All_ICprev.at(pseg).empty()){
-                        IC_Spline_CorrX.at(pseg)= IC->fIC_raw[pseg];
-                        IC_Spline_CorrY.at(pseg)= IC->fIC_raw[pseg]; 
+                        IC_Spline_CorrX.at(pseg)= IC->fIC_PID[pseg];
+                        IC_Spline_CorrY.at(pseg)= IC->fIC_PID[pseg]; 
                     }
 
                     //If it exist correct the current line
                     else if (!Spline_All_ICprev.at(pseg).empty()){
-                        IC_Spline_CorrX.at(pseg) = IC->fIC_raw[pseg] * SplineIC_X.at(pseg)->Eval(0) / SplineIC_X.at(pseg)->Eval(FF_IC_X); 
-                        IC_Spline_CorrY.at(pseg) = IC->fIC_raw[pseg] * SplineIC_Y.at(pseg)->Eval(0) / SplineIC_Y.at(pseg)->Eval(FF_IC_Y); 
+                        IC_Spline_CorrX.at(pseg) = IC->fIC_PID[pseg] * SplineIC_X.at(pseg)->Eval(0) / SplineIC_X.at(pseg)->Eval(FF_IC_X); 
+                        IC_Spline_CorrY.at(pseg) = IC->fIC_PID[pseg] * SplineIC_Y.at(pseg)->Eval(0) / SplineIC_Y.at(pseg)->Eval(FF_IC_Y); 
                     } //End if non empty
 
                 } // End loop IC non 0
@@ -230,19 +270,18 @@ vector<TH2F*> HistoFillerIC(int segment, vector<vector<TSpline3*>> Spline_All_IC
                 //===========================================================================================================/
 
                 if (segment == 1){
-                    hIC_Y->Fill(FF_IC_Y,IC->fIC_raw[segment]);
-                    hIC_X->Fill(FF_IC_X,IC->fIC_raw[segment]);
+                    hIC_Y->Fill(FF_IC_Y,IC->fIC_PID[segment]);
+                    hIC_X->Fill(FF_IC_X,IC->fIC_PID[segment]);
                 }
 
                 else if (segment == 0){
-                    hIC_Y->Fill(FF_IC_Y,IC->fIC_raw[segment]/IC_Spline_CorrY.at(1));
-                    hIC_X->Fill(FF_IC_X,IC->fIC_raw[segment]/IC_Spline_CorrX.at(1));
+                    hIC_Y->Fill(FF_IC_Y,IC->fIC_PID[segment]/IC_Spline_CorrY.at(1));
+                    hIC_X->Fill(FF_IC_X,IC->fIC_PID[segment]/IC_Spline_CorrX.at(1));
                 }
 
-
                 else {
-                    hIC_Y->Fill(FF_IC_Y,IC->fIC_raw[segment]/IC_Spline_CorrY.at(segment-1));
-                    hIC_X->Fill(FF_IC_X,IC->fIC_raw[segment]/IC_Spline_CorrX.at(segment-1));    
+                    hIC_Y->Fill(FF_IC_Y,IC->fIC_PID[segment]/IC_Spline_CorrY.at(segment-1));
+                    hIC_X->Fill(FF_IC_X,IC->fIC_PID[segment]/IC_Spline_CorrX.at(segment-1));    
                 }
         } //end only m2
 
@@ -332,9 +371,9 @@ vector<vector<TH2F*>>HistoFillerICcorr(int segment, vector<vector<TSpline3*>> Sp
 
         else {
             hIC_Y.at(pseg) = new TH2F(Form("hChiocorr_IC%d_IC%d_Y",pseg,pseg-1),
-                    Form("hChiocorr_IC%d_IC%d_Y",pseg,pseg-1), 1000, -1000, 1000, 500, 0, 2);
+                    Form("hChiocorr_IC%d_IC%d_Y",pseg,pseg-1), 1000, -1000, 1000, 500, 0, 4);
             hIC_X.at(pseg) = new TH2F(Form("hChiocorr_IC%d_IC%d_X",pseg,pseg-1),
-                    Form("hChiocorr_IC%d_IC%d_X",pseg,pseg-1), 1000, -800, 800, 500, 0, 2);
+                    Form("hChiocorr_IC%d_IC%d_X",pseg,pseg-1), 1000, -800, 800, 500, 0, 4);
         }
     }
 
@@ -342,8 +381,8 @@ vector<vector<TH2F*>>HistoFillerICcorr(int segment, vector<vector<TSpline3*>> Sp
     //																	Beginning loop on entries
     //===========================================================================================================
 
-    int Nentries = chain->GetEntries();
-    //int Nentries = 1000000;
+    //int Nentries = chain->GetEntries();
+    int Nentries = 1000000;
     auto start = std::chrono::high_resolution_clock::now();
     for (int e = 0; e < Nentries; e++) {
 
@@ -361,15 +400,15 @@ vector<vector<TH2F*>>HistoFillerICcorr(int segment, vector<vector<TSpline3*>> Sp
                 for (int pseg = 0 ; pseg<=NSpline ; pseg++){
                     //If the spline doesnt exist define default value
                     if(Spline_All_ICprev.at(pseg).empty()){
-                        IC_Spline_CorrX.at(pseg)= IC->fIC_raw[pseg];
-                        IC_Spline_CorrY.at(pseg)= IC->fIC_raw[pseg];
+                        IC_Spline_CorrX.at(pseg)= IC->fIC_PID[pseg];
+                        IC_Spline_CorrY.at(pseg)= IC->fIC_PID[pseg];
                         //cout << pseg << endl;
                     }
 
                     //If it exist correct the current line
                     else if (!Spline_All_ICprev.at(pseg).empty()){
-                        IC_Spline_CorrX.at(pseg) = IC->fIC_raw[pseg] * SplineIC_X.at(pseg)->Eval(0) / SplineIC_X.at(pseg)->Eval(FF_IC_X); 
-                        IC_Spline_CorrY.at(pseg) = IC->fIC_raw[pseg] * SplineIC_Y.at(pseg)->Eval(0) / SplineIC_Y.at(pseg)->Eval(FF_IC_Y); 
+                        IC_Spline_CorrX.at(pseg) = IC->fIC_PID[pseg] * SplineIC_X.at(pseg)->Eval(0) / SplineIC_X.at(pseg)->Eval(FF_IC_X); 
+                        IC_Spline_CorrY.at(pseg) = IC->fIC_PID[pseg] * SplineIC_Y.at(pseg)->Eval(0) / SplineIC_Y.at(pseg)->Eval(FF_IC_Y); 
                     } //End if non empty
                 } // end loop
 
diff --git a/Projects/AlPhaPha/2024/macro/chio/XYCalibration/VerifCorrelation.C b/Projects/AlPhaPha/2024/macro/chio/XYCalibration/VerifCorrelation.C
index ba867ff95f7dae4cab22dacff3760196281bd812..0c9a87d410524d5b2658315059e63c9ea72b4fe2 100644
--- a/Projects/AlPhaPha/2024/macro/chio/XYCalibration/VerifCorrelation.C
+++ b/Projects/AlPhaPha/2024/macro/chio/XYCalibration/VerifCorrelation.C
@@ -49,7 +49,7 @@ void VerifCorrelation(){
     
     TH3F *ICXY = new TH3F("ICXY","ICXY",100,-550,400,100,-1000,1000,100,0,2);
     TH2F *ICX = new TH2F("ICX","ICX",1000,-500,400,1000,0,2);
-    TProfile2D *Pxyz = new TProfile2D("ICOneZeroProfile","ICOneZeroProfile",100,-550.0,400.0,100,-900.0,500.0);
+    TProfile2D *Pxyz = new TProfile2D("ICOneZeroProfile","ICOneZeroProfile",100,-550.0,400.0,100,-800.0,480.0);
  
     int Nentries = chain->GetEntries();
     //int Nentries = 1000000;
@@ -68,14 +68,14 @@ void VerifCorrelation(){
         chain->GetEntry(e);
 
 
-        if(Time->GetMWPC13Mult()==1 && IC->fIC_raw[8] >0){
+        if(Time->GetMWPC13Mult()==1 && IC->fIC_PID[8] >0){
             UShort_t FPMW_Section = Time->GetSection_MWPC3(0);
             FF_DriftTime = 10* (IC->fIC_TS.at(0) - Time->GetTS_MWPC13(0)) - ((Time->GetTime_MWPC13(0)+Toff13.at(FPMW_Section))) ;
 
 
-            Double_t ICRatio =  IC->fIC_raw[1]/IC->fIC_raw[0];
+            Double_t ICRatio =  IC->fIC_PID[1]/IC->fIC_PID[0];
 
-            if(IC->fIC_raw[8] >0 && ICRatio <= 3 && ICRatio >0.1 ) {
+            if(IC->fIC_PID[8] >0 && ICRatio <= 3 && ICRatio >0.1 ) {
                 ICXY->Fill(FF_IC_X,FF_DriftTime,ICRatio);
                 Pxyz->Fill(FF_IC_X,FF_DriftTime,ICRatio);
 
@@ -134,6 +134,10 @@ void VerifCorrelation(){
 
     TFile *ofile = new TFile("Output/RatioProfile.root","recreate");
     Pxyz->Write();
+
+
+    TFile *oconf = new TFile("../../../Calibration/VAMOS/CHIO/ICXY_Profile.root","recreate");
+    Pxyz->Write();
 }
 
 vector<double> TxtToVector(const char *Path){
diff --git a/Projects/AlPhaPha/DataMacro/Secator.sh b/Projects/AlPhaPha/DataMacro/Secator.sh
new file mode 100644
index 0000000000000000000000000000000000000000..8aa42aa0f857175a92cd8298799224b2eeb4a62f
--- /dev/null
+++ b/Projects/AlPhaPha/DataMacro/Secator.sh
@@ -0,0 +1,31 @@
+#!/bin/bash
+
+
+#launch job in parralel
+MAX_JOBS=25  # Maximum parallel jobs
+SEMAPHORE="job_semaphore"
+
+# Create a named pipe (FIFO) for job control
+mkfifo $SEMAPHORE
+exec 3<> $SEMAPHORE
+rm $SEMAPHORE
+
+# Pre-fill the semaphore with tokens equal to MAX_JOBS
+for ((i=0; i<MAX_JOBS; i++)); do
+    echo "" >&3
+done
+
+
+for run in {201..262}; do
+    read -u 3  # Wait for an available slot
+    {
+        root -l -q "./Secator.C(\"/home/efremovt/Data/2to_SSD/2024/np_raw/run_raw_"$run".root\",\"output/run_"$run"/\", 30)"
+        echo "" >&3  # Release the slot
+    } & 
+done
+
+wait
+
+exec 3>&- #close semaphore 
+
+
diff --git a/Projects/Dali/DaliMinos.detector b/Projects/Dali/DaliMinos.detector
index e25d6ed3a4b9892537f35e6f96737eb39554a619..50e417dc647bc7bcae4c0ab8e08193723e9d285e 100755
--- a/Projects/Dali/DaliMinos.detector
+++ b/Projects/Dali/DaliMinos.detector
@@ -1,9 +1,15 @@
 Minos
- POS= 0 0 0 mm
+ Position= 0 0 0 mm
  TargetLength= 152.76 mm
  TargetMaterial= LH2
  CellMaterial= Mylar 
  TPCOnly= 0 
+ TargetZOffset= 0 mm
+ TimeBin= 30 ns
+ ShapingTime= 333.9 ns
+ Baseline= 250
+ Sampling= 10
+ ZOffset= 0 mm
  XML= /Users/matta/mrdc/xml/s034/MINOS.xml
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 Dali
diff --git a/Projects/E805/Analysis.cxx b/Projects/E805/Analysis.cxx
index 5bf7de5bb89fc21ffee85040de376bac4af3bc01..27332d525289c89bf2ea1c9c9c21a0019bbfb75b 100755
--- a/Projects/E805/Analysis.cxx
+++ b/Projects/E805/Analysis.cxx
@@ -132,7 +132,6 @@ void Analysis::ReadConfigTS(){
 ////////////////////////////////////////////////////////////////////////////////
 void Analysis::TreatEvent(){
     ReInit();
-    
     TreatCATS();
     if(bCATS){
       TreatMUST2();
@@ -349,15 +348,15 @@ void Analysis::TreatMUST2(){
 }
 
 void Analysis::TreatEXO(){
-  int EXO_AB_size = Exogam->E_AB.size();
-  for(unsigned int countExo = 0 ; countExo < EXO_AB_size; countExo++){
-  // Doing Doppler correction only if one reaction occurs
-    if(Beta_pd.size() == 1){
-      EXO_Doppler_pd.push_back(Doppler_Correction(Exogam->Theta[countExo], Exogam->Phi[countExo], 0,0,Beta_pd[0],Exogam->E_AB[countExo]));
-      EXO_Doppler_pt.push_back(Doppler_Correction(Exogam->Theta[countExo], Exogam->Phi[countExo], 0,0,Beta_pt[0],Exogam->E_AB[countExo]));
-      EXO_Doppler_p3He.push_back(Doppler_Correction(Exogam->Theta[countExo], Exogam->Phi[countExo], 0,0,Beta_p3He[0],Exogam->E_AB[countExo]));
-    }
-  }
+  //int EXO_AB_size = Exogam->E_AB.size();
+  //for(unsigned int countExo = 0 ; countExo < EXO_AB_size; countExo++){
+  //// Doing Doppler correction only if one reaction occurs
+  //  if(Beta_pd.size() == 1){
+  //    EXO_Doppler_pd.push_back(Doppler_Correction(Exogam->Theta[countExo], Exogam->Phi[countExo], 0,0,Beta_pd[0],Exogam->E_AB[countExo]));
+  //    EXO_Doppler_pt.push_back(Doppler_Correction(Exogam->Theta[countExo], Exogam->Phi[countExo], 0,0,Beta_pt[0],Exogam->E_AB[countExo]));
+  //    EXO_Doppler_p3He.push_back(Doppler_Correction(Exogam->Theta[countExo], Exogam->Phi[countExo], 0,0,Beta_p3He[0],Exogam->E_AB[countExo]));
+  //  }
+  //}
 }
 
 
diff --git a/Projects/E805/Analysis.h b/Projects/E805/Analysis.h
index 0c8ba8e6909144ca58d357ad54446e7a3ceae50c..a6c1640a6fae691a95056473cb5bc819c4fc2726 100755
--- a/Projects/E805/Analysis.h
+++ b/Projects/E805/Analysis.h
@@ -41,7 +41,7 @@
 #include"NPParticle.h"
 #include"NPBeam.h"
 #include "TCutG.h"
-// #include"NPTimeStamp.h"
+#include"NPTimeStamp.h"
 #include<random>
 class Analysis: public NPL::VAnalysis{
   public:
diff --git a/Projects/E805/ProjetInfo/MCRMethod.cpp b/Projects/E805/ProjetInfo/MCRMethod.cpp
index a009a59d51246d69227142a5ccf7ebf8b3fdb908..09680eedcbbf7bfc8a37dc14431de78548c843e4 100644
--- a/Projects/E805/ProjetInfo/MCRMethod.cpp
+++ b/Projects/E805/ProjetInfo/MCRMethod.cpp
@@ -9,7 +9,6 @@
 
 #include<string.h>
 #include"MCRMethod.h"
-#include"mini.h"
 using namespace std;
 
 
@@ -17,272 +16,13 @@ using namespace std;
 
 MCRMethod::MCRMethod()
 {
-  //Init();
-  // MetroHast();
   Nappe();
-  // NappeBis();
-  //MinimizationFunction();
-}
-
-
-MCRMethod::MCRMethod(double lambd, double ini, double final, int n1)
-{
-  tini= ini;
-  tfinale=final;
-  lambda=lambd;
-  n=n1;
 }
 
 MCRMethod::~MCRMethod()
 {
 }
 
-//void MCRMethod::MetroHast() ///////////
-/*{
-  srand(time(NULL));
-  double a,b,c;
-  int i1,i2;
-  fstream fich;
-  double min;
-  int*li=(int*)malloc(n*sizeof(int));
-  int*lican=(int*)malloc(n*sizeof(int));
-  int*limin=(int*)malloc(n*sizeof(int));
-  double delt;
-  double t;
-  dist obj(n,li);
-  dist objcan(n,lican);
-  dist objmin(n,limin);
-  obj.minimisation::initialise(recuit::read());
-  objcan.minimisation::initialise(recuit::read());
-  objmin.minimisation::initialise(recuit::read());
-  obj.set();
-  objcan.set();
-  objmin.set();
-  for(int k=0;k<n;k++)
-    li[k]=k;
-  for(int k=0;k<n;k++)
-    limin[k]=k;
-  objmin.initialise();
-  min=objmin.read();
-  t=tini;
-  fich.open("MetroHast3.res",ios::out);
-  while (t>tfinale)
-    {
-      i1= rand() % n;
-      i2= rand() % n;
-      for(int k=0;k<n;k++)
-	  lican[k]=li[k];
-      lican[i1]=li[i2];
-      lican[i2]=li[i1];
-      obj.initialise();
-      objcan.initialise();
-      objmin.initialise();
-      a=obj.read();
-      b=objcan.read();
-      c=objmin.read();
-      delt= b-a;
-      if (exp(-delt/t)>=(double(rand())/double(RAND_MAX))){
-	
-	for(int k=0;k<n;k++){
-	  li[k]=lican[k];
-	}
-	fich << t << " " << b << endl;
-      }
-      if (c > b){
-	for(int k=0;k<n;k++){
-	  limin[k]=lican[k];
-	}
-	min = b;
-      }
-      t=t*lambda;
-      //cout << x << "  " << min << endl;
-    }
-  reponse=min;
-  cout << endl << "L'ordre de parcours des " << n << " villes dans la configuration optimale est: " << endl;
-  for(int k=0;k<n;k++)
-    cout << limin[k] << " ";
-  cout << endl << endl;
-  fich.close();
-  
-    
-}*/
-
-void MCRMethod::MetroHast() ///////////
-{
-  int itmax = TMath::Log(TemperatureFinale/TemperatureInitiale)/TMath::Log(Lambda);
-  std::cout << "itmax " << itmax << std::endl;
-  srand(time(NULL));
-  clock_t start = clock(), current, end;
-  while (Temperature>TemperatureFinale){
-        current = clock();
-        Double_t Frac = 1.0*it/itmax;
-        Double_t Time = ((double) (current-start)/CLOCKS_PER_SEC);
-        Double_t TimeLeft = Time*(1/Frac - 1.);
-
-        std::cout << "\rIteration : " << it
-             << "/" << itmax
-             << " --- "
-             << Form("%.2f",100.*it/itmax) <<" %"
-             << " --- "
-             <<Form("%.00f it/sec",it/Time)
-            <<" --- "
-           << " Time Left : "<< Form("%d min ",(int)TimeLeft/60)
-           << Form("%01.00d sec",(int)TimeLeft%60)
-           << std::flush;
-    RandomStep();
-    double currdist = MinimizationFunction();
-    dist.push_back(currdist);
-    if(it > 0)
-      std::cout << "\n///////////// " << exp((dist[it-1] - dist[it])/Temperature) << "\n";
-    if (it == 0 || exp((dist[it-1] - dist[it])/Temperature)>=(double(rand())/double(RAND_MAX))){
-      for(unsigned int i = 0; i < 4; i++){
-        CATSPosXY[i] = CATSPosXYCan[i];
-      }
-      if(dist[itmin] > dist[it]){
-        itmin = it;
-      }
-    }
-    else
-    {
-      dist[it] = dist[it-1];
-    }
-    pos[0].push_back(CATSPosXY[0]);
-    pos[1].push_back(CATSPosXY[1]);
-    pos[2].push_back(CATSPosXY[2]);
-    pos[3].push_back(CATSPosXY[3]);
-    std::cout << "Temperature : " << Temperature << std::endl;
-    std::cout << "Dist : " << dist[it] << std::endl;
-    std::cout << "Pos : " << pos[0][it] << " " << pos[1][it] << " " << pos[2][it] << " " << pos[3][it] << " " << std::endl;
-    Temperature *= Lambda;
-    it++;  
-    Graph->SetPoint(it,it,dist[it]);
-  }
-    
-    std::cout << "\n\nFIN DE L ALGO :\n";
-    std::cout << "Temperature : " << Temperature << std::endl;
-    std::cout << "Dist : " << dist[itmin] << std::endl;
-    std::cout << "Pos : " << pos[0][itmin] << " " << pos[1][itmin] << " " << pos[2][itmin] << " " << pos[3][itmin] << " " << std::endl;
-  //std::cout << "Min " << std::min_element(dist.begin(), dist.end());
-  Graph->Draw();
-}
-
-void MCRMethod::RandomStep(){
-  for(unsigned int i = 0; i < 4; i++){
-    CATSPosXYCan[i] = CATSPosXY[i];
-  }
-  unsigned int i = rand() % 4;
-  if(CATSPosXY[i] <= CATSPosXYLim[2*i])
-    CATSPosXYCan[i] = CATSPosXY[i]+Step;
-  else if(CATSPosXY[i] >= CATSPosXYLim[2*i +1])
-    CATSPosXYCan[i] = CATSPosXY[i]-Step;
-  else
-    CATSPosXYCan[i] = CATSPosXY[i] + 2*((rand() % 2) -0.5)*Step;
-}
-
-void MCRMethod::Init(){
-  Graph = new TGraph();
-  it = 0;
-  itmin = 0;
-  TemperatureInitiale = 10;
-  Temperature = TemperatureInitiale;
-  TemperatureFinale = 0.1;
-  Step = 0.1;
-  runmask[0] = "r0367_mask1";
-  runmask[1] = "r0368_mask1";
-  for(unsigned int i = 0; i < 2; i++){
-    Chain[i] = new TChain("PhysicsTree");
-    Chain[i]->Add(path+runmask[i]+".root"); //CATS1
-    if (!(Chain[i]->GetEntries())){
-      printf("ERROR in the Chain !! \n");
-      return;
-    }
-  TreeReader[i] = new TTreeReader(Chain[i]);
-  CATSPhysics_[i]= new TTreeReaderValue<TCATSPhysics>(*TreeReader[i],"CATS");
-  DistRatio[i] = -(CATSPosZ[1] - MASKPosZ[i])/(CATSPosZ[1] - CATSPosZ[0]);
-  std::cout << "test " << DistRatio[i] << std::endl;
-  }
-} 
-
-double MCRMethod::MinimizationFunction(){
-
-    for(unsigned int i = 0; i < 2; i++){
-      auto HistMask = new TH2F(Form("HistMask%i",i+1),Form("HistMask%i",i+1),500,-50,50,500,-50,50);
-      auto SpecMask = new TSpectrum2(50,2);
-      TreeReader[i]->Restart();
-      while (TreeReader[i]->Next())
-      {
-      CATSPhysics = &**(CATSPhysics_[i]);
-      if(CATSPhysics->GetCATSMult()== 2){
-        double X1Eff, Y1Eff, X2Eff, Y2Eff;
-        for(unsigned int i = 0; i < CATSPhysics->GetCATSMult(); i++){
-          UShort_t Det = CATSPhysics->GetCATSDet(i);
-          if(Det == 1){
-          X1Eff = CATSPhysics->GetCATSPosX(i)+CATSPosXYCan[0];
-          Y1Eff = CATSPhysics->GetCATSPosY(i)+CATSPosXYCan[1];
-          }
-          else if(Det == 2){
-          X2Eff = CATSPhysics->GetCATSPosX(i)+CATSPosXYCan[2];
-          Y2Eff = CATSPhysics->GetCATSPosY(i)+CATSPosXYCan[3];
-          }
-          // std::cout << "test " << X2Eff - (X2Eff - X1Eff)*DistRatio[i] << " " << Y2Eff - (Y2Eff - Y1Eff)*DistRatio[i] << std::endl;
-        }
-          HistMask->Fill(X2Eff + (X2Eff - X1Eff)*DistRatio[i],Y2Eff + (Y2Eff - Y1Eff)*DistRatio[i]);
-      }
-
-  }
-    //new TCanvas();
-   // HistMask->Draw();
-    Int_t nfound = SpecMask->Search(HistMask,2,"col",0.15);
-    Double_t* PeaksPosX = SpecMask->GetPositionX();
-    Double_t* PeaksPosY = SpecMask->GetPositionY();
-    Double_t FirstX;
-    Double_t FirstY;
-    if(nfound > 0){
-      FirstX = PeaksPosX[0];
-      FirstY = PeaksPosY[0];
-      BotLeft[i][0] = FirstX;
-      BotLeft[i][1] = FirstY;
-      BotRight[i][0] = FirstX;
-      BotRight[i][1] = FirstY;
-      TopLeft[i][0] = FirstX;
-      TopLeft[i][1] = FirstY;
-  }
-    else{
-      std::cout << "ERROR, No peak was found" << std::endl;
-      return 0;
-  }
-
-    for(unsigned int j = 0; j < nfound; j++){
-      if(-BotLeft[i][0]-BotLeft[i][1] < -PeaksPosX[j]-PeaksPosY[j]){
-        BotLeft[i][0] = PeaksPosX[j];
-        BotLeft[i][1] = PeaksPosY[j];
-      }
-      else if(BotRight[i][0]-BotRight[i][1] < PeaksPosX[j]-PeaksPosY[j]){
-        BotRight[i][0] = PeaksPosX[j];
-        BotRight[i][1] = PeaksPosY[j];
-      }
-      else if(-TopLeft[i][0]+TopLeft[i][1] < -PeaksPosX[j]+PeaksPosY[j]){
-        TopLeft[i][0] = PeaksPosX[j];
-        TopLeft[i][1] = PeaksPosY[j];
-      }
-  }
-    std::cout << "\nBotLeft " << BotLeft[i][0] << " " << BotLeft[i][1] << std::endl; 
-    std::cout << "BotRight " << BotRight[i][0] << " " << BotRight[i][1] << std::endl; 
-    std::cout << "TopLeft " << TopLeft[i][0] << " " << TopLeft[i][1] << std::endl; 
-    HistMask->Delete();
-    } 
-
-  double distdiff = 0;
-  for(unsigned int i = 0; i < 2; i++){
-    distdiff+= TMath::Sqrt(pow(BotLeft[i][0] - BotLeftGeo[2*i],2) + pow(BotLeft[i][1] - BotLeftGeo[2*i+1],2));
-    distdiff+= TMath::Sqrt(pow(TopLeft[i][0] - TopLeftGeo[2*i],2) + pow(TopLeft[i][1] - TopLeftGeo[2*i+1],2));
-    distdiff+= TMath::Sqrt(pow(BotRight[i][0] - BotRightGeo[2*i],2) + pow(BotRight[i][1] - BotRightGeo[2*i+1],2));
-  }
-
-  std::cout << distdiff << std::endl;
-  return distdiff;
-}
-
 void MCRMethod::Nappe(){
   int X1 = 40;
   int X2 = 40;
@@ -300,17 +40,15 @@ void MCRMethod::Nappe(){
       }
     }
   }
-  // std::cout << "test2" << std::endl;
   runmask[0] = "rmask1_367";
   runmask[1] = "rmask2_368";
   for(unsigned int i = 0; i < 2; i++){
     Chain[i] = new TChain("PhysicsTree");
-    Chain[i]->Add(path+runmask[i]+".root"); //CATS1
+    Chain[i]->Add(path+runmask[i]+".root"); 
     if (!(Chain[i]->GetEntries())){
       printf("ERROR in the Chain !! \n");
       return;
     }
-  // std::cout << "test3" << std::endl;
   TreeReader[i] = new TTreeReader(Chain[i]);
   CATSPhysics_[i]= new TTreeReaderValue<TCATSPhysics>(*TreeReader[i],"CATS");
 
@@ -321,7 +59,6 @@ void MCRMethod::Nappe(){
   CFile[0] = new TFile(CName+".root");
   CUT[0] = (TCutG*)CFile[0]->FindObjectAny(CName);
   std::cout << CUT[0] << std::endl;
-  // CName = "CUTm_2";
   CName = "CUTm_2";
   CFile[1] = new TFile(CName+".root");
   CUT[1] = (TCutG*)CFile[1]->FindObjectAny(CName);
@@ -330,12 +67,9 @@ void MCRMethod::Nappe(){
     while (TreeReader[i]->Next()){
       CATSPhysics = &**(CATSPhysics_[i]);
       if(CATSPhysics->PositionX.size() == 2){
-  // std::cout << "test5 " << CATSPhysics->GetCATSMult() << " " << CATSPhysics->DetNumber[0] << " " << (CATSPhysics->PositionX).size() << " " << CATSPhysics->PositionY[i] << " " << CUT[i]->IsInside(CATSPhysics->PositionX[i],CATSPhysics->PositionY[i]) << std::endl;
         if(CATSPhysics->DetNumber[0] == 1 && CUT[i]->IsInside(CATSPhysics->PositionX[i],CATSPhysics->PositionY[i])){
           for(int i1 = -X1; i1 <= X1; i1++){
             for(int i2 = -X2; i2 <= X2; i2++){
-              // std::cout << "test " <<  i1 << " " << i2 << std::endl;
-  // std::cout << "test4" << std::endl;
               double x1, x2;
               if(Side == "X"){
                 x1 = CATSPhysics->PositionX[0] +i1*stepx1;
@@ -373,14 +107,12 @@ void MCRMethod::Nappe(){
         fitfunc->SetParameters(200,PeaksPosX[0],1);
         fitfunc->SetParLimits(1,-10,10);
         (*TH1Map)[i][Form("h_m%i_x1%i_x2%i",i, i1, i2)]->Fit(fitfunc,"QL","",-10,10);
-        // std::cout << i1 << " " << i2 << " " << PeaksPosX[0] << std::endl;
         double value;
         if(Side == "X")
           value = abs(fitfunc->GetParameter(1) - MaskPosX[i]);
         else if(Side == "Y")
           value = abs(fitfunc->GetParameter(1) - MaskPosY[i]);
         HeatMap[i]->SetBinContent(X1+i1+1,X2+i2+1,value);
-        //HeatMap[i]->SetBinContent(i1+1,i2+1,value);
         std::cout << norm[X1+i1][X2+i2] << std::endl;
         norm[X1+i1][X2+i2] += value*value;
         if(i ==1){
@@ -396,7 +128,6 @@ void MCRMethod::Nappe(){
   
     }
   }
-  // SumHeatMap->Add(HeatMap[0],HeatMap[1],1,1);
   for(unsigned int i = 0; i < 2; i++){
   auto c = new TCanvas();
   HeatMap[i]->Draw("colz");
@@ -408,13 +139,10 @@ void MCRMethod::Nappe(){
 
 float MCRMethod::ProjectOnCats(unsigned int i, double x1, double x2){
   double tmask = (CATSPosZ[i] - MASKPosZ[i])/(CATSPosZ[1] - CATSPosZ[0]); 
-  // double tmaskt = (-CATSPosZ[0])/(CATSPosZ[1] - CATSPosZ[0]); 
   if(i == 0)
     return x1 -(x2-x1)*tmask;
   else if(i == 1)
     return x2 - (x2-x1)*tmask;
-  // else if(i == 1)
-    // return x1 + (x2-x1)*tmask;
   else
     exit(1);
 };
@@ -445,7 +173,6 @@ void MCRMethod::NappeBis(){
       printf("ERROR in the Chain !! \n");
       return;
     }
-  // std::cout << "test3" << std::endl;
   TreeReader[i] = new TTreeReader(Chain[i]);
   CATSPhysics_[i]= new TTreeReaderValue<TCATSPhysics>(*TreeReader[i],"CATS");
 
@@ -498,12 +225,9 @@ void MCRMethod::NappeBis(){
         }
       CATSPhysics = &**(CATSPhysics_[i]);
       if(CATSPhysics->PositionX.size() == 2 && CATSPhysics->PositionY.size()==2){
-  // std::cout << "test5 " << CATSPhysics->GetCATSMult() << " " << CATSPhysics->DetNumber[0] << " " << (CATSPhysics->PositionX).size() << " " << CATSPhysics->PositionY[i] << " " << CUT[i]->IsInside(CATSPhysics->PositionX[i],CATSPhysics->PositionY[i]) << std::endl;
         if(condition(i)){
           for(int i1 = -X1; i1 <= X1; i1++){
             for(int i2 = -X2; i2 <= X2; i2++){
-              // std::cout << "test " <<  i1 << " " << i2 << std::endl;
-  // std::cout << "test4" << std::endl;
               double x1, x2;
               if(Side == "X"){
                 x1 = CATSPhysics->PositionX[0] +i1*stepx1;
@@ -606,7 +330,3 @@ void MCRMethod::Unallocate(){
 
 
 
-double MCRMethod::read()
-{
-  return reponse;
-}
diff --git a/Projects/E805/ProjetInfo/MCRMethod.h b/Projects/E805/ProjetInfo/MCRMethod.h
index 91045c239858b37ac75a14bbe7fcbd901bc188a7..23c89d3ff775306d237c25766d65368fe488f34c 100644
--- a/Projects/E805/ProjetInfo/MCRMethod.h
+++ b/Projects/E805/ProjetInfo/MCRMethod.h
@@ -1,5 +1,5 @@
-#ifndef recuit_h
-#define recuit_h 1
+#ifndef MCR_h
+#define MCR_h 1
 
 #include<iostream>
 #include<vector>
@@ -28,18 +28,10 @@ class MCRMethod
 {
  public:
   MCRMethod();
-  MCRMethod(double lambd, double ini, double final,  int n1);
   ~MCRMethod();
 
-  void MetroHast(); //Calcul de la distance minimale et du chemin pour le problème du voyageur de commerce
-  double read(); // Affichage
-  void plot();
-  void RandomStep();
-  double MinimizationFunction();
-  void Init();
   float ProjectOnCats(unsigned int i, double x1, double x2);
   float ProjectOnTarget(unsigned int i, double x1, double x2);
-  float ProjectAndEx(unsigned int i,string side, double x1, double x2);
   void NappeBis();
   bool condition(unsigned int);
   void Unallocate();
@@ -47,23 +39,10 @@ class MCRMethod
 
  private:
 
-  double Lambda = 0.98;
-  std::vector<double> dist;
-  std::vector<Double_t> pos[4];
-  unsigned int it;
-  unsigned int itmin;
   TString runmask[2];
   
   
   
-  double Step;
-  double TemperatureInitiale;
-  double Temperature;
-  double TemperatureFinale;
-  double DistRatio[2];
-  double CATSPosXY[4] = {8,-6,-2,-1}; // CATS1X, 1Y, 2X, 2Y;
-  double CATSPosXYCan[4] = {8,-6,-2,-1}; // CATS1X, 1Y, 2X, 2Y;
-  double CATSPosXYLim[8] = {-30,30,-30,30,-30,30,-30,30}; // CATS1X min max, 1Y etc, 2X, 2Y;
   double CATSPosZ[2] = {-1587.1,-1090.1};
   double MASKPosZ[2] = {-1732.1,-1235.1};
 
@@ -154,18 +133,4 @@ class MCRMethod
   //ClassDef(MCRMethod,0);
 };
 
-
-
-
-
-
-
-
-
-
-
-
-  
-
-
 #endif
diff --git a/Projects/E805/RunToTreat.txt b/Projects/E805/RunToTreat.txt
index ef2289f4dcda12c6627dd33451c491f502e5eb28..87a13504379c335bf9b1287b3c3fad7ed3ab36fd 100644
--- a/Projects/E805/RunToTreat.txt
+++ b/Projects/E805/RunToTreat.txt
@@ -1,5 +1,5 @@
 TTreeName 
-	SimulatedTree
+	RawTree
 RootFileName 
-	./data/NPRoot/Simulation/test.root
+	./ssd/NPRaw_364/NPRaw_364_1*.root
 
diff --git a/Projects/E805/project.config b/Projects/E805/project.config
index f4d49abf59994412aa11998b16b6959b5abd9a3e..6238ec463e4676bdbe08dbe1c269201f048e2634 100644
--- a/Projects/E805/project.config
+++ b/Projects/E805/project.config
@@ -1,6 +1,7 @@
 Project E805
  AnalysisOutput= ./data/NPRoot/Analysis/
  SimulationOutput= ./data/NPRoot/Simulation/
+ EfficiencyOutput= ./data/NPRoot/Efficiency/
  EnergyLoss= ../../Inputs/EnergyLoss/
  CalibrationOutput= ./data/NPRoot/Calibration/
  Cuts= ./data/NPRoot/Cuts/
diff --git a/Projects/E805_simu/Analysis.cxx b/Projects/E805_simu/Analysis.cxx
index cd83a6b1d1de656813ec48f3d266fca08d4c0dbf..1574146134cc9ab00423d9a80fe26708ed7089f0 100755
--- a/Projects/E805_simu/Analysis.cxx
+++ b/Projects/E805_simu/Analysis.cxx
@@ -45,9 +45,9 @@ void Analysis::Init(){
   string light=NPL::ChangeNameToG4Standard(reaction->GetNucleus3()->GetName());
   std::cout << light << " " << heavy_ejectile << std::endl;
 
-  string Reaction_pd_s = "48Cr(p,d)47Cr@1620";
-  string Reaction_pt_s = "48Cr(p,t)46Cr@1620";
-  string Reaction_p3He_s = "48Cr(p,3He)46V@1620";
+  string Reaction_pd_s = "48Cr(p,d)47Cr@1560";
+  string Reaction_pt_s = "48Cr(p,t)46Cr@1560";
+  string Reaction_p3He_s = "48Cr(p,3He)46V@1560";
   Reaction_pd = new Reaction(Reaction_pd_s);
   Reaction_pt = new Reaction(Reaction_pt_s);
   Reaction_p3He = new Reaction(Reaction_p3He_s);
@@ -134,8 +134,8 @@ void Analysis::TreatEvent(){
       else
         Energy = -1000;
       if(Energy > 0){
-        // Energy = LightTarget["deuteron"].EvaluateInitialEnergy(Energy,TargetThickness*0.5, ThetaNormalTarget);
-        Energy = LightTarget["alpha"].EvaluateInitialEnergy(Energy,TargetThickness*0.5, ThetaNormalTarget);
+        Energy = LightTarget["deuteron"].EvaluateInitialEnergy(Energy,TargetThickness*0.5, ThetaNormalTarget);
+        // Energy = LightTarget["alpha" ].EvaluateInitialEnergy(Energy,TargetThickness*0.5, ThetaNormalTarget);
       }
         
 
@@ -150,10 +150,11 @@ void Analysis::TreatEvent(){
       // Part 3 : Excitation Energy Calculation
       M2_Ex.push_back(reaction->ReconstructRelativistic( Energy, M2_ThetaLab[countMust2] ));
        
-      M2_ThetaLab[countMust2]=M2_ThetaLab[countMust2]/deg;
+      // M2_ThetaLab[countMust2]=M2_ThetaLab[countMust2]/deg;
 
       // Part 4 : Theta CM Calculation
       M2_ThetaCM.push_back(reaction->EnergyLabToThetaCM( M2_ELab[countMust2] , M2_ThetaLab[countMust2])/deg);
+      M2_ThetaLab[countMust2]=M2_ThetaLab[countMust2]/deg;
 
       //if(proton_cut[TelescopeNumber]){
       //  std::cout << "Test :" << proton_cut[TelescopeNumber] << " \n";
diff --git a/Projects/E805_simu/MUST2_E805.detector b/Projects/E805_simu/MUST2_E805.detector
index 1437b43cda0060c66a573e36b31faba4111527d4..94b6fa0fd506c42e048aef9c114b401c386ce5ad 100644
--- a/Projects/E805_simu/MUST2_E805.detector
+++ b/Projects/E805_simu/MUST2_E805.detector
@@ -1,7 +1,6 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 Target
- %THICKNESS= 53.5 micrometer
- THICKNESS= 0.000001 micrometer
+ THICKNESS= 53.5 micrometer
  ANGLE= 0 deg
  RADIUS=  15 mm
  MATERIAL= CH2
@@ -11,20 +10,20 @@ Target
  Z= 0 mm
 %%%%%%% Telescope 1 %%%%%%% 		
 M2Telescope  		
- X1_Y1= 	-13.57	-104.78	299.83 mm
- X1_Y128= -25.1	    -12.62	328.63 mm
- X128_Y1= -104.01	-104.85	263.88 mm
- X128_Y128= -115.53	-12.71	292.67 mm
+ X1_Y1= 	-13.17	-105.07	299.38 mm
+ X1_Y128= -25.15	    -12.87	328.18 mm
+ X128_Y1= -103.63	-105.68	263.74 mm
+ X128_Y128= -115.61	-13.56	292.51 mm
  SI= 1		
  SILI= 0		
  CSI= 1		
  VIS= all  
 %%%%%%% Telescope 2 %%%%%%% 		
 M2Telescope  		
- X1_Y1= -114.9	9.68	291.84 mm
- X1_Y128= -24.56	9.8	327.88 mm
- X128_Y1= -103.58	101.8	262.73 mm
- X128_Y128= 	-13.24	102.09	298.75 mm
+ X1_Y1= -114.9	10.05	292.57 mm
+ X1_Y128= -24.52	9.80	328.49 mm
+ X128_Y1= -103.13	102.14	263.58 mm
+ X128_Y128= 	-12.74	101.90	299.51 mm
  SI= 1		
  SILI= 0		
  CSI= 1		
@@ -32,10 +31,10 @@ M2Telescope
 
 %%%%%%% Telescope 3 %%%%%%% 		
 M2Telescope  		
- X1_Y1= 	11.84	101.72	299.05 mm
- X1_Y128= 23.44	9.68	328.38 mm
- X128_Y1= 102.16	101.57	263.01 mm
- X128_Y128= 113.81	9.57	292.3 mm
+ X1_Y1= 	12.94	101.57	300.03 mm
+ X1_Y128= 24.43	9.53	329.29 mm
+ X128_Y1= 103.23	101.34	263.86 mm
+ X128_Y128= 114.74	9.30	293.11 mm
  SI= 1		
  SILI= 0		
  CSI= 1		
@@ -44,12 +43,11 @@ M2Telescope
 
 %%%%%%% Telescope 4 %%%%%%% 		
 M2Telescope  		
- X1_Y1= 113.56	-13.18	292.11 mm
- X1_Y128= 23.23	-13.37	328.15 mm
- X128_Y1= 102.39	-105.49	263.59 mm
- X128_Y128= 	12.04	-105.69	299.63 mm
+ X1_Y1= 114.62	-13.35	292.81 mm
+ X1_Y128= 24.30 -13.44	328.89 mm
+ X128_Y1= 103.32	-105.63	264.21 mm
+ X128_Y128= 	13.00	-105.74	300.28 mm
  SI= 1		
  SILI= 0		
  CSI= 1		
- VIS= all  
-
+ VIS= all  
\ No newline at end of file
diff --git a/Projects/E805_simu/RunToTreat.txt b/Projects/E805_simu/RunToTreat.txt
index e31b79130dd523aa78e48524d307e3b720452151..a2414fa46c612e72a470350e9e7f4dd63c156747 100644
--- a/Projects/E805_simu/RunToTreat.txt
+++ b/Projects/E805_simu/RunToTreat.txt
@@ -1,5 +1,5 @@
 TTreeName 
 	SimulatedTree
 RootFileName 
-	../E805/data/NPRoot/Simulation/test_simu.root
+	../../Outputs/Simulation/test_simu.root
 
diff --git a/Projects/Epic_sim_proto/K12_240Pu.source b/Projects/Epic_sim_proto/K12_240Pu.source
index 0d152ec732fb60bc07b5921cc52b5626e9cebbc3..0aa7030dce8be5cf644902a13cdb7e9be9be84a8 100755
--- a/Projects/Epic_sim_proto/K12_240Pu.source
+++ b/Projects/Epic_sim_proto/K12_240Pu.source
@@ -3,25 +3,20 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %      Energy are given in MeV , Position in mm      % 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-Isotropic
- EnergyLow=  0 MeV
- EnergyHigh= 0 MeV
+AlphaDecay
+ EnergyLow=  5.254 MeV
+ EnergyHigh= 5.256 MeV
  HalfOpenAngleMin= 0 deg
  HalfOpenAngleMax= 180 deg
- x0= 0 
- y0= 0 
+ x0= 0 mm 
+ y0= 0 mm
  z0= 2.50898 mm
  SourceProfile= Flat
  SigmaX= 16.5 mm
  SigmaY= 0 mm
  SigmaZ= 0 mm 
- particle= 240Pu
  ExcitationEnergy= 0 MeV
  Direction= z
- Multiplicity= 2
-% DecayLaw= on: multiplicity following the decay law controlled by the halflife
-%           off: fix multiplcitity
- DecayLaw= on
- ActivityBq= 1.e7
+ ActivityBq= 1.e7 Bq
  TimeWindow= 50.e-9 s
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/Projects/Epic_sim_proto/K1_238Pu.source b/Projects/Epic_sim_proto/K1_238Pu.source
deleted file mode 100755
index c8988161b1dc8ee3357c9159a1efe9d449bcdacf..0000000000000000000000000000000000000000
--- a/Projects/Epic_sim_proto/K1_238Pu.source
+++ /dev/null
@@ -1,26 +0,0 @@
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%% An Isotropic Source to be used as EventGenerator %%%%%%%%%%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%      Energy are given in MeV , Position in mm      % 
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-Isotropic
- EnergyLow=  0 MeV
- EnergyHigh= 0 MeV
- HalfOpenAngleMin= 0 deg
- HalfOpenAngleMax= 180 deg
- x0= 0 
- y0= 0 
- z0= -14.1929 mm
- SourceProfile= Flat
- SigmaX= 16.5 mm
- SigmaY= 0 mm
- SigmaZ= 0 mm 
- particle= 238Pu
- ExcitationEnergy= 0 MeV
- Direction= z
- Multiplicity= 10
-% DecayLaw= on: multiplicity following the decay law controlled by the halflife
-%           off: fix multiplcitity
- DecayLaw= on
- ActivityBq= 1.e7
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/Projects/Epic_sim_proto/K1_238U.source b/Projects/Epic_sim_proto/K1_238U.source
deleted file mode 100755
index 0edffac973f560f8bbfe5caadf482bfd8ca95ee7..0000000000000000000000000000000000000000
--- a/Projects/Epic_sim_proto/K1_238U.source
+++ /dev/null
@@ -1,26 +0,0 @@
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%% An Isotropic Source to be used as EventGenerator %%%%%%%%%%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%      Energy are given in MeV , Position in mm      % 
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-Isotropic
- EnergyLow=  0 MeV
- EnergyHigh= 0 MeV
- HalfOpenAngleMin= 0 deg
- HalfOpenAngleMax= 180 deg
- x0= 0 
- y0= 0 
- z0= -14.1929 mm
- SourceProfile= Flat
- SigmaX= 16.5 mm
- SigmaY= 0 mm
- SigmaZ= 0 mm 
- particle= 238U
- ExcitationEnergy= 0 MeV
- Direction= z
- Multiplicity= 10
-% DecayLaw= on: multiplicity following the decay law controlled by the halflife
-%           off: fix multiplcitity
- DecayLaw= on
- ActivityBq= 50
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/Projects/Epic_sim_proto/Pu240.mac b/Projects/Epic_sim_proto/Pu240.mac
deleted file mode 100644
index 9a01f41a956e6169ef83b2c81c72e656d5408046..0000000000000000000000000000000000000000
--- a/Projects/Epic_sim_proto/Pu240.mac
+++ /dev/null
@@ -1 +0,0 @@
-/process/had/rdm/thresholdForVeryLongDecayTime 1.e+4 y 
diff --git a/Projects/Epic_sim_proto/U238.mac b/Projects/Epic_sim_proto/U238.mac
deleted file mode 100644
index f89f13d8e44d1e42f9ddc5b01fd59b0ec957b8f3..0000000000000000000000000000000000000000
--- a/Projects/Epic_sim_proto/U238.mac
+++ /dev/null
@@ -1 +0,0 @@
-/process/had/rdm/thresholdForVeryLongDecayTime 1.e+20 y 
diff --git a/Projects/Epic_sim_proto/root/simulation/ReadEpicSimulatedTree.C b/Projects/Epic_sim_proto/root/simulation/ReadEpicSimulatedTree.C
new file mode 100644
index 0000000000000000000000000000000000000000..7420457fb064eedd56405e64e46cc6f818cb4647
--- /dev/null
+++ b/Projects/Epic_sim_proto/root/simulation/ReadEpicSimulatedTree.C
@@ -0,0 +1,136 @@
+#include <iostream>
+#include <Riostream.h>
+
+#include <TROOT.h>
+#include <TObject.h>
+
+#include <TApplication.h>
+#include <TBranch.h>
+#include <TCanvas.h>
+#include <TChain.h>
+#include <TClass.h>
+#include <TFile.h>
+#include <TH1.h>
+#include <TTree.h>
+
+#include "TEpicData.h"
+
+#define DEBUG 0 
+#define Electron_Vdrift 11.0 //cm/us
+
+void run()
+{
+
+  // === input data
+  TChain * t = new TChain("SimulatedTree");
+  for (int i=0; i<25; i++){
+    //t->Add(Form("K11_alpha240Pu_window1us_%i.root",i+1));
+    t->Add(Form("/media/audrey/DATA1/EPIC/simulation/K11_alpha240Pu_window1us_%i.root",i+1));
+  }
+  //TFile *f = new TFile("K12_alpha240Pu.root", "read");
+  //if (!f || f->IsZombie()) {
+  //    std::cerr << "Erreur: Impossible d'ouvrir le fichier ROOT." << std::endl;
+  //    return;
+  //}
+  //TTree *t = (TTree*)f->Get("SimulatedTree");
+  //if (!t) {
+  //    std::cerr << "Erreur: Impossible de trouver SimulatedTree dans le fichier." << std::endl;
+  //    return;
+  //}
+
+
+  // === Initialize the data
+  TClass *epicClass = TClass::GetClass("TEpicData");
+  if (!epicClass) {
+      std::cerr << "ERROR: TEpicData Class is not loaded" << std::endl;
+      return;
+  }
+  TEpicData *m_Data = nullptr;
+  t->SetBranchAddress("Epic", &m_Data);
+
+
+  // === Histograms
+  
+  // alpha mult emitted in the gaseous section
+  TH1I * h1_multAlphaPerEvent = new TH1I("MultAlphaInSensitiveVolumePerEvent","MultAlphaInSensitiveVolumePerEvent",11,-0.5,10.5);
+  h1_multAlphaPerEvent->SetDirectory(0);
+
+  // Q1 in the time window
+  TH1D * h1_Q1PerMult[10];
+  for(unsigned short i = 0 ; i<10 ; i++){
+    h1_Q1PerMult[i] = new TH1D(Form("Q1_if_multIsEqualTo%i",i+1),
+                               Form("Q1_if_multIsEqualTo%i",i+1), 3000,0,300);
+    h1_Q1PerMult[i]->SetDirectory(0);
+    h1_Q1PerMult[i]->SetLineColor(1);
+    h1_Q1PerMult[i]->SetFillColor(i);
+  }
+
+  // influence per particle as a function of the time
+
+  // === Variables
+  double Q1tot;
+
+  // === ============================================================================
+  // === Loop over the entries
+  unsigned int nentries = t->GetEntries();
+  std::cout << "nentries = " << nentries << std::endl;
+#if DEBUG
+  for (unsigned int Entry = 0; Entry < 100; Entry++) {
+#else
+  for (unsigned int Entry = 0; Entry < nentries; Entry++) {
+#endif
+    int bytesRead = t->GetEntry(Entry);
+    if (bytesRead <= 0) {
+        std::cerr << "Error : GetEntry failed at Entry #" << Entry << std::endl;
+        continue;
+    }
+    if (!m_Data) {
+        std::cerr << "Error: m_Data is NULL at Entry #" << Entry << std::endl;
+        continue;
+    }
+   
+#if DEBUG
+    if(m_Data->GetMultiplicity()==0) continue;
+    cout << endl ; 
+    cout << "***********************************************" << endl;
+    cout << "@ Entry = " << Entry << ", mult = " << m_Data->GetMultiplicity() << endl;
+#endif
+
+    Q1tot = 0;
+    // loop over the particle multiplicity
+    for(unsigned short pmult=0; pmult<m_Data->GetMultiplicity(); pmult++){
+      Q1tot += m_Data->GetQ1(pmult);
+      int num_steps = m_Data->GetNumberOfSteps(pmult);
+#if DEBUG
+      cout << "TrackID #" << m_Data->GetTrackID(pmult) 
+           << " : Particle " << m_Data->GetParticleName(pmult) 
+           << " - nsteps = " << m_Data->GetNumberOfSteps(pmult) 
+           << " - emission time [ns] = " << m_Data->GetTime(pmult) 
+           << endl;
+      for(unsigned short smult=0; smult<m_Data->GetNumberOfSteps(pmult); smult++){
+          cout << "             step #" << smult << " : n_electrons = " << m_Data->GetNumElectronsPerStep(pmult).at(smult) << " created at " << m_Data->GetTimeCreationElectronsPerStep(pmult).at(smult) << endl;
+      }
+#endif
+    }// end of loop over the EventMult one mult per track
+    
+    if(m_Data->GetMultiplicity()>0 and m_Data->GetMultiplicity()<=10) h1_Q1PerMult[m_Data->GetMultiplicity()-1]->Fill(Q1tot);   
+    h1_multAlphaPerEvent->Fill(m_Data->GetMultiplicity());
+  }
+  // === End of loop over the entries
+  // === ============================================================================
+
+
+  //// === DRAW
+  TCanvas * can_multAlpha = new TCanvas("MultAlpha","MultAlpha",0,0,2000,1500);
+  h1_multAlphaPerEvent->Draw();
+
+  TCanvas * can_Q1 = new TCanvas("Q1","Q1",0,0,5000,2000);
+  can_Q1->Divide(5,2);
+  for(unsigned short i=0; i<10; i++){
+    can_Q1->cd(i+1);
+    h1_Q1PerMult[i]->Draw();
+  }
+
+
+
+}
diff --git a/Projects/MUGAST_LISE/Analysis.cxx b/Projects/MUGAST_LISE/Analysis.cxx
index 1dcdbe14ea49e885baaef00cb62d9cc52de892ea..0a2284fbbb1c810d6fb4ba0898c89299b83ddbe4 100644
--- a/Projects/MUGAST_LISE/Analysis.cxx
+++ b/Projects/MUGAST_LISE/Analysis.cxx
@@ -172,6 +172,7 @@ void Analysis::TreatEvent() {
     Energy = ELab = 0;
     Si_E_M2 = M2->Si_E[countMust2];
     CsI_E_M2 = M2->CsI_E[countMust2];
+    std::cout << CsI_E_M2 << std::endl;
 
     // if CsI
     if (CsI_E_M2 > 0) {
diff --git a/Projects/Minos/Analysis.cxx b/Projects/Minos/Analysis.cxx
index 07ed88ffdd8fe29f0fcca731124ff34d6791b026..c64f59517dfbed72308a9933a29e749989c64ea2 100644
--- a/Projects/Minos/Analysis.cxx
+++ b/Projects/Minos/Analysis.cxx
@@ -33,7 +33,7 @@ Analysis::~Analysis(){
 
 ////////////////////////////////////////////////////////////////////////////////
 void Analysis::Init(){
-   Minos= (TMinosPhysicsPhysics*) m_DetectorManager->GetDetector("Minos");
+   Minos= (TMinosPhysics*) m_DetectorManager->GetDetector("Minos");
 }
 
 ////////////////////////////////////////////////////////////////////////////////
diff --git a/Projects/Minos/Minos.detector b/Projects/Minos/Minos.detector
index f0e602accb370bb5acc31a3936b92618b000533f..4ba27ea8539ba4361e9e9d8ac5c62fc0fcb880e0 100644
--- a/Projects/Minos/Minos.detector
+++ b/Projects/Minos/Minos.detector
@@ -18,7 +18,7 @@ Minos
  ShapingTime= 333.9 ns
  BaseLine= 250
  Sampling= 10
- ZOffset= 0 mm
+ ZOffset= -4000 mm
  TargetZOffset= 0 mm
  ZRotation= 0 mm
  XML= ../S034/db/MINOS.xml
diff --git a/Projects/Nebula/Analysis.cxx b/Projects/Nebula/Analysis.cxx
index a6aafa1a0d0df13734fae153f55dc7d9c4c36ab6..05dec2bf9be54b2fbe9e1202c8deaf2f94292f10 100644
--- a/Projects/Nebula/Analysis.cxx
+++ b/Projects/Nebula/Analysis.cxx
@@ -24,6 +24,12 @@ using namespace std;
 #include"Analysis.h"
 #include"NPAnalysisFactory.h"
 #include"NPDetectorManager.h"
+#include "NPOptionManager.h"
+
+
+
+
+
 ////////////////////////////////////////////////////////////////////////////////
 Analysis::Analysis(){
 }
@@ -33,22 +39,65 @@ Analysis::~Analysis(){
 
 ////////////////////////////////////////////////////////////////////////////////
 void Analysis::Init(){
+  bool simulation = false;
+  if(NPOptionManager::getInstance()->HasDefinition("simulation"))
+    {
+      cout << "Considering input data as simulation" << endl; 
+      simulation=true;
+    }
+  
    Nebula= (TNebulaPhysics*) m_DetectorManager->GetDetector("NEBULA");
+
+   n  =NPL::Particle("neutron");
+   mn = n.Mass();
+
+  InitOutputBranch();
 }
 
 ////////////////////////////////////////////////////////////////////////////////
 void Analysis::TreatEvent(){
+  Clear();
+
+   if(Nebula->Charge.size()>0 && !Nebula->HasVeto()){
+        // Index of first neutron hit
+        unsigned int first = Nebula->GetFirstHit();
+        TVector3 Pfirst = (Nebula->GetPos(first));
+        double L = Pfirst.Mag();
+        Tn_n = Nebula->TOF[first];
+        Beta_n = (L/Tn_n)/NPUNITS::c_light;
+	Gamma_n = 1.0/(sqrt(1.0-(Beta_n*Beta_n)));
+	Etot_n = Gamma_n * mn;
+	Ec_n = (Gamma_n -1.0)*mn;	
+      }
+
 }
 
 ////////////////////////////////////////////////////////////////////////////////
 void Analysis::End(){
+
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void Analysis::Clear(){
+  Beta_n= -1000;
+  Tn_n=-1000;
+  Gamma_n =-1000;
+  Etot_n = -1000;
+  Ec_n= -1000;
 }
 
 
+
+void Analysis::InitOutputBranch() {
+  RootOutput::getInstance()->GetTree()->Branch("Beta_n",&Beta_n);
+  RootOutput::getInstance()->GetTree()->Branch("Ec_n",&Ec_n);
+}
+
 ////////////////////////////////////////////////////////////////////////////////
 //            Construct Method to be pass to the DetectorFactory              //
 ////////////////////////////////////////////////////////////////////////////////
 NPL::VAnalysis* Analysis::Construct(){
+  
   return (NPL::VAnalysis*) new Analysis();
 }
 
diff --git a/Projects/Nebula/Analysis.h b/Projects/Nebula/Analysis.h
index c9c09f4aa1eded4ad0b6d42fb4c228fea141edf6..db0f104932e57f61ccadc589176a4e0dbd4b349a 100644
--- a/Projects/Nebula/Analysis.h
+++ b/Projects/Nebula/Analysis.h
@@ -23,6 +23,12 @@
 
 #include"NPVAnalysis.h"
 #include"TNebulaPhysics.h"
+#include"NPEnergyLoss.h"
+#include "NPParticle.h"
+
+#include "TH1F.h"
+#include "TFile.h"
+
 class Analysis: public NPL::VAnalysis{
   public:
     Analysis();
@@ -33,10 +39,25 @@ class Analysis: public NPL::VAnalysis{
     void TreatEvent();
     void End();
 
-   static NPL::VAnalysis* Construct();
+    void InitOutputBranch();
+    static NPL::VAnalysis* Construct();
 
   private:
    TNebulaPhysics* Nebula;
 
+   private: // output variable
+    double Tn_n;
+    double Beta_n;
+    double Gamma_n;
+    double Etot_n;
+    double Ec_n;
+
+   private: // Energy loss table
+   NPL::Particle n;
+   double mn  ;
+
+  public:
+    void  Clear();
+
 };
 #endif
diff --git a/Projects/Nebula/Nebula.detector b/Projects/Nebula/Nebula.detector
index e81c5eb01b167184c302071078bf3317a05f6e12..eec64a761d5842cfd7472c690150b51d5aac3784 100644
--- a/Projects/Nebula/Nebula.detector
+++ b/Projects/Nebula/Nebula.detector
@@ -1,10 +1,11 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-Target
- THICKNESS= 0.49 cm
- RADIUS=	28 mm
- MATERIAL= Vacuum 
+%Target
+ THICKNESS= 0.01 cm
+ %RADIUS=	28 mm
+ RADIUS=	200 mm
+ MATERIAL= Vacuum
  ANGLE= 0 deg
- X= 3.5 cm
+ X= 0 cm
  Y= 0 mm
  Z= 0 mm
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -16,34 +17,73 @@ NEBULA
   InvertX= 0
   InvertY= 0
 
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %Samurai
-% POS= 0 0 0 mm
-% ANGLE= 30 deg
+ POS= 0 0 3900 mm
+ ANGLE= 30 deg
 % %
-% METHOD= 1				
+ METHOD= 0				
 % % 0=RungeKutta, 1=EliaOmar
-% FIELDMAP=3T.table.bin 
+ FIELDMAP= 3T.table.bin 
 % %fieldmap/3T.table.bin 		
 % % fieldmap path
-% STEPS_PER_METER= 1000
+ STEPS_PER_METER= 1000
+
+
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %SAMURAIFDC1
-% %XML= db/SAMURAIFDC0_20200109.xml
-% %Offset= -0.00666226 0.102191 -3370.01 mm
+  XML= db/SAMURAIFDC0_20200109.xml
+  Offset= -0.00666226 0.102191 -3370.01 mm
 % Offset= -0.00666226 0.102191 -4370.01 mm
-% %InvertX= 1 
-% %InvertY= 0
-% %InvertD= 1
-%
+  InvertX= 1 
+  InvertY= 0
+  InvertD= 1
+
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%SAMURAIFDC2
-% %XML= db/SAMURAIFDC2.xml
-% Offset= 1000 200 5000 mm
-% OffAngle= 59.930 deg
-% %-252.416 -0.228477 4122.57 mm
-% %InvertX= 0 
-% %InvertY= 1
-% %InvertD= 1
+%SAMURAIFDC1
+% Offset= -0.00666226 0.102191 -4370.01 mm
 
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%SAMURAIFDC2
+ % XML= db/SAMURAIFDC2.xml
+ % Offset= 1000 200 5000 mm
+  Offset= -252.416 -0.228477 7000.57 mm
+  OffAngle= 59.930 deg
+  InvertX= 0 
+  InvertY= 1
+  InvertD= 1
 
+%SAMURAIFDC0
+ % XML= db/SAMURAIFDC0_20200109.xml
+  %POS= 0 0 1000 mm 
+  %Offset= -0.00666226 0.102191 -4000.01 mm
+  Offset= -0.00666226 0.102191 -4370.01 mm
+  %Offset= -252.416 -0.228477 5000.57 mm
+  %OffAngle= 59.930 deg
+  InvertX= 1 
+  InvertY= 0
+  InvertD= 1
+  
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%NEULAND
+  XML= db/NEULAND.xml
+  Offset= 0 0 0 mm
+  InvertX= 0
+  InvertY= 0  
+  
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%Minos
+ %Position= 0.345399 1.02061 -4656.63 mm
+ Position= 0 0 0 mm
+ ZRotation= 40.6 deg
+ TargetLength= 151.72 mm
+ TargetZOffset= 0 mm 
+ ZOffset= 0 mm 
+ TargetMaterial= LH2 
+ CellMaterial= Mylar 
+ TPCOnly= 0 
+ TimeBin= 30 ns
+ ShapingTime= 333.9 ns
+ Baseline= 250
+ Sampling= 10
+ XML= db/MINOS.xml  
diff --git a/Projects/Nebula/db/NEBULA.xml b/Projects/Nebula/db/NEBULA.xml
index b7c0c667787e36cd3baed28bec73904c464e74a3..84329e270c8b9dbbafe6fddf8f75e2acff0a55c5 100755
--- a/Projects/Nebula/db/NEBULA.xml
+++ b/Projects/Nebula/db/NEBULA.xml
@@ -4264,7 +4264,7 @@
 <SubLayer>0</SubLayer>
 <PosX>-1522</PosX>
 <PosY>0</PosY>
-<PosZ>15004.8</PosZ>
+<PosZ>15024.8</PosZ>
 <TUCal>0.0676695</TUCal>
 <TUOff>0</TUOff>
 <TUSlw>40</TUSlw>
@@ -4328,7 +4328,7 @@
 <SubLayer>0</SubLayer>
 <PosX>-902</PosX>
 <PosY>0</PosY>
-<PosZ>15004.8</PosZ>
+<PosZ>15024.8</PosZ>
 <TUCal>0.0682021</TUCal>
 <TUOff>0</TUOff>
 <TUSlw>40</TUSlw>
@@ -4392,7 +4392,7 @@
 <SubLayer>0</SubLayer>
 <PosX>-282</PosX>
 <PosY>0</PosY>
-<PosZ>15004.8</PosZ>
+<PosZ>15024.8</PosZ>
 <TUCal>0.0679071</TUCal>
 <TUOff>0</TUOff>
 <TUSlw>40</TUSlw>
@@ -4456,7 +4456,7 @@
 <SubLayer>0</SubLayer>
 <PosX>338</PosX>
 <PosY>0</PosY>
-<PosZ>15004.8</PosZ>
+<PosZ>15024.8</PosZ>
 <TUCal>0.0676573</TUCal>
 <TUOff>0</TUOff>
 <TUSlw>40</TUSlw>
@@ -4520,7 +4520,7 @@
 <SubLayer>0</SubLayer>
 <PosX>958</PosX>
 <PosY>0</PosY>
-<PosZ>15004.8</PosZ>
+<PosZ>15024.8</PosZ>
 <TUCal>0.0686263</TUCal>
 <TUOff>0</TUOff>
 <TUSlw>40</TUSlw>
@@ -4584,7 +4584,7 @@
 <SubLayer>0</SubLayer>
 <PosX>1578</PosX>
 <PosY>0</PosY>
-<PosZ>15004.8</PosZ>
+<PosZ>15024.8</PosZ>
 <TUCal>0.0673654</TUCal>
 <TUOff>0</TUOff>
 <TUSlw>40</TUSlw>
@@ -4608,6 +4608,7 @@
 <qd_ch>27</qd_ch>
 <Ignore>0</Ignore>
 </NEBULA>
+<!--
 <NEBULA>
 <ID>145</ID>
 <NAME>NoUse1</NAME>
@@ -5632,4 +5633,5 @@
 <qd_ch>-1</qd_ch>
 <Ignore>0</Ignore>
 </NEBULA>
+-->
 </dataroot>
diff --git a/Projects/Nebula/db/NEBULA2BARS.xml b/Projects/Nebula/db/NEBULA2BARS.xml
index dc6de7026a56590c99f8143c2fdb5b953bc94dad..47b7469db265c4071b3d434b941601fceca6eef5 100755
--- a/Projects/Nebula/db/NEBULA2BARS.xml
+++ b/Projects/Nebula/db/NEBULA2BARS.xml
@@ -64,4 +64,36 @@
 <qd_ch>0</qd_ch>
 <Ignore>0</Ignore>
 </NEBULA>
+<NEBULA>
+<ID>3</ID>
+<NAME>103</NAME>
+<FPl>13</FPl>
+<Layer>1</Layer>
+<SubLayer>1</SubLayer>
+<PosX>0</PosX>
+<PosY>0</PosY>
+<PosZ>1242</PosZ>
+<TUCal>1</TUCal>
+<TUOff>0</TUOff>
+<TUSlw>0</TUSlw>
+<QUCal>0.0278832</QUCal>
+<QUPed>176.884</QUPed>
+<TDCal>1</TDCal>
+<TDOff>0</TDOff>
+<TDSlw>0</TDSlw>
+<QDCal>0.0278832</QDCal>
+<QDPed>211.422</QDPed>
+<DTCal>94.87</DTCal>
+<DTOff>0</DTOff>
+<TAveOff>-4.743</TAveOff>
+<tu_geo>11</tu_geo>
+<tu_ch>0</tu_ch>
+<qu_geo>21</qu_geo>
+<qu_ch>0</qu_ch>
+<td_geo>12</td_geo>
+<td_ch>0</td_ch>
+<qd_geo>22</qd_geo>
+<qd_ch>0</qd_ch>
+<Ignore>0</Ignore>
+</NEBULA>
 </dataroot>
diff --git a/Projects/Nebula/macro/GetTBrowser.C b/Projects/Nebula/macro/GetTBrowser.C
index 70d5948c8268d3caad5c7addd425265011454c47..0b2737ca297be597d5a788bf45f88752bcd0df15 100644
--- a/Projects/Nebula/macro/GetTBrowser.C
+++ b/Projects/Nebula/macro/GetTBrowser.C
@@ -1,9 +1,14 @@
+
+
 void GetTBrowser(){
   
   TH1F *h1 = new TH1F("h1","Somme des Temps",100,-4,4);
 
   TFile* f = TFile::Open("root/simulation/SimulatedTree.root");
+  
   TTree *t = (TTree*)f->Get("SimulatedTree");
+
+ 
   TBranch *b = (TBranch*)t->GetBranch("Nebula");
   TLeaf *tu = b->GetLeaf("fNebula_Tu_Time");
   //Float_t td;
@@ -16,4 +21,8 @@ void GetTBrowser(){
     //sum += td;
     h1->Fill(sum);
   }
+
+
+  h1->Draw();
+  
 }
diff --git a/Projects/Nebula/macro/draw/PositionZ.C b/Projects/Nebula/macro/draw/PositionZ.C
index c2624a21a9571e3031f9d126bd5d6457b2922034..b400d6b079a8a7d9a6b417668f6dc79a5df15ae3 100644
--- a/Projects/Nebula/macro/draw/PositionZ.C
+++ b/Projects/Nebula/macro/draw/PositionZ.C
@@ -1,20 +1,26 @@
-#include "/local/lemair/nptool/NPLib/Detectors/Nebula/TNebulaPhysics.h"
+//#include "/local/lemair/nptool/NPLib/Detectors/Nebula/TNebulaPhysics.h"
 #include <iostream>     // std::cout
 #include <algorithm>    // std::find
 #include <vector>   
-
+#include "TFile.h"
+#include "TCanvas.h"
+#include "TH1F.h"
+#include "TTree.h"
+#include "TBranch.h"
 
 void PositionZ(){
   TFile* f = TFile::Open("root/simulation/SimulatedTree.root");
+ 
+ 
   TTree* t = (TTree*)f->Get("SimulatedTree");
   TCanvas *c1 = new TCanvas("c1","Position Z",1080,720);
 
   vector<double>* PosZ;
   int vec_size;
   TBranch* branch;
-  
-  TH1F *h = new TH1F("h","Position Z",2400,10800,12200);
-  t->SetBranchAddress("Pos_Z", &PosZ, &branch);
+   
+  TH1F *h = new TH1F("h","Position Z",2400,10800,16000);
+  t->SetBranchAddress("Nebula.PosZ", &PosZ, &branch);
   
   int nentries = t->GetEntries();
   for(int i=0 ; i<nentries ; i++){
@@ -25,5 +31,6 @@ void PositionZ(){
   }
   
   h->Draw("SAME");
+  
 }
  
diff --git a/Projects/Nebula/reaction/7Li_p_n_7Be.reaction b/Projects/Nebula/reaction/7Li_p_n_7Be.reaction
index 43d6df9b32322d62dea72c02a0e99a28769b28b4..e802dac62b0330fc2c7f0843287fa2b665b1732d 100644
--- a/Projects/Nebula/reaction/7Li_p_n_7Be.reaction
+++ b/Projects/Nebula/reaction/7Li_p_n_7Be.reaction
@@ -3,14 +3,15 @@ Beam
  Particle= p
  Energy= 196 MeV
  SigmaEnergy= 0 MeV
- SigmaThetaX= 1 deg
- SigmaPhiY= 1 deg
- SigmaX= 5 mm
- SigmaY= 5 mm
+ SigmaThetaX= 0 deg
+ SigmaPhiY= 0 deg
+ SigmaX= 0 mm
+ SigmaY= 0 mm
  MeanThetaX= 0 deg
  MeanPhiY= 0 deg
  MeanX= 0 mm
  MeanY= 0 mm
+ ZEmission= -100 mm
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 TwoBodyReaction
@@ -21,6 +22,8 @@ TwoBodyReaction
  ExcitationEnergyLight= 0.0 MeV
  ExcitationEnergyHeavy= 0.43 MeV
  CrossSectionPath= flat.txt CSR
- ShootLight= 0
- ShootHeavy= 0
+ ShootLight= 1
+ ShootHeavy= 1
+ %HalfOpenAngleMin= -5 deg
+ %HalfOpenAngleMax= 5 deg
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/Projects/Nebula/reaction/SimpleNeutrons.reaction b/Projects/Nebula/reaction/SimpleNeutrons.reaction
index 604767b04eb4de424d5c33aa12d44a8700385ef9..dd60ba285cbf5e3767778e8a213f15f5d6c55c8e 100755
--- a/Projects/Nebula/reaction/SimpleNeutrons.reaction
+++ b/Projects/Nebula/reaction/SimpleNeutrons.reaction
@@ -3,8 +3,8 @@ Beam
  Particle= n 
  Energy= 150 MeV
  SigmaEnergy= 0 MeV
- SigmaThetaX= 1.5 deg
- SigmaPhiY= 1.5 deg
+ SigmaThetaX= 5 deg
+ SigmaPhiY= 5 deg
  SigmaX= 0 cm
  SigmaY= 0 cm
  MeanThetaX= 0 deg
diff --git a/Projects/PISTA/PISTA.detector b/Projects/PISTA/PISTA.detector
deleted file mode 100644
index 8b8aa25d53e90fb32d517840cb31e7b6a5ba2cb9..0000000000000000000000000000000000000000
--- a/Projects/PISTA/PISTA.detector
+++ /dev/null
@@ -1,137 +0,0 @@
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-Target
- THICKNESS= 0.44 micrometer
- RADIUS= 20 mm
- MATERIAL= C
- ANGLE= 0 deg
- X= 0 mm
- Y= 0 mm
- Z= 0 mm
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-PISTA
- R= 100 mm
- THETA= 39 deg
- PHI= 315 deg
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-PISTA
- R= 100 mm
- THETA= 39 deg
- PHI= 270 deg
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-PISTA
- R= 100 mm
- THETA= 39 deg
- PHI= 225 deg
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-PISTA
- R= 100 mm
- THETA= 39 deg
- PHI= 180 deg
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-PISTA
- R= 100 mm
- THETA= 39 deg
- PHI= 135 deg
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-PISTA
- R= 100 mm
- THETA= 39 deg
- PHI= 90 deg
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-PISTA
- R= 100 mm
- THETA= 39 deg
- PHI= 45 deg
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-PISTA
- R= 100 mm
- THETA= 39 deg
- PHI= 0 deg
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Vamos Configuration
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%Vamos
-% R= 0.3 m
-% Theta= 0 deg 
-%
-%Vamos DC
-% Z= 60 mm
-% Gas= iC4H10
-% Pressure= 0.01 bar  
-% Temperature= 295 kelvin
-% 
-%Vamos DC
-% Z= 200 mm
-% Gas= iC4H10
-% Pressure= 0.01 bar  
-% Temperature= 295 kelvin 
-%
-%Vamos BeamCatcher 
-% Material= BC400 
-% Width= 30 mm
-% Length= 80 mm
-% Thickness= 30 mm
-% Pos= 0 0 600 mm
-%
-%Vamos MWPPAC
-% Z= 750 mm
-% Gas= iC4H10
-% Pressure= 0.01 bar
-% Temperature= 295 kelvin
-%
-%Vamos DC
-% Z= 940 mm
-% Gas= iC4H10
-% Pressure= 0.01 bar
-% Temperature= 295 kelvin
-%
-%Vamos DC
-% Z= 1060 mm
-% Gas= iC4H10
-% Pressure= 0.01 bar
-% Temperature= 295 kelvin
-%
-%Vamos IC 
-% Z= 1200 mm 
-% Thickness= 50 mm 
-% Gas= CF4
-% Pressure= 0.2 bar
-% Temperature= 295 kelvin
-%
-%Vamos IC 
-% Z= 1250 mm 
-% Thickness= 50 mm 
-% Gas= CF4
-% Pressure= 0.2 bar
-% Temperature= 295 kelvin
-%
-%Vamos IC 
-% Z= 1300 mm 
-% Thickness= 50 mm 
-% Gas= CF4
-% Pressure= 0.2 bar
-% Temperature= 295 kelvin
-%
-%Vamos IC 
-% Z= 1375 mm 
-% Thickness= 100 mm 
-% Gas= CF4
-% Pressure= 0.2 bar
-% Temperature= 295 kelvin
-%
-%Vamos IC 
-% Z= 1525 mm 
-% Thickness= 200 mm 
-% Gas= CF4
-% Pressure= 0.2 bar
-% Temperature= 295 kelvin
-%
-%Vamos IC 
-% Z= 1725 mm 
-% Thickness= 200 mm 
-% Gas= CF4
-% Pressure= 0.2 bar
-% Temperature= 295 kelvin
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/Projects/S034/Analysis.cxx b/Projects/S034/Analysis.cxx
index b3ab208c767f7860dacd0e2dc3d70e1fab1e8722..095774b6c4cf05527ad63cd6d5c9a04b647109c5 100644
--- a/Projects/S034/Analysis.cxx
+++ b/Projects/S034/Analysis.cxx
@@ -9,7 +9,7 @@
  * Original Author: A. Matta contact address: matta@lpccaen.in2p3.fr         *
  *                                                                           *
  * Creation Date  : May 2021                                                 *
- * Last update    :                                                          *
+ * Last update    : October 2024                                             *
  *---------------------------------------------------------------------------*
  * Decription:                                                               *
  *  This class describe  S034 analysis project                               *
@@ -30,8 +30,16 @@ using namespace std;
 #include"RootOutput.h"
 #include"NPParticle.h"
 
+#include"NPOptionManager.h"
+
+#include "TROOT.h"
+
+//thetaX angle dans le plan XZ
+//PhiY angle dans le plan YZ
+
 ////////////////////////////////////////////////////////////////////////////////
-Analysis::Analysis(){
+Analysis::Analysis()
+{
 }
 ////////////////////////////////////////////////////////////////////////////////
 Analysis::~Analysis(){
@@ -40,203 +48,629 @@ Analysis::~Analysis(){
 ////////////////////////////////////////////////////////////////////////////////
 void Analysis::Init(){
 
-  Plastic= (TBigRIPSPlasticPhysics*) m_DetectorManager->GetDetector("BigRIPSPlastic");
-  Minos= (TMinosPhysics*) m_DetectorManager->GetDetector("Minos");
-  Nebula = (TNebulaPhysics*) m_DetectorManager->GetDetector("NEBULA");
-  BDC = (TSamuraiBDCPhysics*) m_DetectorManager->GetDetector("SAMURAIBDC");
-  FDC0 = (TSamuraiFDC0Physics*) m_DetectorManager->GetDetector("SAMURAIFDC0");
-  FDC2 = (TSamuraiFDC2Physics*) m_DetectorManager->GetDetector("SAMURAIFDC2");
-  Hodo = (TSamuraiHodoscopePhysics*) m_DetectorManager->GetDetector("SAMURAIHOD");
-
-  Nebula->SetQThreshold(0);
-  Nebula->SetVThreshold(0);
-
-  FragmentTarget = NPL::EnergyLoss("He6_LH2.G4table","G4Table",1000 );
-  m_field.LoadMap(30*deg,"field_map/180702-2,40T-3000.table.bin",10);
-  m_field.SetFDC2Angle((59.930-90.0)*deg);
-  m_field.SetFDC2R(FDC2->GetOffset().Z());
-  InitOutputBranch();
-  InitInputBranch();
-  // for fdc/bdc alignement
-  //file.open("Calibration/Pos/bdc.txt");
-  He4=NPL::Particle("4He");
-  He6=NPL::Particle("6He");
+  EventInCut = false;
+  CompleteAnalysis = false;
+
+  //--------------------> Boolean initialisation <-----------------//
+  std::string tree_name = RootInput::getInstance()->GetChain()->GetName();
+  if(tree_name=="SimulatedTree"){
+    IsSimulation =true;
+    cout << "--------------->>> Analysing SIMULATED data <<<---------------" << endl;
+  }
+  else{
+    IsSimulation =false;
+    cout << "--------------->>> Analysing EXPERIMENT data <<<---------------" << endl;
+  }
+
+
+  
+  //Create 2 files (1st with FDC0, FDC2 and Minos hit positions and 2nd with BDC1, BDC2 and Minos hit positions for FDC/BDC alignment)
+  if(NPOptionManager::getInstance()->HasDefinition("alignment_file")){
+    CreateAlignmentFile = true;
+    cout << "--------------->>> Producing a data file for aligmnent <<<---------------" << endl;
+  }
+  else CreateAlignmentFile = false;
+
+
+  
+  if(!NPOptionManager::getInstance()->HasDefinition("detector_resolution")){
+     cout << "--------------->>> Analysing for all detectors <<<-------------" << endl;
+     CompleteAnalysis = true;
+ 
+     //Detectors only for experimental data
+     if(!IsSimulation)
+       {
+	 Plastic = (TBigRIPSPlasticPhysics*) m_DetectorManager->GetDetector("BigRIPSPlastic");
+	 Hodo = (TSamuraiHodoscopePhysics*) m_DetectorManager->GetDetector("SAMURAIHOD");
+       }
+
+     //Other detectors for both analysis and simulation
+     Minos= (TMinosPhysics*) m_DetectorManager->GetDetector("Minos");
+     BDC = (TSamuraiBDCPhysics*) m_DetectorManager->GetDetector("SAMURAIBDC");
+     FDC0 = (TSamuraiFDC0Physics*) m_DetectorManager->GetDetector("SAMURAIFDC0");
+     FDC2 = (TSamuraiFDC2Physics*) m_DetectorManager->GetDetector("SAMURAIFDC2");
+     //Nebula = (TNebulaPhysics*) m_DetectorManager->GetDetector("NEBULA");
+     
+     // Nebula->SetQThreshold(0); //????
+     // Nebula->SetVThreshold(0); //????
+     
+     ////////// Field loading //////////
+     // m_field.LoadMap(30*deg,"field_map/180702-2,40T-3000.table.bin",10);
+     // m_field.SetFDC2Angle((59.930-90.0)*deg);
+     // m_field.SetFDC2R(FDC2->GetOffset().Z());
+
+     TargetLength = Minos->GetTargetLength(); //mm
+     MinosPosition = Minos->GetMinosPosition(); //mm lab reference frame (Minos entrance)
+     Minos_InZ = MinosPosition.Z();
+     Minos_OutZ = MinosPosition.Z() + TargetLength;
+  }
+
+  //Detectors only in simulation
+  if(IsSimulation)
+    {
+      //NeuLAND = (TNeuLANDPhysics*) m_DetectorManager->GetDetector("NeuLAND");
+      Initial_Conditions=new TInitialConditions();
+    }
+
+  // if(!IsSimulation)
+  //   {
+  //     Minos= (TMinosPhysics*) m_DetectorManager->GetDetector("Minos");
+  //   }
+
+  
+
+  //setup information
+  LengthF7F13 = 36576.5; //mm
+  
+  ////////// He4 Energy loss in target //////////
+  // FragmentTarget = NPL::EnergyLoss("He4_LH2.G4table","G4Table",1000 );
+  
+  // He4=NPL::Particle("4He");
   He8=NPL::Particle("8He");
-  He8.SetBeta(0.5152);
-  n  =NPL::Particle("neutron");
-  mhe6 = He6.Mass();
-  mn   = n.Mass();
-  sumM= mhe6+mn;
+  //He8.SetBeta(0.5152); // expected value
+  He8.SetBeta(0.5152); // expected value
+  mHe8 = He8.Mass();
+  // n  = NPL::Particle("neutron");
+  // mhe4 = He4.Mass();
+  // mn   = n.Mass();
+  // sumM= mhe4+mn;
+
+  // Text file for alignment
+  
+  countLimitAlignment = 10000;
+  if(CreateAlignmentFile){
+    countAlignment = 0;
+    fileBDC.open("Calibration/Pos/bdc.txt");
+    fileFDC.open("Calibration/Pos/fdc.txt");
+  }
+  
+  
+  InitInputBranch();
+  InitOutputBranch();
+  LoadCuts();
+  
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void Analysis::LoadCuts(){
+  
+  std::unique_ptr<TFile> myFile( TFile::Open("cut/Cut_Beam.root") );
+  cut_Beam = myFile->Get<TCutG>("Cut_Beam");
+
+  myFile.reset();
 }
 
 ////////////////////////////////////////////////////////////////////////////////
 void Analysis::TreatEvent(){
-  Clear();
+ if(!CompleteAnalysis) return;
   
-  static TLorentzVector LVHe6;
-  static TLorentzVector LVn;
-  Trigger=Trigger&0x00ff;
-
-
-  // BigRIPS plastic
-  double TF5=-1;
-  double TF13=-1;
-  double TF7=-1;
-  double TOF_F5F13=-1;
-  double TOF_F7F13=-1;
-  unsigned int sizeP = Plastic->FP.size();
-  for(unsigned int i = 0 ; i < sizeP ; i++){
-    if(Plastic->FP[i]==5){
-      TF5=Plastic->TSlew[i];
-    }
-    else if(Plastic->FP[i]==13&&Plastic->ID[i]==4){// two plastic at F13 taking only one
-      TF13=Plastic->TSlew[i];
-    }
-    else if(Plastic->FP[i]==7){
-      TF7=Plastic->TSlew[i];
-    }
-  }
+ Clear();
+ //cout << CreateAlignmentFile << endl;
+ Trigger=log(Trigger&0x00ff)/log(2.0);
+ // static TLorentzVector LVHe4;
+ // static TLorentzVector LVn;
+ // static TLorentzvector LVBeam;
 
-  if(TF7>0 && TF13>0){
-    // offset is adjusted to give the expected beta
-    TOF_F7F13=TF13-TF7+6.71626e+02;
-    static double LengthF7F13 = 117915-66409;
-    Beta_b=(LengthF7F13/TOF_F7F13)/NPUNITS::c_light;
-    // to find offset:
-    //Beta_b=TOF_F7F13-LengthF7F13/He8.GetVelocity();
-  }
-  // Samurai-Minos
-  if( Beta_b>0.5140  && Beta_b < 0.5165 // Correct Beta
-      && Hodo->Charge.size()==1 && Hodo->Charge[0]>28 && Hodo->Charge[0]<42 && Hodo->Time[0]>58 && Hodo->Time[0]<68 // 6He in Hodo->cope
-      && FDC2->PosX>-1500 && FDC2->PosX<1000 
-      && FDC2->PosY>-500 && FDC2->PosY<500 
-      && FDC0->PosX>-80 && FDC0->PosX<80 
-      && FDC0->PosY>-80 && FDC0->PosY<80 // both FDC ok
-      && Minos->Tracks_P0.size()==1     ) {  // p,pn only
-    // Compute ThetaX and PhiY using Minos vertex and FDC0 X
-    // Check if both BDC are reconstructed
-    TVector3 BDC1=BDC->GetPos(1);
-    TVector3 BDC2=BDC->GetPos(2);
-    if( BDC1.Z()!=-10000 && BDC2.Z()!=-10000){
-      TVector3 Vertex,delta;
-      TVector3 P1 = Minos->Tracks_P0[0]+Minos->Tracks_Dir[0];
-
-      // Vertex in Samurai Reference frame 
-      MinimumDistanceTwoLines(BDC1,BDC2, 
-          Minos->Tracks_P0[0], P1,
-          Vertex, delta) ;
+ ////// BigRIPS plastic //////
+ double TF3= -1;
+ double TF5=-1;
+ double TF7=-1;
+ double TF13_P1=-1;
+ double TF13_P2 = -1;
+ 
+ unsigned int sizeP = Plastic->FP.size();
+ if(!IsSimulation){
+     for(unsigned int i = 0 ; i < sizeP ; i++){
      
-      TVector3 FDC0_Dir= FDC0->GetPos()-Vertex;
-      FDC0_Dir=FDC0_Dir.Unit();
-      TVector3 BDCDir=BDC2-BDC1;
-      BDCDir=BDCDir.Unit();
-      BDCDir*=(Vertex.Z()-BDC2.Z())/BDCDir.Z();
-      BDCX=(BDC2+BDCDir).X();
-      BDCY=(BDC2+BDCDir).Y();
-
-      // XYZ relative to Minos entrance
-      X=Vertex.X();
-      Y=Vertex.Y();
-      Z=Vertex.Z()+4650;
-
-      // Fragment analysis 
-      if(FDC0_Dir.Z()>0.6 && Z>0 && Z<150 && sqrt(X*X+Y*Y)<15){
-        double FDC0_ThetaX = atan((FDC0->PosX-Vertex.X())/(1254.39-Z));
-        double FDC0_PhiY   = atan((FDC0->PosY-Vertex.Y())/(1254.39-Z));
-        Brho=m_field.FindBrho(FDC0->GetPos(),FDC0_Dir,FDC2->GetPos(),TVector3(0,0,1));
-        He6.SetBrho(Brho);
-        double Energy = He6.GetEnergy();
-        if(Energy){
-          Energy=FragmentTarget.EvaluateInitialEnergy(Energy,150-Z,FDC0_Dir.Angle(TVector3(0,0,1)));
-          He6.SetKineticEnergy(Energy);
-          Beta_f=He6.GetBeta();
-          LVHe6.SetVectM(TVector3(0,0,0),mhe6);
-          LVHe6.Boost(Beta_f*FDC0_Dir.Unit());
-        }
+       if(Plastic->FP[i]==3) TF3=Plastic->TSlew[i];
+       else if(Plastic->FP[i]==5) TF5=Plastic->TSlew[i];
+       else if(Plastic->FP[i]==7) TF7=Plastic->TSlew[i];   
+       else if(Plastic->FP[i]==13 && Plastic->ID[i]==4){// two plastic at F13 taking the 1st one
+	 TF13_P1= Plastic->TSlew[i];
+	 Charge_F13_P1 = sqrt(Plastic->QL[i]*Plastic->QR[i]);       
+       }  
+       else if(Plastic->FP[i]==13 && Plastic->ID[i]==5){// two plastic at F13 taking the 2nd one
+	 TF13_P2= Plastic->TSlew[i];
+	 Charge_F13_P2 = sqrt(Plastic->QL[i]*Plastic->QR[i]);       
+       }
+       
+       if((Plastic->FP[i]==3||Plastic->FP[i]==5||Plastic->FP[i]==7||Plastic->FP[i]==13) && Plastic->multiHit[i]>0) MultiHit_PlasticBeam = true;  
+       //if((Plastic->FP[i]==3||Plastic->FP[i]==5||Plastic->FP[i]==7||Plastic->FP[i]==13||Plastic->FP[i]==63) && Plastic->multiHit[i]>0) MultiHit_PlasticBeam = true;
+     } // end for loop on sizeP
+     
+   Charge_F13_P1P2 = sqrt(sqrt((Charge_F13_P1*Charge_F13_P1)*(Charge_F13_P2*Charge_F13_P2)));
+      
+   // plastic 1 and 2
+   if(TF7>0 && TF13_P1>0 && TF13_P2>0){
+     static double Offset_TOF_F7F13_P1P2 = 102.6; //xml file samuraiplastic.s034.2.xml
+     //Offset_TOF_F7F13_P1P2 = 0.0;
+     
+     double TF13_P1P2 = (TF13_P1 + TF13_P2)/2.0;
+     // to find offset:
+     Beam_Offset_TOF = -(TF13_P1P2-TF7)-LengthF7F13/He8.GetVelocity();
+     //cout<< He8.GetBeta()<< endl;
+     //cout << He8.GetEnergy() << endl;
+     
+     TOF_F7F13_P1P2= -(TF13_P1P2-TF7) - Offset_TOF_F7F13_P1P2;
+     Beta_F7F13_P1P2=(LengthF7F13/TOF_F7F13_P1P2)/NPUNITS::c_light;
+     Beam_Beta = Beta_F7F13_P1P2;
+     He8.SetBeta(Beam_Beta);
+   }// end plastic 1 and 2
+   
+ } // end if simulation == false
+
+ if(IsSimulation) {
+   He8.SetKineticEnergy(Initial_Conditions->GetIncidentInitialKineticEnergy());
+   Beam_Beta = He8.GetBeta();
+ }
+
+ Beam_Gamma = 1/sqrt(1-(Beam_Beta*Beam_Beta));
+ Beam_P = Beam_Beta * Beam_Gamma * mHe8;
+ 
+ // event selection
+ if((!IsSimulation && TMath::IsInside(TOF_F7F13_P1P2,Charge_F13_P1P2,cut_Beam->GetN(),cut_Beam->GetX(),cut_Beam->GetY())) || IsSimulation) EventInCut = true;
+
+ //BDC
+ MultBDC = BDC->GetMult();
+ BDC1_PileUp = BDC->GetPileUpDet(1);
+ BDC2_PileUp = BDC->GetPileUpDet(2);
+ 
+ //Minos
+ Minos_TrackNbr = Minos->GetNbrOfTracks();
+
+ //FDC0
+ FDC0_PileUp = FDC0->GetPileUp();
+
+ //Hodoscope
+ if(IsSimulation) HodoMult = 1;
+ else HodoMult = Hodo->GetMult();
+
+
+
+
+
+
+
+ // if (MultBDC>=2)
+ // cout << Beam_Beta << "  " << MultBDC << "   " << BDC1_PileUp << "   " << BDC2_PileUp << "   " << Minos_TrackNbr << "     " << FDC0_PileUp << "     " << HodoMult << endl;
+
+ //Samurai-Minos
+ if(EventInCut && Beam_Beta > 0.512 && Beam_Beta < 0.518 && MultBDC==2/*  && BDC1_PileUp==0 && BDC2_PileUp==0*/ /*&& (Minos_TrackNbr==1 || Minos_TrackNbr==2) &&*/ /*FDC0_PileUp==0 &&*/ /*(HodoMult==1 || HodoMult== 2)*/){ // selection for simulation and experimental data
+
+   // Beam and BDC
+   BDC1_Pos = BDC->GetPos(1);
+   BDC1_X = BDC1_Pos[0];
+   BDC1_Y = BDC1_Pos[1];
+   BDC1_Z = BDC1_Pos[2];
+
+   BDC2_Pos = BDC->GetPos(2);
+   BDC2_X = BDC2_Pos[0];
+   BDC2_Y = BDC2_Pos[1];
+   BDC2_Z = BDC2_Pos[2];
+
+   BDCs_Dir = (BDC2_Pos - BDC1_Pos).Unit();
+ 
+   Beam_Px = BDCs_Dir.X()*Beam_P;
+   Beam_Py = BDCs_Dir.Y()*Beam_P;
+   Beam_Pz = BDCs_Dir.Z()*Beam_P;
+
+   Beam_KE_Tot = He8.GetEnergy();
+   Beam_KE = (He8.GetEnergy())/(He8.GetA()); // Kinetic Energy by nucleon
+
+   Beam_Theta = BDCs_Dir.Angle(TVector3(0.0,0.0,1.0))*180.0/TMath::Pi();
+
+   Beam_ThetaX = atan2(BDC2_X-BDC1_X,BDC2_Z-BDC1_Z);
+   Beam_ThetaY = atan2(BDC2_Y-BDC1_Y,BDC2_Z-BDC1_Z);
+   
+   // if(IsSimulation) return;
+   
+   //Minos
+   if(Minos_TrackNbr==1){
+     Minos_Track1P0 = Minos->GetTracksP0(0);
+     Minos_Track1Dir = Minos->GetTracksDir(0);
+     Minos_DistMin = MinimumDistanceTwoLines(Minos_Track1P0, Minos_Track1P0 + Minos_Track1Dir, BDC1_Pos, BDC1_Pos + BDCs_Dir, Minos_Vertex, Minos_Delta);
+   }
+
+   else if(Minos_TrackNbr==2){
+     Minos_Vertex = Minos->GetVertex();
+     Minos_DistMin = Minos->GetDeltaVertex();
+     Minos_TwoProtonAngle = Minos->GetTheta12();
+   }
+   
+   Minos_Vertex_X = Minos_Vertex.X();
+   Minos_Vertex_Y = Minos_Vertex.Y();
+   Minos_Vertex_Z = Minos_Vertex.Z();
+   //   cout << Minos_Vertex_X << "   " << Minos_Vertex_Y << "   " << Minos_Vertex_Z << endl;
+   Minos_RVertex = sqrt( Minos_Vertex_X* Minos_Vertex_X + Minos_Vertex_Y*Minos_Vertex_Y);
+
+   Minos_Vertex_InDet = Minos_Vertex - MinosPosition;
+   Minos_Vertex_XInDet = Minos_Vertex_InDet.X();
+   Minos_Vertex_YInDet = Minos_Vertex_InDet.Y();
+   Minos_Vertex_ZInDet = Minos_Vertex_InDet.Z();
+
+   BDC_XVertex = BDCs_Dir.X() * ((Minos_Vertex_Z - BDC1_Z)/BDCs_Dir.Z()) + BDC1_X;
+   BDC_YVertex = BDCs_Dir.Y() * ((Minos_Vertex_Z - BDC1_Z)/BDCs_Dir.Z()) + BDC1_Y;
+ 
+   //FDC0
+   FDC0_Pos = FDC0->GetPos();
+   FDC0_X = FDC0_Pos.X();
+   FDC0_Y = FDC0_Pos.Y();
+   FDC0_Z = FDC0_Pos.Z();
+
+   Fragment_TrackDir = (FDC0_Pos - Minos_Vertex).Unit();
+
+   Minos_Out = Minos_Vertex + ((Minos_OutZ - Minos_Vertex_Z)/Fragment_TrackDir.Z())*Fragment_TrackDir;
+   Minos_OutX = Minos_Out.X();
+   Minos_OutY = Minos_Out.Y();
+   Minos_ROut = sqrt(Minos_OutX*Minos_OutX + Minos_OutY*Minos_OutY);
+   
+   Minos_PathFragment = Minos_Vertex - Minos_Out;
+   Minos_DistFragment = Minos_PathFragment.Mag();
+
+   Minos_In = BDC1_Pos + ((Minos_InZ - BDC1_Z)/BDCs_Dir.Z())*BDCs_Dir;
+   Minos_InX = Minos_In.X();
+   Minos_InY = Minos_In.Y();
+   Minos_RIn = sqrt(Minos_InX*Minos_InX + Minos_InY*Minos_InY);
+   
+   //FDC2
+   FDC2_Pos = FDC2->GetPos();
+   FDC2_X = FDC2_Pos.X();
+   FDC2_Y = FDC2_Pos.Y();
+   FDC2_Z = FDC2_Pos.Z();
+   
+   
+   //Hodoscope
+   // position extrapolée de la fdc2 vers l'hodoscope
+   
+
+   
+   // creation of files fdc.txt and bdc.txt with BDCs, Minos and FDCs hit positions
+   // cout << CreateAlignmentFile << endl;
+   
+   if(CreateAlignmentFile) FillAlignmentFiles();
+   }
+
+ 
+ // TVector3 Beam_Boost;
+
+  // // Samurai-Minos
+  // if( Beam_Beta>0.5140  && Beam_Beta < 0.5165 // Correct Beta
+  //     && Hodo->Charge.size()==1 && Hodo->Charge[0]>28 && Hodo->Charge[0]<42 && Hodo->Time[0]>58 && Hodo->Time[0]<68 // 6He in Hodo->cope ----------->>>>>>>> à changer pour He4
+  //     && FDC2->PosX>-1500 && FDC2->PosX<1000 
+  //     && FDC2->PosY>-500 && FDC2->PosY<500 
+  //     && FDC0->PosX>-80 && FDC0->PosX<80 
+  //     && FDC0->PosY>-80 && FDC0->PosY<80 // both FDC ok
+  //     && Minos->Tracks_P0.size()==1     ) {  // p,pn only // and p,p' ?
+  //   // Compute ThetaX and PhiY using Minos vertex and FDC0 X
+  //   // Check if both BDC are reconstructed
+  //   TVector3 BDC1=BDC->GetPos(1);
+  //   TVector3 BDC2=BDC->GetPos(2);
+  //   if( BDC1.Z()!=-10000 && BDC2.Z()!=-10000){
+  //     TVector3 Vertex,delta;
+  //     TVector3 P1 = Minos->Tracks_P0[0]+Minos->Tracks_Dir[0];
+
+  //     // Vertex in Samurai Reference frame 
+  //     MinimumDistanceTwoLines(BDC1,BDC2, 
+  //         Minos->Tracks_P0[0], P1,
+  //         Vertex, delta) ;
+     
+      // TVector3 FDC0_Dir= FDC0->GetPos()-Vertex;
+      // FDC0_Dir=FDC0_Dir.Unit();
+      // TVector3 BDCDir=BDC2-BDC1;
+      // BDCDir=BDCDir.Unit();
+      // BDCDir*=(Vertex.Z()-BDC2.Z())/BDCDir.Z();
+      // BDCX=(BDC2+BDCDir).X();
+      // BDCY=(BDC2+BDCDir).Y();
+
+      // // XYZ relative to Minos entrance
+      // X=Vertex.X();
+      // Y=Vertex.Y();
+      // Z=Vertex.Z()+4650;
+
+      // // Fragment analysis 
+      // if(FDC0_Dir.Z()>0.6 && Z>0 && Z<150 && sqrt(X*X+Y*Y)<15){
+      //   double FDC0_ThetaX = atan((FDC0->PosX-Vertex.X())/(1254.39-Z));
+      //   double FDC0_PhiY   = atan((FDC0->PosY-Vertex.Y())/(1254.39-Z));
+      //   Brho=m_field.FindBrho(FDC0->GetPos(),FDC0_Dir,FDC2->GetPos(),TVector3(0,0,1));
+      //   He6.SetBrho(Brho);
+      //   double Energy = He6.GetEnergy();
+      //   if(Energy){
+      //     Energy=FragmentTarget.EvaluateInitialEnergy(Energy,150-Z,FDC0_Dir.Angle(TVector3(0,0,1)));
+      //     He6.SetKineticEnergy(Energy);
+      //     Beta_f=He6.GetBeta();
+      //     LVHe4.SetVectM(TVector3(0,0,0),mhe6);
+      //     LVHe4.Boost(Beta_f*FDC0_Dir.Unit());
+      //   }
         
-      }
+      // }
       
-      // Neutron analysis
-      if(Nebula->Charge.size()>0 && !Nebula->HasVeto()){
-        // Index of first neutron hit
-        unsigned int first = Nebula->GetFirstHit();
-        TVector3 Pfirst = (Nebula->GetPos(first)-Vertex);
-        double L = Pfirst.Mag();
-        double TSBT= (Vertex.Z()+7377.56)/(Beta_b*c_light);
-        TOF_n = Nebula->TOF[first]-TSBT-TF13;
-        Beta_n = (L/TOF_n)/NPUNITS::c_light;
-        LVn.SetVectM(TVector3(0,0,0),mn);
-        LVn.Boost(Beta_n*Pfirst.Unit());
-      }
+      // // Neutron analysis
+      // if(Nebula->Charge.size()>0 && !Nebula->HasVeto()){
+      //   // Index of first neutron hit
+      //   unsigned int first = Nebula->GetFirstHit();
+      //   TVector3 Pfirst = (Nebula->GetPos(first)-Vertex);
+      //   double L = Pfirst.Mag();
+      //   double TSBT= (Vertex.Z()+7377.56)/(Beam_Beta*c_light);
+      //   TOF_n = Nebula->TOF[first]-TSBT-TF13;
+      //   Beta_n = (L/TOF_n)/NPUNITS::c_light;
+      //   LVn.SetVectM(TVector3(0,0,0),mn);
+      //   LVn.Boost(Beta_n*Pfirst.Unit());
+      // }
       
-      // a full event
-      if(Beta_n&&Beta_f){
-        He6.SetEnergyImpulsion(LVHe6);
-        n.SetEnergyImpulsion(LVn);
-        Erel = (LVHe6+LVn).Mag()-sumM;
-      }
-      // Calib//////////////////////////////////////////////////////////////////
- /*     static int count=0;
-      if(Minos->Delta_Vertex < 5 && FDC2->PosX-252.55>0&&FDC0->GetPos().X()>-10000 && FDC0->Dir.Z()>0.9 && Minos->Z_Vertex>0&& sqrt(Minos->X_Vertex*Minos->X_Vertex+Minos->Y_Vertex*Minos->Y_Vertex)<15){
-        file << FDC0->GetPos().X()   <<" " << FDC0->GetPos().Y() << " " << FDC0->GetPos().Z() <<" " ;
-        file << Minos->X_Vertex      <<" " << Minos->Y_Vertex    << " " << Minos->Z_Vertex    << " " ;
-        file << FDC2->GetPos().X()   <<" " << FDC2->GetPos().Y() << " " << FDC2->GetPos().Z() <<" " << FDC2->Dir.X() <<" " << FDC2->Dir.Y() << " " << FDC2->Dir.Z()<< endl;
-        count ++;
-      }
-      if(count>1000)
-        exit(1);
-        */
-    /*  static int count=0;
-      if(Minos->Delta_Vertex < 5 && sqrt(Minos->X_Vertex*Minos->X_Vertex+Minos->Y_Vertex*Minos->Y_Vertex)<15 && Minos->Z_Vertex>-4650){
-        file << BDC1.X()  <<" " << BDC1.Y()<< " " << BDC1.Z() <<" " ;
-        file << BDC2.X()  <<" " << BDC2.Y()<< " " << BDC2.Z() <<" " ;
-        file << Minos->X_Vertex      <<" " << Minos->Y_Vertex    << " " << Minos->Z_Vertex    << endl ;
-        count ++;
-      }
-      if(count>10000)
-        exit(1);
-      */  
+      // // a full event
+      // if(Beta_n&&Beta_f){
+      //   He6.SetEnergyImpulsion(LVHe4);
+      //   n.SetEnergyImpulsion(LVn);
+      //   Erel = (LVHe4+LVn).Mag()-sumM;
+      // }
 
-    }
-  }
+  //   }
+  // }
+
+ 
 }
 
 ////////////////////////////////////////////////////////////////////////////////
 void Analysis::End(){
+
+  fileBDC.close();
+  fileFDC.close();
+  //free(Plastic);
+  //free(BDC);
 }
 
 ////////////////////////////////////////////////////////////////////////////////
 void Analysis::Clear(){
-  Brho=-1000;
-  BDCX=-1000;
-  BDCY=-1000;
-  Beta_f=-1000;
-  Beta_n=-1000;
-  Beta_b=-1000;
-  X=Y=Z=-1000;
-  TOF_n=-1000;
-  Erel=-1000;
+  He8.SetBeta(0.5152);
+
+
+  MultiHit_PlasticBeam = false;
+  EventInCut = false;
+
+  //Beam
+  Beam_Beta= -10000;
+  Beam_Gamma =-10000;
+  Beam_P = -10000;
+  Beam_KE = -10000;
+  Beam_KE_Tot=-10000;
+  // Beam_Boost.Clear();
+  Beam_Px =-10000;
+  Beam_Py =-10000;
+  Beam_Pz = -10000;
+  Beam_Theta = -10000;
+  
+  //plastic 1
+  TOF_F7F13_P1 = -10000;
+  Charge_F13_P1 = -10000;
+  Beta_F7F13_P1 = -10000;
+    
+  //plastic 2
+  TOF_F7F13_P2 = -10000;
+  Charge_F13_P2 = -10000;
+  Beta_F7F13_P2 = -10000;
+
+  //plastic 1 and 2
+  TOF_F7F13_P1P2 = -1000;
+  Charge_F13_P1P2 = -1000;
+  Beta_F7F13_P1P2 = -1000;
+  Beam_Offset_TOF = -10000;
+
+  //BDC1 and BDC2
+  BDC1_X= BDC1_Y= BDC1_Z = -10000;
+  BDC2_X= BDC2_Y = BDC2_Z = -10000;
+  BDC1_Pos.Clear();
+  BDC2_Pos.Clear();
+  BDC1_PileUp = -10000;
+  BDC2_PileUp = -10000;
+
+  Beam_ThetaX = Beam_ThetaY = -10000;
+  BDC_XVertex = BDC_YVertex = -10000;
+  
+  //Minos
+  Minos_Vertex.Clear();
+  Minos_Vertex_X = -10000;
+  Minos_Vertex_Y =-10000;
+  Minos_Vertex_Z = -10000;
+  Minos_TrackNbr = -10000;
+  Minos_DistMin=-10000;// minimum distance between the 2 lines used in trajectory reconstruction
+  Minos_RVertex=-10000;
+  Minos_PathFragment.Clear();
+  Minos_DistFragment = -10000;
+  Minos_In.Clear();
+  Minos_InX = Minos_InY =-10000;
+  Minos_RIn = -10000;
+  Minos_Out.Clear();
+  Minos_OutX = Minos_OutY =-10000;
+  Minos_ROut = -10000;
+  Minos_Delta.Clear();
+  Minos_TwoProtonAngle = -10000;
+  Minos_Track1P0.Clear();
+  Minos_Track1Dir.Clear();
+  Minos_Vertex_InDet.Clear();
+  Minos_Vertex_XInDet = -10000;
+  Minos_Vertex_YInDet = -10000;
+  Minos_Vertex_ZInDet = -10000;
+
+  //FDC0
+  FDC0_Pos.Clear();
+  FDC0_X = FDC0_Y = FDC0_Z =-10000;
+  FDC0_PileUp = -10000;
+  
+  
+  //FDC2
+  FDC2_Pos.Clear();
+  FDC2_X = FDC2_Y = FDC2_Z =-10000;
+  FDC2_PileUp = -10000;
+
+  //Hodoscope
+  HodoMult = -10000;
+
 }
 
 ////////////////////////////////////////////////////////////////////////////////
 void Analysis::InitOutputBranch() {
-  RootOutput::getInstance()->GetTree()->Branch("Brho",&Brho,"Brho/D");
-  RootOutput::getInstance()->GetTree()->Branch("BDCX",&BDCX,"BDCX/D");
-  RootOutput::getInstance()->GetTree()->Branch("BDCY",&BDCY,"BDCY/D");
-  RootOutput::getInstance()->GetTree()->Branch("X",&X,"X/D");
-  RootOutput::getInstance()->GetTree()->Branch("Y",&Y,"Y/D");
-  RootOutput::getInstance()->GetTree()->Branch("Z",&Z,"Z/D");
-  RootOutput::getInstance()->GetTree()->Branch("Erel",&Erel,"Erel/D");
-  RootOutput::getInstance()->GetTree()->Branch("Beta_f",&Beta_f,"Beta_f/D");
-  RootOutput::getInstance()->GetTree()->Branch("Beta_n",&Beta_n,"Beta_n/D");
-  RootOutput::getInstance()->GetTree()->Branch("Beta_b",&Beta_b,"Beta_b/D");
-  RootOutput::getInstance()->GetTree()->Branch("TOF_n",&TOF_n,"TOF_n/D");
+  
+  //Beam
+  RootOutput::getInstance()->GetTree()->Branch("Beam_Beta",&Beam_Beta,"Beam_Beta/D");
+  RootOutput::getInstance()->GetTree()->Branch("MultiHit_PlasticBeam",&MultiHit_PlasticBeam,"MultiHit_PlasticBeam/D");
+  RootOutput::getInstance()->GetTree()->Branch("Beam_Gamma",&Beam_Gamma,"Beam_Gamma/D");
+  RootOutput::getInstance()->GetTree()->Branch("Beam_P",&Beam_P,"Beam_P/D");
+  
+  // plastic 1
+  // RootOutput::getInstance()->GetTree()->Branch("TOF_F7F13_P1",&TOF_F7F13_P1,"TOF_F7F13_P1/D");
+  // RootOutput::getInstance()->GetTree()->Branch("Charge_F13_P1",&Charge_F13_P1,"Charge_F13_P1/D");
+  // RootOutput::getInstance()->GetTree()->Branch("Beta_F7F13_P1",&Beta_F7F13_P1,"Beta_F7F13_P1/D");
+  // plastic 2
+  // RootOutput::getInstance()->GetTree()->Branch("TOF_F7F13_P2",&TOF_F7F13_P2,"TOF_F7F13_P2/D");
+  // RootOutput::getInstance()->GetTree()->Branch("Charge_F13_P2",&Charge_F13_P2,"Charge_F13_P2/D");
+  // RootOutput::getInstance()->GetTree()->Branch("Beta_F7F13_P2",&Beta_F7F13_P2,"Beta_F7F13_P2/D");
+
+  //plastic 1 and 2
+  RootOutput::getInstance()->GetTree()->Branch("Beam_Offset_TOF",&Beam_Offset_TOF,"Beam_Offset_TOF/D");
+  RootOutput::getInstance()->GetTree()->Branch("TOF_F7F13_P1P2",&TOF_F7F13_P1P2,"TOF_F7F13_P1P2/D");
+  RootOutput::getInstance()->GetTree()->Branch("Charge_F13_P1P2",&Charge_F13_P1P2,"Charge_F13_P1P2/D");
+  //RootOutput::getInstance()->GetTree()->Branch("Beta_F7F13_P1P2",&Beta_F7F13_P1P2,"Beta_F7F13_P1P2/D");
+
+  //Beam
+  RootOutput::getInstance()->GetTree()->Branch("Beam_Px",&Beam_Px,"Beam_Px/D");
+  RootOutput::getInstance()->GetTree()->Branch("Beam_Py",&Beam_Py,"Beam_Py/D");
+  RootOutput::getInstance()->GetTree()->Branch("Beam_Pz",&Beam_Pz,"Beam_Pz/D");
+
+  RootOutput::getInstance()->GetTree()->Branch("Beam_KE_Tot",&Beam_KE_Tot,"Beam_KE_Tot/D");
+  RootOutput::getInstance()->GetTree()->Branch("Beam_KE",&Beam_KE,"Beam_KE/D"); // KE/u
+
+  RootOutput::getInstance()->GetTree()->Branch("Beam_Theta",&Beam_Theta,"Beam_Theta/D");
+
+  //BDC1 et BDC2
+  RootOutput::getInstance()->GetTree()->Branch("BDC1_X",&BDC1_X,"BDC1_X/D");
+  RootOutput::getInstance()->GetTree()->Branch("BDC1_Y",&BDC1_Y,"BDC1_Y/D");
+  RootOutput::getInstance()->GetTree()->Branch("BDC1_Z",&BDC1_Z,"BDC1_Z/D");
+  
+  RootOutput::getInstance()->GetTree()->Branch("BDC2_X",&BDC2_X,"BDC2_X/D");
+  RootOutput::getInstance()->GetTree()->Branch("BDC2_Y",&BDC2_Y,"BDC2_Y/D");
+  RootOutput::getInstance()->GetTree()->Branch("BDC2_Z",&BDC2_Z,"BDC2_Z/D");
+
+  RootOutput::getInstance()->GetTree()->Branch("BDC1_PileUp",&BDC1_PileUp,"BDC1_PileUp/I");
+  RootOutput::getInstance()->GetTree()->Branch("BDC2_PileUp",&BDC2_PileUp,"BDC2_PileUp/I");
+
+  RootOutput::getInstance()->GetTree()->Branch("Beam_ThetaX",&Beam_ThetaX,"Beam_ThetaX/D");
+  RootOutput::getInstance()->GetTree()->Branch("Beam_ThetaY",&Beam_ThetaY,"Beam_ThetaY/D");
+  
+  RootOutput::getInstance()->GetTree()->Branch("BDC_XVertex",&BDC_XVertex,"BDC_XVertex/D");
+  RootOutput::getInstance()->GetTree()->Branch("BDC_YVertex",&BDC_YVertex,"BDC_YVertex/D");
+  
+  //Minos
+  RootOutput::getInstance()->GetTree()->Branch("Minos_TrackNbr",&Minos_TrackNbr,"Minos_TrackNbr/I");
+  RootOutput::getInstance()->GetTree()->Branch("Minos_Vertex_X",&Minos_Vertex_X,"Minos_Vertex_X/D");
+  RootOutput::getInstance()->GetTree()->Branch("Minos_Vertex_Y",&Minos_Vertex_Y,"Minos_Vertex_Y/D");
+  RootOutput::getInstance()->GetTree()->Branch("Minos_Vertex_Z",&Minos_Vertex_Z,"Minos_Vertex_Z/D");
+  RootOutput::getInstance()->GetTree()->Branch("Minos_DistMin",&Minos_DistMin,"Minos_DistMin/D");    RootOutput::getInstance()->GetTree()->Branch("Minos_PathFragment",&Minos_PathFragment);
+  RootOutput::getInstance()->GetTree()->Branch("Minos_DistFragment",&Minos_DistFragment,"Minos_DistFragment/D");
+  RootOutput::getInstance()->GetTree()->Branch("Minos_InX",&Minos_InX,"Minos_InX/D");
+  RootOutput::getInstance()->GetTree()->Branch("Minos_InY",&Minos_InY,"Minos_InY/D");
+  RootOutput::getInstance()->GetTree()->Branch("Minos_InZ",&Minos_InZ,"Minos_InZ/D");
+  RootOutput::getInstance()->GetTree()->Branch("Minos_RIn",&Minos_RIn,"Minos_RIn/D");
+  
+  RootOutput::getInstance()->GetTree()->Branch("Minos_RVertex",&Minos_RVertex,"Minos_RVertex/D");
+
+  RootOutput::getInstance()->GetTree()->Branch("Minos_Vertex_XInDet",&Minos_Vertex_XInDet,"Minos_Vertex_XInDet/D");
+  RootOutput::getInstance()->GetTree()->Branch("Minos_Vertex_YInDet",&Minos_Vertex_YInDet,"Minos_Vertex_YInDet/D");
+  RootOutput::getInstance()->GetTree()->Branch("Minos_Vertex_ZInDet",&Minos_Vertex_ZInDet,"Minos_Vertex_ZInDet/D");
+  RootOutput::getInstance()->GetTree()->Branch("Minos_TwoProtonAngle",&Minos_TwoProtonAngle,"Minos_TwoProtonAngle/D");
+
+  RootOutput::getInstance()->GetTree()->Branch("Minos_OutX",&Minos_OutX,"Minos_OutX/D");
+  RootOutput::getInstance()->GetTree()->Branch("Minos_OutY",&Minos_OutY,"Minos_OutY/D");
+  RootOutput::getInstance()->GetTree()->Branch("Minos_OutZ",&Minos_OutZ,"Minos_OutZ/D");
+  RootOutput::getInstance()->GetTree()->Branch("Minos_ROut",&Minos_ROut,"Minos_ROut/D");
+
+  //FDC0
+  RootOutput::getInstance()->GetTree()->Branch("FDC0_X",&FDC0_X,"FDC0_X/D");
+  RootOutput::getInstance()->GetTree()->Branch("FDC0_Y",&FDC0_Y,"FDC0_Y/D");
+  RootOutput::getInstance()->GetTree()->Branch("FDC0_Z",&FDC0_Z,"FDC0_Z/D");
+  RootOutput::getInstance()->GetTree()->Branch("FDC0_PileUp",&FDC0_PileUp,"FDC0_PileUp/I");
+
+  //FDC2
+  RootOutput::getInstance()->GetTree()->Branch("FDC2_X",&FDC2_X,"FDC2_X/D");
+  RootOutput::getInstance()->GetTree()->Branch("FDC2_Y",&FDC2_Y,"FDC2_Y/D");
+  RootOutput::getInstance()->GetTree()->Branch("FDC2_Z",&FDC2_Z,"FDC2_Z/D");
+  RootOutput::getInstance()->GetTree()->Branch("FDC2_PileUp",&FDC2_PileUp,"FDC2_PileUp/I");
+
+  //Hodoscope
+  RootOutput::getInstance()->GetTree()->Branch("HodoMult",&HodoMult,"HodoMult/I");
+
+  //Trigger
   RootOutput::getInstance()->GetTree()->Branch("Trigger",&Trigger,"Trigger/I");
-} 
+}
+
 ////////////////////////////////////////////////////////////////////////////////
 void Analysis::InitInputBranch(){
-  RootInput::getInstance()->GetChain()->SetBranchAddress("Trigger",&Trigger);
+  if(IsSimulation){
+    RootInput::getInstance()->GetChain()->SetBranchAddress("InitialConditions",&Initial_Conditions);
+    }
+  if(!IsSimulation){
+    RootInput::getInstance()->GetChain()->SetBranchAddress("Trigger",&Trigger);
+  }
 }
+
+////////////////////////////////////////////////////////////////////////////////
+void Analysis::FillAlignmentFiles(){
+   cout << "////////////////WARNING: CONDITION ON MINOS Z_VERTEX TO CHECK//////////////////" << endl;
+  
+  fileFDC << FDC0->GetPos().X()   <<" " << FDC0->GetPos().Y() << " " << FDC0->GetPos().Z() <<" " ;
+        fileFDC << Minos->X_Vertex      <<" " << Minos->Y_Vertex    << " " << Minos->Z_Vertex    << " " ;
+        fileFDC << FDC2->GetPos().X()   <<" " << FDC2->GetPos().Y() << " " << FDC2->GetPos().Z() <<" " << FDC2->Dir.X() <<" " << FDC2->Dir.Y() << " " << FDC2->Dir.Z()<< endl;
+
+	TVector3 BDC1=BDC->GetPos(1);
+	TVector3 BDC2=BDC->GetPos(2);
+        fileBDC << BDC1.X()  <<" " << BDC1.Y()<< " " << BDC1.Z() <<" " ;
+        fileBDC << BDC2.X()  <<" " << BDC2.Y()<< " " << BDC2.Z() <<" " ;
+        fileBDC << Minos->X_Vertex      <<" " << Minos->Y_Vertex    << " " << Minos->Z_Vertex    << endl ;
+	countAlignment++;
+  
+  /*
+      if(Minos->Delta_Vertex < 5 && FDC2->PosX-252.55>0 && FDC0->GetPos().X()>-10000 && FDC0->Dir.Z()>0.9 && Minos->Z_Vertex<-900 && sqrt(Minos->X_Vertex*Minos->X_Vertex+Minos->Y_Vertex*Minos->Y_Vertex)<15){
+        fileFDC << FDC0->GetPos().X()   <<" " << FDC0->GetPos().Y() << " " << FDC0->GetPos().Z() <<" " ;
+        fileFDC << Minos->X_Vertex      <<" " << Minos->Y_Vertex    << " " << Minos->Z_Vertex    << " " ;
+        fileFDC << FDC2->GetPos().X()   <<" " << FDC2->GetPos().Y() << " " << FDC2->GetPos().Z() <<" " << FDC2->Dir.X() <<" " << FDC2->Dir.Y() << " " << FDC2->Dir.Z()<< endl;
+
+	TVector3 BDC1=BDC->GetPos(1);
+	TVector3 BDC2=BDC->GetPos(2);
+        fileBDC << BDC1.X()  <<" " << BDC1.Y()<< " " << BDC1.Z() <<" " ;
+        fileBDC << BDC2.X()  <<" " << BDC2.Y()<< " " << BDC2.Z() <<" " ;
+        fileBDC << Minos->X_Vertex      <<" " << Minos->Y_Vertex    << " " << Minos->Z_Vertex    << endl ;
+	countAlignment++;
+        
+      }
+	*/
+      
+ 
+	if(countAlignment>=countLimitAlignment) {
+	  CreateAlignmentFile = false;
+	  cout << "fin de creation fichier alignement" << endl;
+	}
+      
+}
+
   ////////////////////////////////////////////////////////////////////////////////
   //            Construct Method to be pass to the AnalysisFactory              //
   ////////////////////////////////////////////////////////////////////////////////
diff --git a/Projects/S034/Analysis.h b/Projects/S034/Analysis.h
index bb609b7e9ee6224fa8a0b13d45a86b5416a3aaa3..fb842e28a9800194af872973556912a3cd83b078 100644
--- a/Projects/S034/Analysis.h
+++ b/Projects/S034/Analysis.h
@@ -25,6 +25,7 @@
 #include"NPEnergyLoss.h"
 #include"TMinosPhysics.h"
 #include"TNebulaPhysics.h"
+#include"TNeuLANDPhysics.h"
 #include"TSamuraiBDCPhysics.h"
 #include"TSamuraiFDC0Physics.h"
 #include"TSamuraiFDC2Physics.h"
@@ -32,49 +33,172 @@
 #include"TBigRIPSPlasticPhysics.h"
 #include"SamuraiFieldMap.h"
 #include<fstream>
+
+#include"TInitialConditions.h"
+
+//Root
+#include "TCutG.h"
+#include "TFile.h"
+
 class Analysis: public NPL::VAnalysis{
-  public:
-    Analysis();
-    ~Analysis();
+  
+public:
+  Analysis();
+  ~Analysis();
 
-  public: 
-    void Init();
-    void TreatEvent();
-    void End();
+public: 
+  void Init();
+  void TreatEvent();
+  void End();
 
-    static NPL::VAnalysis* Construct();
+  static NPL::VAnalysis* Construct();
+  
+private: // boolean 
+  bool IsSimulation;
+  bool CreateAlignmentFile;
+  bool CompleteAnalysis;
+  bool EventInCut;
 
-  private:
+private: //cut files
+  TCutG *cut_Beam ;
+  
+private: //detector used in the analysis
     TBigRIPSPlasticPhysics* Plastic;
     TMinosPhysics* Minos;
     TNebulaPhysics* Nebula;
+    TNeuLANDPhysics* NeuLAND;
     TSamuraiBDCPhysics* BDC;
     TSamuraiFDC0Physics* FDC0;
     TSamuraiFDC2Physics* FDC2;
     TSamuraiHodoscopePhysics* Hodo;
-
+    
     SamuraiFieldMap m_field ;
-//    ofstream file;
-  private: // output variable
-    double Brho,BDCX,BDCY,X,Y,Z,Erel;
-    double TOF_n;
-    double Beta_f;
-    double Beta_n;
-    double Beta_b;
-    int    Trigger;
-  private: // Energy loss table
-   NPL::EnergyLoss FragmentTarget ;
-   NPL::Particle He4,He6,He8,n;
-   double mhe6;
-   double mn  ;
-   double sumM;
-
-
-
-  public:
-    void  Clear();
-    void  InitOutputBranch();
-    void  InitInputBranch();
+
+    TInitialConditions* Initial_Conditions;
+  
+private: //setup information
+  //setup
+  double LengthF7F13;
+  double TargetLength;
+  double FDC2Angle;
+  TVector3 MinosPosition;
+
+private: // Energy loss table + particles information
+  NPL::EnergyLoss FragmentTarget;
+  NPL::Particle He4,He6,He8,n;
+  double mHe8;
+  double mHe4;
+  double mhe6;
+  double mn  ;
+  double sumM;
+  
+  
+private: // output files and variables
+
+  ///Files///
+  ofstream fileBDC;
+  ofstream fileFDC;
+  int countAlignment;
+  int countLimitAlignment;
+ 
+
+  ///Variables///
+  
+  //// Beam ////
+
+  double MultiHit_PlasticBeam;
+  
+  double Beam_Gamma;
+  double Beam_P;
+  TVector3 Beam_Boost;
+  
+
+  //plastic 1
+  double Beta_F7F13_P1;
+  double Charge_F13_P1;
+  double TOF_F7F13_P1;
+
+
+  //plastic 2
+  double Beta_F7F13_P2;
+  double Charge_F13_P2;
+  double TOF_F7F13_P2;
+  
+  // both plastic together
+  double Beta_F7F13_P1P2;
+  double Charge_F13_P1P2;
+  double TOF_F7F13_P1P2;
+
+  //Beam
+  double Beam_Px, Beam_Py, Beam_Pz;
+  double Beam_KE_Tot;
+  double Beam_KE;
+  double Beam_Beta;
+  double Beam_Theta;
+  double Beam_Offset_TOF;
+  
+  //BDC1 and BDC2
+  double BDC1_X,BDC1_Y, BDC1_Z;
+  double BDC2_X,BDC2_Y, BDC2_Z;
+  TVector3 BDC1_Pos, BDC2_Pos;
+  TVector3 BDCs_Dir;
+  int MultBDC;
+  int BDC1_PileUp, BDC2_PileUp;
+
+  double Beam_ThetaX, Beam_ThetaY;
+  double BDC_XVertex, BDC_YVertex;
+
+  //Minos
+  TVector3 Minos_Vertex;
+  double Minos_Vertex_X, Minos_Vertex_Y, Minos_Vertex_Z;
+  int Minos_TrackNbr;
+  double Minos_DistMin;// minimum distance between the 2 lines used in trajectory reconstruction
+  double Minos_RVertex;
+  TVector3 Minos_PathFragment;
+  double Minos_DistFragment;
+  TVector3 Minos_In;
+  double Minos_InX, Minos_InY, Minos_InZ;
+  double Minos_RIn;
+  TVector3 Minos_Out;
+  double Minos_OutX, Minos_OutY, Minos_OutZ; // to calculate fragment's path in target 
+  double Minos_ROut;
+  double Minos_TwoProtonAngle;
+  TVector3 Minos_Delta, Minos_Track1P0, Minos_Track1Dir;
+  TVector3 Minos_Vertex_InDet;
+  double Minos_Vertex_XInDet;
+  double Minos_Vertex_YInDet;
+  double Minos_Vertex_ZInDet;
+
+
+  //FDC0
+  TVector3 FDC0_Pos;
+  double FDC0_X, FDC0_Y,FDC0_Z;
+  int FDC0_PileUp;
+
+  //Fragment
+  TVector3 Fragment_TrackDir;
+
+  //FDC2
+  TVector3 FDC2_Pos;
+  double FDC2_X, FDC2_Y,FDC2_Z;
+  int FDC2_PileUp;
+
+
+  //Hodoscope
+  // int 
+  int HodoMult;
+
+  //Trigger
+  int Trigger;
+  
+public:
+  void  Clear();
+  void  InitOutputBranch();
+  void  InitInputBranch();
+
+  void FillAlignmentFiles();
+  void LoadCuts();
+
 };
 
 #endif
diff --git a/Projects/S034/Calibration/BDC/CalibBDC.cxx b/Projects/S034/Calibration/BDC/CalibBDC.cxx
index fcd922caad74ead7bb7456b0e208234febc7b371..2fdf41985ac5337a5871c7f7072ae7c3d9dd9d85 100755
--- a/Projects/S034/Calibration/BDC/CalibBDC.cxx
+++ b/Projects/S034/Calibration/BDC/CalibBDC.cxx
@@ -61,7 +61,7 @@ void CalibBDC(){
   
 /*   BDC=2; */
 /*   NLayer = 14; */
-/*   c->SetBranchStatus("SamuraiBDC2",true); */
+/*   c->SetBranchStatus("SamuraiBDC",true); */
 /*   ofstream fout2(Form("CalibFiles/BDC2_Calib_%d.txt", run12)); */  
 /*   inter = 10;// inter wire distance */
 /*   low=1200; */
diff --git a/Projects/S034/Calibration/BDC/CalibBDC1.cxx b/Projects/S034/Calibration/BDC/CalibBDC1.cxx
new file mode 100755
index 0000000000000000000000000000000000000000..5cc19a9fbb4d400987034dc77296185457eb4d44
--- /dev/null
+++ b/Projects/S034/Calibration/BDC/CalibBDC1.cxx
@@ -0,0 +1,59 @@
+void CalibBDC(){
+  
+  for(int runNbr =824; runNbr <= 824 ; runNbr++){
+  
+  TChain* c = new TChain("RawTree");
+  c->Add(Form("../../root/mrdc/run%d/run%d_SAMURAIBDC.root",runNbr,runNbr));
+  c->SetBranchStatus("*",false);
+
+  // BDC1
+  int BDC=1;
+  int NLayer = 8;
+  c->SetBranchStatus("SamuraiBDC",true);
+  ofstream fout(Form("BDC%d_Calib_%d.txt",BDC, runNbr));  
+  double inter = 2.5;// inter wire distance / 2
+  double low=1600;
+  double high=1900;
+
+  cout <<"Calibrating BDC" << BDC <<  " run number : " << runNbr << endl;
+  
+  string cond;
+
+  TF1* f = new TF1("sigmoid","[0]/(exp([1]*([2]-x))+1)");
+ //TF1* f = new TF1("sigmoid","0*(x<[0])+(x-[0])*[1]*(x>[0]&&x<[2])+[3]*(x>[2])");
+
+ TH1D* h = new TH1D("h","h",1500,0,3000);
+ for(unsigned int i = 0 ; i < NLayer; i++){
+  cond = Form("fBDC_LayerNbr==%d&&fBDC_Edge==0&&fBDC_Time>%f&&fBDC_Time<%f&&fBDC_Time@.size()>10&&fBDC_Time@.size()<100 &&fBDC_DetectorNbr==%d ",i,low,high,BDC);
+  c->Draw("fBDC_Time>>h",cond.c_str());
+  TH1D* g = new TH1D(*h);
+  unsigned int size = h->GetNbinsX();
+  for(unsigned int i = 0 ; i < size ; i++){
+    g->SetBinContent(i,h->Integral(0,i)); 
+  }
+
+  //new TCanvas();
+  //g->Draw();
+  cout << g->GetMaximum() << endl;
+  f->SetParameter(0,g->GetMaximum());
+  f->SetParameter(1,0.1);
+  f->SetParameter(2,1700);
+  f->SetParLimits(1,0,1);
+  f->SetParLimits(2,1600,1900);
+
+  g->Fit(f);
+  // Renormalize the distribution to the maximum driftlength 
+  f->SetParameter(0,inter);
+  double p0 = f->GetParameter(0);
+  double p1 = f->GetParameter(1);
+  double p2 = f->GetParameter(2);
+  //new TCanvas();
+  //c->Draw(Form("%f/(exp(%f*(%f-(Time+ToT)))+1)>>hh(200,0,2.5)",p0,p1,p2),cond.c_str()); 
+  fout << Form("BDC%d_L%d ",BDC,i) << p0 << " " << p1 << " " << p2 << endl;
+//  gPad->Update();
+//  gPad->WaitPrimitive();
+   } 
+   fout.close();
+  
+  }
+}
diff --git a/Projects/S034/Calibration/BDC/CalibBDC2.cxx b/Projects/S034/Calibration/BDC/CalibBDC2.cxx
new file mode 100755
index 0000000000000000000000000000000000000000..149d7ca33d13441b09b436a80c858bd2fccd4e10
--- /dev/null
+++ b/Projects/S034/Calibration/BDC/CalibBDC2.cxx
@@ -0,0 +1,59 @@
+void CalibBDC(){
+  
+  for(int runNbr =824; runNbr <= 824 ; runNbr++){
+  
+  TChain* c = new TChain("RawTree");
+  c->Add(Form("../../root/mrdc/run%d/run%d_SAMURAIBDC.root",runNbr,runNbr));
+  c->SetBranchStatus("*",false);
+
+  // BDC2
+  int BDC=2;
+  int NLayer = 8;
+  c->SetBranchStatus("SamuraiBDC",true);
+  ofstream fout(Form("BDC%d_Calib_%d.txt",BDC, runNbr));  
+  double inter = 2.5;// inter wire distance / 2
+  double low=1600;
+  double high=1900;
+
+  cout <<"Calibrating BDC" << BDC <<  " run number : " << runNbr << endl;
+  
+  string cond;
+
+  TF1* f = new TF1("sigmoid","[0]/(exp([1]*([2]-x))+1)");
+ //TF1* f = new TF1("sigmoid","0*(x<[0])+(x-[0])*[1]*(x>[0]&&x<[2])+[3]*(x>[2])");
+
+ TH1D* h = new TH1D("h","h",1500,0,3000);
+ for(unsigned int i = 0 ; i < NLayer; i++){
+  cond = Form("fBDC_LayerNbr==%d&&fBDC_Edge==0&&fBDC_Time>%f&&fBDC_Time<%f&&fBDC_Time@.size()>10&&fBDC_Time@.size()<100 &&fBDC_DetectorNbr==%d ",i,low,high,BDC);
+  c->Draw("fBDC_Time>>h",cond.c_str());
+  TH1D* g = new TH1D(*h);
+  unsigned int size = h->GetNbinsX();
+  for(unsigned int i = 0 ; i < size ; i++){
+    g->SetBinContent(i,h->Integral(0,i)); 
+  }
+
+  //new TCanvas();
+  //g->Draw();
+  cout << g->GetMaximum() << endl;
+  f->SetParameter(0,g->GetMaximum());
+  f->SetParameter(1,0.1);
+  f->SetParameter(2,1700);
+  f->SetParLimits(1,0,1);
+  f->SetParLimits(2,1600,1900);
+
+  g->Fit(f);
+  // Renormalize the distribution to the maximum driftlength 
+  f->SetParameter(0,inter);
+  double p0 = f->GetParameter(0);
+  double p1 = f->GetParameter(1);
+  double p2 = f->GetParameter(2);
+  //new TCanvas();
+  //c->Draw(Form("%f/(exp(%f*(%f-(Time+ToT)))+1)>>hh(200,0,2.5)",p0,p1,p2),cond.c_str()); 
+  fout << Form("BDC%d_L%d ",BDC,i) << p0 << " " << p1 << " " << p2 << endl;
+//  gPad->Update();
+//  gPad->WaitPrimitive();
+   } 
+   fout.close();
+  
+  }
+}
diff --git a/Projects/S034/Calibration/FDC/CalibFDC0.cxx b/Projects/S034/Calibration/FDC/CalibFDC0.cxx
new file mode 100755
index 0000000000000000000000000000000000000000..197448a62d394790c5e9d8621eef2d8bf75bb7cc
--- /dev/null
+++ b/Projects/S034/Calibration/FDC/CalibFDC0.cxx
@@ -0,0 +1,54 @@
+void CalibFDC0(){
+  
+  for(int run8 =656; run8 <= 656; run8++){
+  
+  // FDC  //////////
+  int FDC = 0;
+  int NLayer = 8;
+  double inter = 2.5;// inter wire distance/2 -> maximum driftlength
+  double low=1720;
+  double high=1820;
+  
+  TChain* c = new TChain("RawTree");
+  c->Add(Form("../root/mrdc/run%d/run%d_SAMURAIFDC%i.root",run8,run8,FDC));
+  c->SetBranchStatus("*",false);
+  c->SetBranchStatus("SamuraiFDC0",true);
+
+  //ofstream fout(Form("FDC%i_Calib_%d.txt",FDC,run8));  
+  
+  cout <<"Calibrating FDC" << FDC <<  " run number : " << run8 << endl;
+  
+  string cond;
+
+  TF1* f = new TF1("sigmoid","[0]/(exp([1]*([2]-x))+1)");
+ //TF1* f = new TF1("sigmoid","0*(x<[0])+(x-[0])*[1]*(x>[0]&&x<[2])+[3]*(x>[2])");
+
+ TH1D* h = new TH1D("h","h",1500,0,3000);
+ for(unsigned int i = 0 ; i < NLayer-6; i++){
+  cond = Form("fFDC%d_LayerNbr==%d&&fFDC%d_Edge==0&&fFDC%d_Time>%f&&fFDC%d_Time<%f&&fFDC%d_Time@.size()>10&&fFDC%d_Time@.size()<100",FDC,i,FDC,FDC,low,FDC,high,FDC,FDC);
+  c->Draw(Form("fFDC%d_Time>>h",FDC),cond.c_str());
+  TH1D* g = new TH1D(*h);
+  unsigned int size = h->GetNbinsX();
+  for(unsigned int i = 0 ; i < size ; i++){
+    g->SetBinContent(i,h->Integral(0,i)); 
+  }
+  new TCanvas();
+  g->Draw();
+  cout << g->GetMaximum() << endl;
+  f->SetParameter(0,g->GetMaximum());
+  f->SetParameter(1,8e-3);
+  f->SetParameter(2,1500);
+  
+  g->Fit(f);
+  // Renormalize the distribution to 10 mm
+  f->SetParameter(0,inter);
+  double p0 = f->GetParameter(0);
+  double p1 = f->GetParameter(1);
+  double p2 = f->GetParameter(2);
+  //new TCanvas();
+  //c->Draw(Form("%f/(exp(%f*(%f-(Time+ToT)))+1)>>hh(200,0,2.5)",p0,p1,p2),cond.c_str()); 
+  //fout << Form("FDC%d_L%d ",FDC,i) << p0 << " " << p1 << " " << p2 << endl;
+   } 
+ //fout.close();
+  }
+}
diff --git a/Projects/S034/Calibration/FDC/CalibFDC2.cxx b/Projects/S034/Calibration/FDC/CalibFDC2.cxx
new file mode 100755
index 0000000000000000000000000000000000000000..7e4b21aeedabec077f1ecb3a62cdd6d2555b107f
--- /dev/null
+++ b/Projects/S034/Calibration/FDC/CalibFDC2.cxx
@@ -0,0 +1,59 @@
+void CalibFDC2(){
+  
+  for(int run8 = 630; run8 <= 630 ; run8++){
+  
+ 
+  /////////////////
+  // FDC2
+  int FDC=2;
+  int NLayer = 14;
+  double inter = 10;// inter wire distance/2 -> maximum driftlength
+  double low=1200;
+  double high=1700;
+  //////////////// 
+  auto c = new TChain("RawTree");
+  c->Add(Form("../root/mrdc/run%d/run%d_SAMURAIFDC%i.root",run8,run8,FDC));
+  c->SetBranchStatus("*",false);
+  c->SetBranchStatus("SamuraiFDC2",true);
+   
+
+  //ofstream fout(Form("FDC%i_Calib_%d.txt",FDC,run8));  
+  
+
+  cout <<"Calibrating FDC" << FDC <<  " run number : " << run8 << endl;
+  
+  string cond;
+
+  TF1* f = new TF1("sigmoid","[0]/(exp([1]*([2]-x))+1)");
+ //TF1* f = new TF1("sigmoid","0*(x<[0])+(x-[0])*[1]*(x>[0]&&x<[2])+[3]*(x>[2])");
+
+ TH1D* h = new TH1D("h","h",1500,0,3000);
+ for(unsigned int i = 0 ; i < NLayer; i++){
+  cond = Form("fFDC%d_LayerNbr==%d&&fFDC%d_Edge==0&&fFDC%d_Time>%f&&fFDC%d_Time<%f&&fFDC%d_Time@.size()>10&&fFDC%d_Time@.size()<100",FDC,i,FDC,FDC,low,FDC,high,FDC,FDC);
+  c->Draw(Form("fFDC%d_Time>>h",FDC),cond.c_str());
+  TH1D* g = new TH1D(*h);
+  unsigned int size = h->GetNbinsX();
+  for(unsigned int i = 0 ; i < size ; i++){
+    g->SetBinContent(i,h->Integral(0,i)); 
+  }
+  //new TCanvas();
+  //g->Draw();
+  cout << g->GetMaximum() << endl;
+  f->SetParameter(0,g->GetMaximum());
+  f->SetParameter(1,8e-3);
+  f->SetParameter(2,1500);
+  
+  g->Fit(f);
+  // Renormalize the distribution to 10 mm
+  f->SetParameter(0,inter);
+  double p0 = f->GetParameter(0);
+  double p1 = f->GetParameter(1);
+  double p2 = f->GetParameter(2);
+  //new TCanvas();
+  //c->Draw(Form("%f/(exp(%f*(%f-(Time+ToT)))+1)>>hh(200,0,2.5)",p0,p1,p2),cond.c_str()); 
+  fout << Form("FDC%d_L%d ",FDC,i) << p0 << " " << p1 << " " << p2 << endl;
+   } 
+   fout.close();
+  
+  }
+}
diff --git a/Projects/S034/Calibration/Pos/BDC.cxx b/Projects/S034/Calibration/Pos/BDC.cxx
index bebc79d18e64ce1973b658c2d2f742624f7577c7..4efea05556d99b79e9a07093b60251283c6d9cdd 100644
--- a/Projects/S034/Calibration/Pos/BDC.cxx
+++ b/Projects/S034/Calibration/Pos/BDC.cxx
@@ -45,6 +45,16 @@ void LoadFile(){
   }
   else {
     cout <<  "Success opening file" << endl;
+
+    /* 
+    int lineCount = 0;  // Initializing a variable to count lines
+std::string line; 
+    while (std::getline(file, line)) {  // Loop through each line in the file
+      lineCount++;  // Incrementing line count for each line read
+    }
+    cout << lineCount << endl;
+    exit(1);
+    */
   }
 
   double xm,ym,zm;
@@ -59,7 +69,9 @@ void LoadFile(){
     pos2.push_back(p2);
     posM.push_back(pM);
   }
+  cout << " Val " << pos1.size() << " Value Loaded" << endl;
   file.close();
+  //exit(1);
 }
 ////////////////////////////////////////////////////////////////////////////////
 void BDC(){
@@ -88,11 +100,13 @@ void BDC(){
   min->Minimize(); 
 
   const double* x = min->X();
-  cout << "X1 =" << x[0]<<endl;
+  cout <<"\033[0;31mX1 = " << x[0]<<endl;
+  // cout << "X1 =" << x[0]<<endl;
   cout << "Y1 =" << x[1]<<endl;
   cout << "Z1 =" << x[2]<<endl;
   cout << "X2 =" << x[3]<<endl;
   cout << "Y2 =" << x[4]<<endl;
   cout << "Z2 =" << x[5]<<endl;
   cout << "Minimum: " << devR(x) << endl;
+  cout << "\033[0m\n";
 }
diff --git a/Projects/S034/Calibration/Pos/FDC.cxx b/Projects/S034/Calibration/Pos/FDC.cxx
index 0bf889b1c58fb8242ddf302a35683f3aa2170bc4..aa4764b368f34a458ad29cc667601b5810eb08d0 100644
--- a/Projects/S034/Calibration/Pos/FDC.cxx
+++ b/Projects/S034/Calibration/Pos/FDC.cxx
@@ -17,7 +17,7 @@ double devB(const double* parameter){
   oM.Print();
   o0.Print();
   o2.Print();
-  field.SetFDC2R(parameter[6]);
+  field.SetFDC2R(parameter[9]);
   static auto h = new TH1D("h","h", 1000,0,10);
   h->Reset();
   for(unsigned int i = 0 ; i < size ; i++){
@@ -28,10 +28,11 @@ double devB(const double* parameter){
     p2=*(pos2[i])+o2;
     d0=(p0-pM).Unit();
 //    p2.Print();
-    if(d0.Z()>0.9)
-      h->Fill(field.FindBrho(p0,d0,p2,*dir2[i])); 
+    h->Fill(field.FindBrho(p0,d0,p2,*dir2[i]));
   } 
-  cout << h->GetStdDev() << " " << parameter[0] << endl;
+  //cout << h->GetStdDev() << " " << parameter[0] << endl;
+  //h->Draw();
+  //gPad->Update();
   return h->GetStdDev();
 }
 ////////////////////////////////////////////////////////////////////////////////
@@ -44,6 +45,14 @@ void LoadFile(){
   }
   else {
     cout <<  "Success opening file" << endl;
+    /*
+    int lineCount = 0;  // Initializing a variable to count lines
+std::string line; 
+    while (std::getline(file, line)) {  // Loop through each line in the file
+      lineCount++;  // Incrementing line count for each line read
+    }
+    cout << lineCount << endl;
+    */
   }
 
   double xm,ym,zm;
@@ -83,7 +92,7 @@ void FDC(){
   double parameter[10]={40.6,0,0,-4657.39, 0, 0,-3372.07,-252.55,0,4123.47};
   devB(parameter);
 
- // min->SetLimitedVariable(0,"AM",parameter[0],1,-90,90);
+  //min->SetLimitedVariable(0,"AM",parameter[0],1,-90,90);
   min->SetFixedVariable(0,"AM",parameter[0]);
   min->SetLimitedVariable(1,"XM",parameter[1],1,-10,10);
   min->SetLimitedVariable(2,"YM",parameter[2],1,-10,10);
@@ -106,15 +115,17 @@ void FDC(){
  */
   min->Minimize(); 
   const double* x = min->X();
-  cout << "AM =" << x[0]<<endl;
-  cout << "XM =" << x[1]<<endl;
-  cout << "YM =" << x[2]<<endl;
-  cout << "ZM =" << x[3]<<endl;
-  cout << "X0 =" << x[4]<<endl;
-  cout << "Y0 =" << x[5]<<endl;
-  cout << "Z0 =" << x[6]<<endl;
-  cout << "X2 =" << x[7]<<endl;
-  cout << "Y2 =" << x[8]<<endl;
-  cout << "Z2 =" << x[9]<<endl;
+  system("Color DE");
+  cout <<"\033[0;31mAM = " << x[0]<<endl;
+  cout << "XM = " << x[1]<<endl;
+  cout << "YM = " << x[2]<<endl;
+  cout << "ZM = " << x[3]<<endl;
+  cout << "X0 = " << x[4]<<endl;
+  cout << "Y0 = " << x[5]<<endl;
+  cout << "Z0 = " << x[6]<<endl;
+  cout << "X2 = " << x[7]<<endl;
+  cout << "Y2 = " << x[8]<<endl;
+  cout << "Z2 = " << x[9]<<endl;
   cout << "Minimum: " << devB(x) << endl;
+  cout << "\033[0m\n";
 }
diff --git a/Projects/S034/PhysicsListOption.txt b/Projects/S034/PhysicsListOption.txt
index 5a8ee25ad212625d67b030883117e7229e89d61f..a58e9877fdc190dd81adf4fe822f09e029220f71 100644
--- a/Projects/S034/PhysicsListOption.txt
+++ b/Projects/S034/PhysicsListOption.txt
@@ -9,5 +9,5 @@ OpticalPhysics 0
 HadronPhysicsINCLXX 0
 HadronPhysicsQGSP_BIC_HP 0
 Decay 0
-DriftElectronPhysics 1
+DriftElectronPhysics 0
 
diff --git a/Projects/S034/db/NEBULA.xml b/Projects/S034/db/NEBULA.xml
index 1a5e451d08ed9d6f24a4227c442bba4d7c55af75..84329e270c8b9dbbafe6fddf8f75e2acff0a55c5 100755
--- a/Projects/S034/db/NEBULA.xml
+++ b/Projects/S034/db/NEBULA.xml
@@ -1,36 +1,36 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <dataroot>
 <NEBULA>
-  <ID>1</ID>
-  <NAME>101</NAME>
-  <FPl>13</FPl>
-  <Layer>1</Layer>
-  <SubLayer>1</SubLayer>
-  <PosX>-1901.8</PosX>
-  <PosY>0</PosY>
-  <PosZ>14431.3</PosZ>
-  <TUCal>0.0656086</TUCal>
-  <TUOff>0</TUOff>
-  <TUSlw>39.763</TUSlw>
-  <QUCal>0.0278832</QUCal>
-  <QUPed>176.884</QUPed>
-  <TDCal>0.0671919</TDCal>
-  <TDOff>0</TDOff>
-  <TDSlw>40.7</TDSlw>
-  <QDCal>0.0278832</QDCal>
-  <QDPed>211.422</QDPed>
-  <DTCal>76.257</DTCal>
-  <DTOff>-51.3483</DTOff>
-  <TAveOff>-25.70746</TAveOff>
-  <tu_geo>11</tu_geo>
-  <tu_ch>0</tu_ch>
-  <qu_geo>21</qu_geo>
-  <qu_ch>0</qu_ch>
-  <td_geo>12</td_geo>
-  <td_ch>0</td_ch>
-  <qd_geo>22</qd_geo>
-  <qd_ch>0</qd_ch>
-  <Ignore>0</Ignore>
+<ID>1</ID>
+<NAME>101</NAME>
+<FPl>13</FPl>
+<Layer>1</Layer>
+<SubLayer>1</SubLayer>
+<PosX>-1901.8</PosX>
+<PosY>0</PosY>
+<PosZ>14431.3</PosZ>
+<TUCal>0.0656086</TUCal>
+<TUOff>0</TUOff>
+<TUSlw>39.763</TUSlw>
+<QUCal>0.0278832</QUCal>
+<QUPed>176.884</QUPed>
+<TDCal>0.0671919</TDCal>
+<TDOff>0</TDOff>
+<TDSlw>40.7</TDSlw>
+<QDCal>0.0278832</QDCal>
+<QDPed>211.422</QDPed>
+<DTCal>76.257</DTCal>
+<DTOff>-51.3483</DTOff>
+<TAveOff>-25.70746</TAveOff>
+<tu_geo>11</tu_geo>
+<tu_ch>0</tu_ch>
+<qu_geo>21</qu_geo>
+<qu_ch>0</qu_ch>
+<td_geo>12</td_geo>
+<td_ch>0</td_ch>
+<qd_geo>22</qd_geo>
+<qd_ch>0</qd_ch>
+<Ignore>0</Ignore>
 </NEBULA>
 <NEBULA>
 <ID>2</ID>
@@ -4264,7 +4264,7 @@
 <SubLayer>0</SubLayer>
 <PosX>-1522</PosX>
 <PosY>0</PosY>
-<PosZ>15004.8</PosZ>
+<PosZ>15024.8</PosZ>
 <TUCal>0.0676695</TUCal>
 <TUOff>0</TUOff>
 <TUSlw>40</TUSlw>
@@ -4328,7 +4328,7 @@
 <SubLayer>0</SubLayer>
 <PosX>-902</PosX>
 <PosY>0</PosY>
-<PosZ>15004.8</PosZ>
+<PosZ>15024.8</PosZ>
 <TUCal>0.0682021</TUCal>
 <TUOff>0</TUOff>
 <TUSlw>40</TUSlw>
@@ -4392,7 +4392,7 @@
 <SubLayer>0</SubLayer>
 <PosX>-282</PosX>
 <PosY>0</PosY>
-<PosZ>15004.8</PosZ>
+<PosZ>15024.8</PosZ>
 <TUCal>0.0679071</TUCal>
 <TUOff>0</TUOff>
 <TUSlw>40</TUSlw>
@@ -4456,7 +4456,7 @@
 <SubLayer>0</SubLayer>
 <PosX>338</PosX>
 <PosY>0</PosY>
-<PosZ>15004.8</PosZ>
+<PosZ>15024.8</PosZ>
 <TUCal>0.0676573</TUCal>
 <TUOff>0</TUOff>
 <TUSlw>40</TUSlw>
@@ -4520,7 +4520,7 @@
 <SubLayer>0</SubLayer>
 <PosX>958</PosX>
 <PosY>0</PosY>
-<PosZ>15004.8</PosZ>
+<PosZ>15024.8</PosZ>
 <TUCal>0.0686263</TUCal>
 <TUOff>0</TUOff>
 <TUSlw>40</TUSlw>
@@ -4584,7 +4584,7 @@
 <SubLayer>0</SubLayer>
 <PosX>1578</PosX>
 <PosY>0</PosY>
-<PosZ>15004.8</PosZ>
+<PosZ>15024.8</PosZ>
 <TUCal>0.0673654</TUCal>
 <TUOff>0</TUOff>
 <TUSlw>40</TUSlw>
@@ -4608,6 +4608,7 @@
 <qd_ch>27</qd_ch>
 <Ignore>0</Ignore>
 </NEBULA>
+<!--
 <NEBULA>
 <ID>145</ID>
 <NAME>NoUse1</NAME>
@@ -5632,4 +5633,5 @@
 <qd_ch>-1</qd_ch>
 <Ignore>0</Ignore>
 </NEBULA>
+-->
 </dataroot>
diff --git a/Projects/S034/db/NEULAND.xml b/Projects/S034/db/NEULAND.xml
index f8a71a54023e0d7e71cba6b65298fb9797d6a0dc..a552f30defa241f33f40faeda51161ee9189b563 100755
--- a/Projects/S034/db/NEULAND.xml
+++ b/Projects/S034/db/NEULAND.xml
@@ -1,47 +1,51 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <dataroot>
 <NEULAND>
-  <ID>1</ID>
-  <NAME>NeuLANDPla0H-0</NAME>
-  <FPL>13</FPL>
-  <direction>H</direction>
-  <layer>0</layer>
-  <bar>0</bar>
-  <qcal0>1</qcal0>
-  <qped0>46</qped0>
-  <tdc0ns0>1178</tdc0ns0>
-  <tdc25ns0>3284</tdc25ns0>
-  <tdc0ns0_t17>1141</tdc0ns0_t17>
-  <tdc25ns0_t17>3281</tdc25ns0_t17>
-  <qcal1>1</qcal1>
-  <qped1>36</qped1>
-  <tdc0ns1>1203</tdc0ns1>
-  <tdc25ns1>3278</tdc25ns1>
-  <tdc0ns1_t17>1154</tdc0ns1_t17>
-  <tdc25ns1_t17>3276</tdc25ns1_t17>
-  <tdiff_offset>45.5521</tdiff_offset>
-  <sync_offset>-13.9147</sync_offset>
-  <vscint>8.37529</vscint>
-  <ediff_offset>1.01314</ediff_offset>
-  <esync_offset>0.0628646</esync_offset>
-  <att>358.252</att>
-  <crate0>1</crate0>
-  <module0>9</module0>
-  <channel0>11</channel0>
-  <sam0>6</sam0>
-  <gtb0>0</gtb0>
-  <crate1>4</crate1>
-  <module1>2</module1>
-  <channel1>1</channel1>
-  <sam1>5</sam1>
-  <gtb1>1</gtb1>
-  <zpos>11165</zpos>
+<ID>1</ID>
+<NAME>NeuLANDPla0H-0</NAME>
+<FPL>13</FPL>
+<direction>H</direction>
+<SubLayer>1</SubLayer>
+<layer>0</layer>
+<bar>0</bar>
+<qcal0>1</qcal0>
+<qped0>46</qped0>
+<tdc0ns0>1178</tdc0ns0>
+<tdc25ns0>3284</tdc25ns0>
+<tdc0ns0_t17>1141</tdc0ns0_t17>
+<tdc25ns0_t17>3281</tdc25ns0_t17>
+<qcal1>1</qcal1>
+<qped1>36</qped1>
+<tdc0ns1>1203</tdc0ns1>
+<tdc25ns1>3278</tdc25ns1>
+<tdc0ns1_t17>1154</tdc0ns1_t17>
+<tdc25ns1_t17>3276</tdc25ns1_t17>
+<tdiff_offset>45.5521</tdiff_offset>
+<sync_offset>-13.9147</sync_offset>
+<vscint>8.37529</vscint>
+<ediff_offset>1.01314</ediff_offset>
+<esync_offset>0.0628646</esync_offset>
+<att>358.252</att>
+<crate0>1</crate0>
+<module0>9</module0>
+<channel0>11</channel0>
+<sam0>6</sam0>
+<gtb0>0</gtb0>
+<crate1>4</crate1>
+<module1>2</module1>
+<channel1>1</channel1>
+<sam1>5</sam1>
+<gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-1225</ypos>
+<zpos>11165</zpos>
 </NEULAND>
 <NEULAND>
 <ID>2</ID>
 <NAME>NeuLANDPla0H-1</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>0</layer>
 <bar>1</bar>
 <qcal0>1</qcal0>
@@ -72,6 +76,8 @@
 <channel1>0</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-1175</ypos>
 <zpos>11165</zpos>
 </NEULAND>
 <NEULAND>
@@ -79,6 +85,7 @@
 <NAME>NeuLANDPla0H-2</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>0</layer>
 <bar>2</bar>
 <qcal0>1</qcal0>
@@ -109,6 +116,8 @@
 <channel1>15</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-1125</ypos>
 <zpos>11165</zpos>
 </NEULAND>
 <NEULAND>
@@ -116,6 +125,7 @@
 <NAME>NeuLANDPla0H-3</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>0</layer>
 <bar>3</bar>
 <qcal0>1</qcal0>
@@ -146,6 +156,8 @@
 <channel1>14</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-1075</ypos>
 <zpos>11165</zpos>
 </NEULAND>
 <NEULAND>
@@ -153,6 +165,7 @@
 <NAME>NeuLANDPla0H-4</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>0</layer>
 <bar>4</bar>
 <qcal0>1</qcal0>
@@ -183,6 +196,8 @@
 <channel1>13</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-1025</ypos>
 <zpos>11165</zpos>
 </NEULAND>
 <NEULAND>
@@ -190,6 +205,7 @@
 <NAME>NeuLANDPla0H-5</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>0</layer>
 <bar>5</bar>
 <qcal0>1</qcal0>
@@ -220,6 +236,8 @@
 <channel1>12</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-975</ypos>
 <zpos>11165</zpos>
 </NEULAND>
 <NEULAND>
@@ -227,6 +245,7 @@
 <NAME>NeuLANDPla0H-6</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>0</layer>
 <bar>6</bar>
 <qcal0>1</qcal0>
@@ -257,6 +276,8 @@
 <channel1>11</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-925</ypos>
 <zpos>11165</zpos>
 </NEULAND>
 <NEULAND>
@@ -264,6 +285,7 @@
 <NAME>NeuLANDPla0H-7</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>0</layer>
 <bar>7</bar>
 <qcal0>1</qcal0>
@@ -294,6 +316,8 @@
 <channel1>10</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-875</ypos>
 <zpos>11165</zpos>
 </NEULAND>
 <NEULAND>
@@ -301,6 +325,7 @@
 <NAME>NeuLANDPla0H-8</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>0</layer>
 <bar>8</bar>
 <qcal0>1</qcal0>
@@ -331,6 +356,8 @@
 <channel1>9</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-825</ypos>
 <zpos>11165</zpos>
 </NEULAND>
 <NEULAND>
@@ -338,6 +365,7 @@
 <NAME>NeuLANDPla0H-9</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>0</layer>
 <bar>9</bar>
 <qcal0>1</qcal0>
@@ -368,6 +396,8 @@
 <channel1>8</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-775</ypos>
 <zpos>11165</zpos>
 </NEULAND>
 <NEULAND>
@@ -375,6 +405,7 @@
 <NAME>NeuLANDPla0H-10</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>0</layer>
 <bar>10</bar>
 <qcal0>1</qcal0>
@@ -405,6 +436,8 @@
 <channel1>7</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-725</ypos>
 <zpos>11165</zpos>
 </NEULAND>
 <NEULAND>
@@ -412,6 +445,7 @@
 <NAME>NeuLANDPla0H-11</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>0</layer>
 <bar>11</bar>
 <qcal0>1</qcal0>
@@ -442,6 +476,8 @@
 <channel1>6</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-675</ypos>
 <zpos>11165</zpos>
 </NEULAND>
 <NEULAND>
@@ -449,6 +485,7 @@
 <NAME>NeuLANDPla0H-12</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>0</layer>
 <bar>12</bar>
 <qcal0>1</qcal0>
@@ -479,6 +516,8 @@
 <channel1>5</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-625</ypos>
 <zpos>11165</zpos>
 </NEULAND>
 <NEULAND>
@@ -486,6 +525,7 @@
 <NAME>NeuLANDPla0H-13</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>0</layer>
 <bar>13</bar>
 <qcal0>1</qcal0>
@@ -516,6 +556,8 @@
 <channel1>4</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-575</ypos>
 <zpos>11165</zpos>
 </NEULAND>
 <NEULAND>
@@ -523,6 +565,7 @@
 <NAME>NeuLANDPla0H-14</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>0</layer>
 <bar>14</bar>
 <qcal0>1</qcal0>
@@ -553,6 +596,8 @@
 <channel1>3</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-525</ypos>
 <zpos>11165</zpos>
 </NEULAND>
 <NEULAND>
@@ -560,6 +605,7 @@
 <NAME>NeuLANDPla0H-15</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>0</layer>
 <bar>15</bar>
 <qcal0>1</qcal0>
@@ -590,6 +636,8 @@
 <channel1>2</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-475</ypos>
 <zpos>11165</zpos>
 </NEULAND>
 <NEULAND>
@@ -597,6 +645,7 @@
 <NAME>NeuLANDPla0H-16</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>0</layer>
 <bar>16</bar>
 <qcal0>1</qcal0>
@@ -627,6 +676,8 @@
 <channel1>1</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-425</ypos>
 <zpos>11165</zpos>
 </NEULAND>
 <NEULAND>
@@ -634,6 +685,7 @@
 <NAME>NeuLANDPla0H-17</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>0</layer>
 <bar>17</bar>
 <qcal0>1</qcal0>
@@ -664,6 +716,8 @@
 <channel1>0</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-375</ypos>
 <zpos>11165</zpos>
 </NEULAND>
 <NEULAND>
@@ -671,6 +725,7 @@
 <NAME>NeuLANDPla0H-18</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>0</layer>
 <bar>18</bar>
 <qcal0>1</qcal0>
@@ -701,6 +756,8 @@
 <channel1>15</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-325</ypos>
 <zpos>11165</zpos>
 </NEULAND>
 <NEULAND>
@@ -708,6 +765,7 @@
 <NAME>NeuLANDPla0H-19</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>0</layer>
 <bar>19</bar>
 <qcal0>1</qcal0>
@@ -738,6 +796,8 @@
 <channel1>14</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-275</ypos>
 <zpos>11165</zpos>
 </NEULAND>
 <NEULAND>
@@ -745,6 +805,7 @@
 <NAME>NeuLANDPla0H-20</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>0</layer>
 <bar>20</bar>
 <qcal0>1</qcal0>
@@ -775,6 +836,8 @@
 <channel1>13</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-225</ypos>
 <zpos>11165</zpos>
 </NEULAND>
 <NEULAND>
@@ -782,6 +845,7 @@
 <NAME>NeuLANDPla0H-21</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>0</layer>
 <bar>21</bar>
 <qcal0>1</qcal0>
@@ -812,6 +876,8 @@
 <channel1>12</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-175</ypos>
 <zpos>11165</zpos>
 </NEULAND>
 <NEULAND>
@@ -819,6 +885,7 @@
 <NAME>NeuLANDPla0H-22</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>0</layer>
 <bar>22</bar>
 <qcal0>1</qcal0>
@@ -849,6 +916,8 @@
 <channel1>11</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-125</ypos>
 <zpos>11165</zpos>
 </NEULAND>
 <NEULAND>
@@ -856,6 +925,7 @@
 <NAME>NeuLANDPla0H-23</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>0</layer>
 <bar>23</bar>
 <qcal0>1</qcal0>
@@ -886,6 +956,8 @@
 <channel1>10</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-75</ypos>
 <zpos>11165</zpos>
 </NEULAND>
 <NEULAND>
@@ -893,6 +965,7 @@
 <NAME>NeuLANDPla0H-24</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>0</layer>
 <bar>24</bar>
 <qcal0>1</qcal0>
@@ -923,6 +996,8 @@
 <channel1>9</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-25</ypos>
 <zpos>11165</zpos>
 </NEULAND>
 <NEULAND>
@@ -930,6 +1005,7 @@
 <NAME>NeuLANDPla0H-25</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>0</layer>
 <bar>25</bar>
 <qcal0>1</qcal0>
@@ -960,6 +1036,8 @@
 <channel1>8</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>25</ypos>
 <zpos>11165</zpos>
 </NEULAND>
 <NEULAND>
@@ -967,6 +1045,7 @@
 <NAME>NeuLANDPla0H-26</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>0</layer>
 <bar>26</bar>
 <qcal0>1</qcal0>
@@ -997,6 +1076,8 @@
 <channel1>7</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>75</ypos>
 <zpos>11165</zpos>
 </NEULAND>
 <NEULAND>
@@ -1004,6 +1085,7 @@
 <NAME>NeuLANDPla0H-27</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>0</layer>
 <bar>27</bar>
 <qcal0>1</qcal0>
@@ -1034,6 +1116,8 @@
 <channel1>6</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>125</ypos>
 <zpos>11165</zpos>
 </NEULAND>
 <NEULAND>
@@ -1041,6 +1125,7 @@
 <NAME>NeuLANDPla0H-28</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>0</layer>
 <bar>28</bar>
 <qcal0>1</qcal0>
@@ -1071,6 +1156,8 @@
 <channel1>5</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>175</ypos>
 <zpos>11165</zpos>
 </NEULAND>
 <NEULAND>
@@ -1078,6 +1165,7 @@
 <NAME>NeuLANDPla0H-29</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>0</layer>
 <bar>29</bar>
 <qcal0>1</qcal0>
@@ -1108,6 +1196,8 @@
 <channel1>4</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>225</ypos>
 <zpos>11165</zpos>
 </NEULAND>
 <NEULAND>
@@ -1115,6 +1205,7 @@
 <NAME>NeuLANDPla0H-30</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>0</layer>
 <bar>30</bar>
 <qcal0>1</qcal0>
@@ -1145,6 +1236,8 @@
 <channel1>3</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>275</ypos>
 <zpos>11165</zpos>
 </NEULAND>
 <NEULAND>
@@ -1152,6 +1245,7 @@
 <NAME>NeuLANDPla0H-31</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>0</layer>
 <bar>31</bar>
 <qcal0>1</qcal0>
@@ -1182,6 +1276,8 @@
 <channel1>2</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>325</ypos>
 <zpos>11165</zpos>
 </NEULAND>
 <NEULAND>
@@ -1189,6 +1285,7 @@
 <NAME>NeuLANDPla0H-32</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>0</layer>
 <bar>32</bar>
 <qcal0>1</qcal0>
@@ -1219,6 +1316,8 @@
 <channel1>1</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>375</ypos>
 <zpos>11165</zpos>
 </NEULAND>
 <NEULAND>
@@ -1226,6 +1325,7 @@
 <NAME>NeuLANDPla0H-33</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>0</layer>
 <bar>33</bar>
 <qcal0>1</qcal0>
@@ -1256,6 +1356,8 @@
 <channel1>0</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>425</ypos>
 <zpos>11165</zpos>
 </NEULAND>
 <NEULAND>
@@ -1263,6 +1365,7 @@
 <NAME>NeuLANDPla0H-34</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>0</layer>
 <bar>34</bar>
 <qcal0>1</qcal0>
@@ -1293,6 +1396,8 @@
 <channel1>15</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>475</ypos>
 <zpos>11165</zpos>
 </NEULAND>
 <NEULAND>
@@ -1300,6 +1405,7 @@
 <NAME>NeuLANDPla0H-35</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>0</layer>
 <bar>35</bar>
 <qcal0>1</qcal0>
@@ -1330,6 +1436,8 @@
 <channel1>14</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>525</ypos>
 <zpos>11165</zpos>
 </NEULAND>
 <NEULAND>
@@ -1337,6 +1445,7 @@
 <NAME>NeuLANDPla0H-36</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>0</layer>
 <bar>36</bar>
 <qcal0>1</qcal0>
@@ -1367,6 +1476,8 @@
 <channel1>13</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>575</ypos>
 <zpos>11165</zpos>
 </NEULAND>
 <NEULAND>
@@ -1374,6 +1485,7 @@
 <NAME>NeuLANDPla0H-37</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>0</layer>
 <bar>37</bar>
 <qcal0>1</qcal0>
@@ -1404,6 +1516,8 @@
 <channel1>12</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>625</ypos>
 <zpos>11165</zpos>
 </NEULAND>
 <NEULAND>
@@ -1411,6 +1525,7 @@
 <NAME>NeuLANDPla0H-38</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>0</layer>
 <bar>38</bar>
 <qcal0>1</qcal0>
@@ -1441,6 +1556,8 @@
 <channel1>11</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>675</ypos>
 <zpos>11165</zpos>
 </NEULAND>
 <NEULAND>
@@ -1448,6 +1565,7 @@
 <NAME>NeuLANDPla0H-39</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>0</layer>
 <bar>39</bar>
 <qcal0>1</qcal0>
@@ -1478,6 +1596,8 @@
 <channel1>10</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>725</ypos>
 <zpos>11165</zpos>
 </NEULAND>
 <NEULAND>
@@ -1485,6 +1605,7 @@
 <NAME>NeuLANDPla0H-40</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>0</layer>
 <bar>40</bar>
 <qcal0>1</qcal0>
@@ -1515,6 +1636,8 @@
 <channel1>9</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>775</ypos>
 <zpos>11165</zpos>
 </NEULAND>
 <NEULAND>
@@ -1522,6 +1645,7 @@
 <NAME>NeuLANDPla0H-41</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>0</layer>
 <bar>41</bar>
 <qcal0>1</qcal0>
@@ -1552,6 +1676,8 @@
 <channel1>8</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>825</ypos>
 <zpos>11165</zpos>
 </NEULAND>
 <NEULAND>
@@ -1559,6 +1685,7 @@
 <NAME>NeuLANDPla0H-42</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>0</layer>
 <bar>42</bar>
 <qcal0>1</qcal0>
@@ -1589,6 +1716,8 @@
 <channel1>7</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>875</ypos>
 <zpos>11165</zpos>
 </NEULAND>
 <NEULAND>
@@ -1596,6 +1725,7 @@
 <NAME>NeuLANDPla0H-43</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>0</layer>
 <bar>43</bar>
 <qcal0>1</qcal0>
@@ -1626,6 +1756,8 @@
 <channel1>6</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>925</ypos>
 <zpos>11165</zpos>
 </NEULAND>
 <NEULAND>
@@ -1633,6 +1765,7 @@
 <NAME>NeuLANDPla0H-44</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>0</layer>
 <bar>44</bar>
 <qcal0>1</qcal0>
@@ -1663,6 +1796,8 @@
 <channel1>5</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>975</ypos>
 <zpos>11165</zpos>
 </NEULAND>
 <NEULAND>
@@ -1670,6 +1805,7 @@
 <NAME>NeuLANDPla0H-45</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>0</layer>
 <bar>45</bar>
 <qcal0>1</qcal0>
@@ -1700,6 +1836,8 @@
 <channel1>4</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>1025</ypos>
 <zpos>11165</zpos>
 </NEULAND>
 <NEULAND>
@@ -1707,6 +1845,7 @@
 <NAME>NeuLANDPla0H-46</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>0</layer>
 <bar>46</bar>
 <qcal0>1</qcal0>
@@ -1737,6 +1876,8 @@
 <channel1>3</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>1075</ypos>
 <zpos>11165</zpos>
 </NEULAND>
 <NEULAND>
@@ -1744,6 +1885,7 @@
 <NAME>NeuLANDPla0H-47</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>0</layer>
 <bar>47</bar>
 <qcal0>1</qcal0>
@@ -1774,6 +1916,8 @@
 <channel1>2</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>1125</ypos>
 <zpos>11165</zpos>
 </NEULAND>
 <NEULAND>
@@ -1781,6 +1925,7 @@
 <NAME>NeuLANDPla0H-48</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>0</layer>
 <bar>48</bar>
 <qcal0>1</qcal0>
@@ -1811,6 +1956,8 @@
 <channel1>1</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>1175</ypos>
 <zpos>11165</zpos>
 </NEULAND>
 <NEULAND>
@@ -1818,6 +1965,7 @@
 <NAME>NeuLANDPla0H-49</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>0</layer>
 <bar>49</bar>
 <qcal0>1</qcal0>
@@ -1848,6 +1996,8 @@
 <channel1>0</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>1225</ypos>
 <zpos>11165</zpos>
 </NEULAND>
 <NEULAND>
@@ -1855,6 +2005,7 @@
 <NAME>NeuLANDPla1V-0</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>1</layer>
 <bar>0</bar>
 <qcal0>1</qcal0>
@@ -1885,6 +2036,8 @@
 <channel1>9</channel1>
 <sam1>6</sam1>
 <gtb1>1</gtb1>
+<xpos>-1225</xpos>
+<ypos>0</ypos>
 <zpos>11215</zpos>
 </NEULAND>
 <NEULAND>
@@ -1892,6 +2045,7 @@
 <NAME>NeuLANDPla1V-1</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>1</layer>
 <bar>1</bar>
 <qcal0>1</qcal0>
@@ -1922,6 +2076,8 @@
 <channel1>8</channel1>
 <sam1>6</sam1>
 <gtb1>1</gtb1>
+<xpos>-1175</xpos>
+<ypos>0</ypos>
 <zpos>11215</zpos>
 </NEULAND>
 <NEULAND>
@@ -1929,6 +2085,7 @@
 <NAME>NeuLANDPla1V-2</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>1</layer>
 <bar>2</bar>
 <qcal0>1</qcal0>
@@ -1959,6 +2116,8 @@
 <channel1>7</channel1>
 <sam1>6</sam1>
 <gtb1>1</gtb1>
+<xpos>-1125</xpos>
+<ypos>0</ypos>
 <zpos>11215</zpos>
 </NEULAND>
 <NEULAND>
@@ -1966,6 +2125,7 @@
 <NAME>NeuLANDPla1V-3</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>1</layer>
 <bar>3</bar>
 <qcal0>1</qcal0>
@@ -1996,6 +2156,8 @@
 <channel1>6</channel1>
 <sam1>6</sam1>
 <gtb1>1</gtb1>
+<xpos>-1075</xpos>
+<ypos>0</ypos>
 <zpos>11215</zpos>
 </NEULAND>
 <NEULAND>
@@ -2003,6 +2165,7 @@
 <NAME>NeuLANDPla1V-4</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>1</layer>
 <bar>4</bar>
 <qcal0>1</qcal0>
@@ -2033,6 +2196,8 @@
 <channel1>5</channel1>
 <sam1>6</sam1>
 <gtb1>1</gtb1>
+<xpos>-1025</xpos>
+<ypos>0</ypos>
 <zpos>11215</zpos>
 </NEULAND>
 <NEULAND>
@@ -2040,6 +2205,7 @@
 <NAME>NeuLANDPla1V-5</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>1</layer>
 <bar>5</bar>
 <qcal0>1</qcal0>
@@ -2070,6 +2236,8 @@
 <channel1>4</channel1>
 <sam1>6</sam1>
 <gtb1>1</gtb1>
+<xpos>-975</xpos>
+<ypos>0</ypos>
 <zpos>11215</zpos>
 </NEULAND>
 <NEULAND>
@@ -2077,6 +2245,7 @@
 <NAME>NeuLANDPla1V-6</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>1</layer>
 <bar>6</bar>
 <qcal0>1</qcal0>
@@ -2107,6 +2276,8 @@
 <channel1>3</channel1>
 <sam1>6</sam1>
 <gtb1>1</gtb1>
+<xpos>-925</xpos>
+<ypos>0</ypos>
 <zpos>11215</zpos>
 </NEULAND>
 <NEULAND>
@@ -2114,6 +2285,7 @@
 <NAME>NeuLANDPla1V-7</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>1</layer>
 <bar>7</bar>
 <qcal0>1</qcal0>
@@ -2144,6 +2316,8 @@
 <channel1>2</channel1>
 <sam1>6</sam1>
 <gtb1>1</gtb1>
+<xpos>-875</xpos>
+<ypos>0</ypos>
 <zpos>11215</zpos>
 </NEULAND>
 <NEULAND>
@@ -2151,6 +2325,7 @@
 <NAME>NeuLANDPla1V-8</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>1</layer>
 <bar>8</bar>
 <qcal0>1</qcal0>
@@ -2181,6 +2356,8 @@
 <channel1>1</channel1>
 <sam1>6</sam1>
 <gtb1>1</gtb1>
+<xpos>-825</xpos>
+<ypos>0</ypos>
 <zpos>11215</zpos>
 </NEULAND>
 <NEULAND>
@@ -2188,6 +2365,7 @@
 <NAME>NeuLANDPla1V-9</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>1</layer>
 <bar>9</bar>
 <qcal0>1</qcal0>
@@ -2218,6 +2396,8 @@
 <channel1>0</channel1>
 <sam1>6</sam1>
 <gtb1>1</gtb1>
+<xpos>-775</xpos>
+<ypos>0</ypos>
 <zpos>11215</zpos>
 </NEULAND>
 <NEULAND>
@@ -2225,6 +2405,7 @@
 <NAME>NeuLANDPla1V-10</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>1</layer>
 <bar>10</bar>
 <qcal0>1</qcal0>
@@ -2255,6 +2436,8 @@
 <channel1>15</channel1>
 <sam1>6</sam1>
 <gtb1>1</gtb1>
+<xpos>-725</xpos>
+<ypos>0</ypos>
 <zpos>11215</zpos>
 </NEULAND>
 <NEULAND>
@@ -2262,6 +2445,7 @@
 <NAME>NeuLANDPla1V-11</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>1</layer>
 <bar>11</bar>
 <qcal0>1</qcal0>
@@ -2292,6 +2476,8 @@
 <channel1>14</channel1>
 <sam1>6</sam1>
 <gtb1>1</gtb1>
+<xpos>-675</xpos>
+<ypos>0</ypos>
 <zpos>11215</zpos>
 </NEULAND>
 <NEULAND>
@@ -2299,6 +2485,7 @@
 <NAME>NeuLANDPla1V-12</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>1</layer>
 <bar>12</bar>
 <qcal0>1</qcal0>
@@ -2329,6 +2516,8 @@
 <channel1>13</channel1>
 <sam1>6</sam1>
 <gtb1>1</gtb1>
+<xpos>-625</xpos>
+<ypos>0</ypos>
 <zpos>11215</zpos>
 </NEULAND>
 <NEULAND>
@@ -2336,6 +2525,7 @@
 <NAME>NeuLANDPla1V-13</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>1</layer>
 <bar>13</bar>
 <qcal0>1</qcal0>
@@ -2366,6 +2556,8 @@
 <channel1>12</channel1>
 <sam1>6</sam1>
 <gtb1>1</gtb1>
+<xpos>-575</xpos>
+<ypos>0</ypos>
 <zpos>11215</zpos>
 </NEULAND>
 <NEULAND>
@@ -2373,6 +2565,7 @@
 <NAME>NeuLANDPla1V-14</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>1</layer>
 <bar>14</bar>
 <qcal0>1</qcal0>
@@ -2403,6 +2596,8 @@
 <channel1>11</channel1>
 <sam1>6</sam1>
 <gtb1>1</gtb1>
+<xpos>-525</xpos>
+<ypos>0</ypos>
 <zpos>11215</zpos>
 </NEULAND>
 <NEULAND>
@@ -2410,6 +2605,7 @@
 <NAME>NeuLANDPla1V-15</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>1</layer>
 <bar>15</bar>
 <qcal0>1</qcal0>
@@ -2440,6 +2636,8 @@
 <channel1>10</channel1>
 <sam1>6</sam1>
 <gtb1>1</gtb1>
+<xpos>-475</xpos>
+<ypos>0</ypos>
 <zpos>11215</zpos>
 </NEULAND>
 <NEULAND>
@@ -2447,6 +2645,7 @@
 <NAME>NeuLANDPla1V-16</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>1</layer>
 <bar>16</bar>
 <qcal0>1</qcal0>
@@ -2477,6 +2676,8 @@
 <channel1>9</channel1>
 <sam1>6</sam1>
 <gtb1>1</gtb1>
+<xpos>-425</xpos>
+<ypos>0</ypos>
 <zpos>11215</zpos>
 </NEULAND>
 <NEULAND>
@@ -2484,6 +2685,7 @@
 <NAME>NeuLANDPla1V-17</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>1</layer>
 <bar>17</bar>
 <qcal0>1</qcal0>
@@ -2514,6 +2716,8 @@
 <channel1>8</channel1>
 <sam1>6</sam1>
 <gtb1>1</gtb1>
+<xpos>-375</xpos>
+<ypos>0</ypos>
 <zpos>11215</zpos>
 </NEULAND>
 <NEULAND>
@@ -2521,6 +2725,7 @@
 <NAME>NeuLANDPla1V-18</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>1</layer>
 <bar>18</bar>
 <qcal0>1</qcal0>
@@ -2551,6 +2756,8 @@
 <channel1>7</channel1>
 <sam1>5</sam1>
 <gtb1>0</gtb1>
+<xpos>-325</xpos>
+<ypos>0</ypos>
 <zpos>11215</zpos>
 </NEULAND>
 <NEULAND>
@@ -2558,6 +2765,7 @@
 <NAME>NeuLANDPla1V-19</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>1</layer>
 <bar>19</bar>
 <qcal0>1</qcal0>
@@ -2588,6 +2796,8 @@
 <channel1>6</channel1>
 <sam1>5</sam1>
 <gtb1>0</gtb1>
+<xpos>-275</xpos>
+<ypos>0</ypos>
 <zpos>11215</zpos>
 </NEULAND>
 <NEULAND>
@@ -2595,6 +2805,7 @@
 <NAME>NeuLANDPla1V-20</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>1</layer>
 <bar>20</bar>
 <qcal0>1</qcal0>
@@ -2625,6 +2836,8 @@
 <channel1>5</channel1>
 <sam1>5</sam1>
 <gtb1>0</gtb1>
+<xpos>-225</xpos>
+<ypos>0</ypos>
 <zpos>11215</zpos>
 </NEULAND>
 <NEULAND>
@@ -2632,6 +2845,7 @@
 <NAME>NeuLANDPla1V-21</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>1</layer>
 <bar>21</bar>
 <qcal0>1</qcal0>
@@ -2662,6 +2876,8 @@
 <channel1>4</channel1>
 <sam1>5</sam1>
 <gtb1>0</gtb1>
+<xpos>-175</xpos>
+<ypos>0</ypos>
 <zpos>11215</zpos>
 </NEULAND>
 <NEULAND>
@@ -2669,6 +2885,7 @@
 <NAME>NeuLANDPla1V-22</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>1</layer>
 <bar>22</bar>
 <qcal0>1</qcal0>
@@ -2699,6 +2916,8 @@
 <channel1>3</channel1>
 <sam1>5</sam1>
 <gtb1>0</gtb1>
+<xpos>-125</xpos>
+<ypos>0</ypos>
 <zpos>11215</zpos>
 </NEULAND>
 <NEULAND>
@@ -2706,6 +2925,7 @@
 <NAME>NeuLANDPla1V-23</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>1</layer>
 <bar>23</bar>
 <qcal0>1</qcal0>
@@ -2736,6 +2956,8 @@
 <channel1>2</channel1>
 <sam1>5</sam1>
 <gtb1>0</gtb1>
+<xpos>-75</xpos>
+<ypos>0</ypos>
 <zpos>11215</zpos>
 </NEULAND>
 <NEULAND>
@@ -2743,6 +2965,7 @@
 <NAME>NeuLANDPla1V-24</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>1</layer>
 <bar>24</bar>
 <qcal0>1</qcal0>
@@ -2773,6 +2996,8 @@
 <channel1>1</channel1>
 <sam1>5</sam1>
 <gtb1>0</gtb1>
+<xpos>-25</xpos>
+<ypos>0</ypos>
 <zpos>11215</zpos>
 </NEULAND>
 <NEULAND>
@@ -2780,6 +3005,7 @@
 <NAME>NeuLANDPla1V-25</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>1</layer>
 <bar>25</bar>
 <qcal0>1</qcal0>
@@ -2810,6 +3036,8 @@
 <channel1>0</channel1>
 <sam1>5</sam1>
 <gtb1>0</gtb1>
+<xpos>25</xpos>
+<ypos>0</ypos>
 <zpos>11215</zpos>
 </NEULAND>
 <NEULAND>
@@ -2817,6 +3045,7 @@
 <NAME>NeuLANDPla1V-26</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>1</layer>
 <bar>26</bar>
 <qcal0>1</qcal0>
@@ -2847,6 +3076,8 @@
 <channel1>15</channel1>
 <sam1>5</sam1>
 <gtb1>0</gtb1>
+<xpos>75</xpos>
+<ypos>0</ypos>
 <zpos>11215</zpos>
 </NEULAND>
 <NEULAND>
@@ -2854,6 +3085,7 @@
 <NAME>NeuLANDPla1V-27</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>1</layer>
 <bar>27</bar>
 <qcal0>1</qcal0>
@@ -2884,6 +3116,8 @@
 <channel1>14</channel1>
 <sam1>5</sam1>
 <gtb1>0</gtb1>
+<xpos>125</xpos>
+<ypos>0</ypos>
 <zpos>11215</zpos>
 </NEULAND>
 <NEULAND>
@@ -2891,6 +3125,7 @@
 <NAME>NeuLANDPla1V-28</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>1</layer>
 <bar>28</bar>
 <qcal0>1</qcal0>
@@ -2921,6 +3156,8 @@
 <channel1>13</channel1>
 <sam1>5</sam1>
 <gtb1>0</gtb1>
+<xpos>175</xpos>
+<ypos>0</ypos>
 <zpos>11215</zpos>
 </NEULAND>
 <NEULAND>
@@ -2928,6 +3165,7 @@
 <NAME>NeuLANDPla1V-29</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>1</layer>
 <bar>29</bar>
 <qcal0>1</qcal0>
@@ -2958,6 +3196,8 @@
 <channel1>12</channel1>
 <sam1>5</sam1>
 <gtb1>0</gtb1>
+<xpos>225</xpos>
+<ypos>0</ypos>
 <zpos>11215</zpos>
 </NEULAND>
 <NEULAND>
@@ -2965,6 +3205,7 @@
 <NAME>NeuLANDPla1V-30</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>1</layer>
 <bar>30</bar>
 <qcal0>1</qcal0>
@@ -2995,6 +3236,8 @@
 <channel1>15</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>275</xpos>
+<ypos>0</ypos>
 <zpos>11215</zpos>
 </NEULAND>
 <NEULAND>
@@ -3002,6 +3245,7 @@
 <NAME>NeuLANDPla1V-31</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>1</layer>
 <bar>31</bar>
 <qcal0>1</qcal0>
@@ -3032,6 +3276,8 @@
 <channel1>14</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>325</xpos>
+<ypos>0</ypos>
 <zpos>11215</zpos>
 </NEULAND>
 <NEULAND>
@@ -3039,6 +3285,7 @@
 <NAME>NeuLANDPla1V-32</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>1</layer>
 <bar>32</bar>
 <qcal0>1</qcal0>
@@ -3069,6 +3316,8 @@
 <channel1>13</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>375</xpos>
+<ypos>0</ypos>
 <zpos>11215</zpos>
 </NEULAND>
 <NEULAND>
@@ -3076,6 +3325,7 @@
 <NAME>NeuLANDPla1V-33</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>1</layer>
 <bar>33</bar>
 <qcal0>1</qcal0>
@@ -3106,6 +3356,8 @@
 <channel1>12</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>425</xpos>
+<ypos>0</ypos>
 <zpos>11215</zpos>
 </NEULAND>
 <NEULAND>
@@ -3113,6 +3365,7 @@
 <NAME>NeuLANDPla1V-34</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>1</layer>
 <bar>34</bar>
 <qcal0>1</qcal0>
@@ -3143,6 +3396,8 @@
 <channel1>11</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>475</xpos>
+<ypos>0</ypos>
 <zpos>11215</zpos>
 </NEULAND>
 <NEULAND>
@@ -3150,6 +3405,7 @@
 <NAME>NeuLANDPla1V-35</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>1</layer>
 <bar>35</bar>
 <qcal0>1</qcal0>
@@ -3180,6 +3436,8 @@
 <channel1>10</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>525</xpos>
+<ypos>0</ypos>
 <zpos>11215</zpos>
 </NEULAND>
 <NEULAND>
@@ -3187,6 +3445,7 @@
 <NAME>NeuLANDPla1V-36</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>1</layer>
 <bar>36</bar>
 <qcal0>1</qcal0>
@@ -3217,6 +3476,8 @@
 <channel1>9</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>575</xpos>
+<ypos>0</ypos>
 <zpos>11215</zpos>
 </NEULAND>
 <NEULAND>
@@ -3224,6 +3485,7 @@
 <NAME>NeuLANDPla1V-37</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>1</layer>
 <bar>37</bar>
 <qcal0>1</qcal0>
@@ -3254,6 +3516,8 @@
 <channel1>8</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>625</xpos>
+<ypos>0</ypos>
 <zpos>11215</zpos>
 </NEULAND>
 <NEULAND>
@@ -3261,6 +3525,7 @@
 <NAME>NeuLANDPla1V-38</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>1</layer>
 <bar>38</bar>
 <qcal0>1</qcal0>
@@ -3291,6 +3556,8 @@
 <channel1>7</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>675</xpos>
+<ypos>0</ypos>
 <zpos>11215</zpos>
 </NEULAND>
 <NEULAND>
@@ -3298,6 +3565,7 @@
 <NAME>NeuLANDPla1V-39</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>1</layer>
 <bar>39</bar>
 <qcal0>1</qcal0>
@@ -3328,6 +3596,8 @@
 <channel1>6</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>725</xpos>
+<ypos>0</ypos>
 <zpos>11215</zpos>
 </NEULAND>
 <NEULAND>
@@ -3335,6 +3605,7 @@
 <NAME>NeuLANDPla1V-40</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>1</layer>
 <bar>40</bar>
 <qcal0>1</qcal0>
@@ -3365,6 +3636,8 @@
 <channel1>5</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>775</xpos>
+<ypos>0</ypos>
 <zpos>11215</zpos>
 </NEULAND>
 <NEULAND>
@@ -3372,6 +3645,7 @@
 <NAME>NeuLANDPla1V-41</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>1</layer>
 <bar>41</bar>
 <qcal0>1</qcal0>
@@ -3402,6 +3676,8 @@
 <channel1>4</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>825</xpos>
+<ypos>0</ypos>
 <zpos>11215</zpos>
 </NEULAND>
 <NEULAND>
@@ -3409,6 +3685,7 @@
 <NAME>NeuLANDPla1V-42</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>1</layer>
 <bar>42</bar>
 <qcal0>1</qcal0>
@@ -3439,6 +3716,8 @@
 <channel1>3</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>875</xpos>
+<ypos>0</ypos>
 <zpos>11215</zpos>
 </NEULAND>
 <NEULAND>
@@ -3446,6 +3725,7 @@
 <NAME>NeuLANDPla1V-43</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>1</layer>
 <bar>43</bar>
 <qcal0>1</qcal0>
@@ -3476,6 +3756,8 @@
 <channel1>2</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>925</xpos>
+<ypos>0</ypos>
 <zpos>11215</zpos>
 </NEULAND>
 <NEULAND>
@@ -3483,6 +3765,7 @@
 <NAME>NeuLANDPla1V-44</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>1</layer>
 <bar>44</bar>
 <qcal0>1</qcal0>
@@ -3513,6 +3796,8 @@
 <channel1>1</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>975</xpos>
+<ypos>0</ypos>
 <zpos>11215</zpos>
 </NEULAND>
 <NEULAND>
@@ -3520,6 +3805,7 @@
 <NAME>NeuLANDPla1V-45</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>1</layer>
 <bar>45</bar>
 <qcal0>1</qcal0>
@@ -3550,6 +3836,8 @@
 <channel1>0</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>1025</xpos>
+<ypos>0</ypos>
 <zpos>11215</zpos>
 </NEULAND>
 <NEULAND>
@@ -3557,6 +3845,7 @@
 <NAME>NeuLANDPla1V-46</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>1</layer>
 <bar>46</bar>
 <qcal0>1</qcal0>
@@ -3587,6 +3876,8 @@
 <channel1>15</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>1075</xpos>
+<ypos>0</ypos>
 <zpos>11215</zpos>
 </NEULAND>
 <NEULAND>
@@ -3594,6 +3885,7 @@
 <NAME>NeuLANDPla1V-47</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>1</layer>
 <bar>47</bar>
 <qcal0>1</qcal0>
@@ -3624,6 +3916,8 @@
 <channel1>14</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>1125</xpos>
+<ypos>0</ypos>
 <zpos>11215</zpos>
 </NEULAND>
 <NEULAND>
@@ -3631,6 +3925,7 @@
 <NAME>NeuLANDPla1V-48</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>1</layer>
 <bar>48</bar>
 <qcal0>1</qcal0>
@@ -3661,6 +3956,8 @@
 <channel1>13</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>1175</xpos>
+<ypos>0</ypos>
 <zpos>11215</zpos>
 </NEULAND>
 <NEULAND>
@@ -3668,6 +3965,7 @@
 <NAME>NeuLANDPla1V-49</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>1</layer>
 <bar>49</bar>
 <qcal0>1</qcal0>
@@ -3698,6 +3996,8 @@
 <channel1>12</channel1>
 <sam1>5</sam1>
 <gtb1>1</gtb1>
+<xpos>1225</xpos>
+<ypos>0</ypos>
 <zpos>11215</zpos>
 </NEULAND>
 <NEULAND>
@@ -3705,6 +4005,7 @@
 <NAME>NeuLANDPla2H-0</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>2</layer>
 <bar>0</bar>
 <qcal0>1</qcal0>
@@ -3735,6 +4036,8 @@
 <channel1>1</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-1225</ypos>
 <zpos>11265</zpos>
 </NEULAND>
 <NEULAND>
@@ -3742,6 +4045,7 @@
 <NAME>NeuLANDPla2H-1</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>2</layer>
 <bar>1</bar>
 <qcal0>1</qcal0>
@@ -3772,6 +4076,8 @@
 <channel1>0</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-1175</ypos>
 <zpos>11265</zpos>
 </NEULAND>
 <NEULAND>
@@ -3779,6 +4085,7 @@
 <NAME>NeuLANDPla2H-2</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>2</layer>
 <bar>2</bar>
 <qcal0>1</qcal0>
@@ -3809,6 +4116,8 @@
 <channel1>15</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-1125</ypos>
 <zpos>11265</zpos>
 </NEULAND>
 <NEULAND>
@@ -3816,6 +4125,7 @@
 <NAME>NeuLANDPla2H-3</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>2</layer>
 <bar>3</bar>
 <qcal0>1</qcal0>
@@ -3846,6 +4156,8 @@
 <channel1>14</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-1075</ypos>
 <zpos>11265</zpos>
 </NEULAND>
 <NEULAND>
@@ -3853,6 +4165,7 @@
 <NAME>NeuLANDPla2H-4</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>2</layer>
 <bar>4</bar>
 <qcal0>1</qcal0>
@@ -3883,6 +4196,8 @@
 <channel1>13</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-1025</ypos>
 <zpos>11265</zpos>
 </NEULAND>
 <NEULAND>
@@ -3890,6 +4205,7 @@
 <NAME>NeuLANDPla2H-5</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>2</layer>
 <bar>5</bar>
 <qcal0>1</qcal0>
@@ -3920,6 +4236,8 @@
 <channel1>12</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-975</ypos>
 <zpos>11265</zpos>
 </NEULAND>
 <NEULAND>
@@ -3927,6 +4245,7 @@
 <NAME>NeuLANDPla2H-6</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>2</layer>
 <bar>6</bar>
 <qcal0>1</qcal0>
@@ -3957,6 +4276,8 @@
 <channel1>11</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-925</ypos>
 <zpos>11265</zpos>
 </NEULAND>
 <NEULAND>
@@ -3964,6 +4285,7 @@
 <NAME>NeuLANDPla2H-7</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>2</layer>
 <bar>7</bar>
 <qcal0>1</qcal0>
@@ -3994,6 +4316,8 @@
 <channel1>10</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-875</ypos>
 <zpos>11265</zpos>
 </NEULAND>
 <NEULAND>
@@ -4001,6 +4325,7 @@
 <NAME>NeuLANDPla2H-8</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>2</layer>
 <bar>8</bar>
 <qcal0>1</qcal0>
@@ -4031,6 +4356,8 @@
 <channel1>9</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-825</ypos>
 <zpos>11265</zpos>
 </NEULAND>
 <NEULAND>
@@ -4038,6 +4365,7 @@
 <NAME>NeuLANDPla2H-9</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>2</layer>
 <bar>9</bar>
 <qcal0>1</qcal0>
@@ -4068,6 +4396,8 @@
 <channel1>8</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-775</ypos>
 <zpos>11265</zpos>
 </NEULAND>
 <NEULAND>
@@ -4075,6 +4405,7 @@
 <NAME>NeuLANDPla2H-10</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>2</layer>
 <bar>10</bar>
 <qcal0>1</qcal0>
@@ -4105,6 +4436,8 @@
 <channel1>7</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-725</ypos>
 <zpos>11265</zpos>
 </NEULAND>
 <NEULAND>
@@ -4112,6 +4445,7 @@
 <NAME>NeuLANDPla2H-11</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>2</layer>
 <bar>11</bar>
 <qcal0>1</qcal0>
@@ -4142,6 +4476,8 @@
 <channel1>6</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-675</ypos>
 <zpos>11265</zpos>
 </NEULAND>
 <NEULAND>
@@ -4149,6 +4485,7 @@
 <NAME>NeuLANDPla2H-12</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>2</layer>
 <bar>12</bar>
 <qcal0>1</qcal0>
@@ -4179,6 +4516,8 @@
 <channel1>5</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-625</ypos>
 <zpos>11265</zpos>
 </NEULAND>
 <NEULAND>
@@ -4186,6 +4525,7 @@
 <NAME>NeuLANDPla2H-13</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>2</layer>
 <bar>13</bar>
 <qcal0>1</qcal0>
@@ -4216,6 +4556,8 @@
 <channel1>4</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-575</ypos>
 <zpos>11265</zpos>
 </NEULAND>
 <NEULAND>
@@ -4223,6 +4565,7 @@
 <NAME>NeuLANDPla2H-14</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>2</layer>
 <bar>14</bar>
 <qcal0>1</qcal0>
@@ -4253,6 +4596,8 @@
 <channel1>3</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-525</ypos>
 <zpos>11265</zpos>
 </NEULAND>
 <NEULAND>
@@ -4260,6 +4605,7 @@
 <NAME>NeuLANDPla2H-15</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>2</layer>
 <bar>15</bar>
 <qcal0>1</qcal0>
@@ -4290,6 +4636,8 @@
 <channel1>2</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-475</ypos>
 <zpos>11265</zpos>
 </NEULAND>
 <NEULAND>
@@ -4297,6 +4645,7 @@
 <NAME>NeuLANDPla2H-16</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>2</layer>
 <bar>16</bar>
 <qcal0>1</qcal0>
@@ -4327,6 +4676,8 @@
 <channel1>1</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-425</ypos>
 <zpos>11265</zpos>
 </NEULAND>
 <NEULAND>
@@ -4334,6 +4685,7 @@
 <NAME>NeuLANDPla2H-17</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>2</layer>
 <bar>17</bar>
 <qcal0>1</qcal0>
@@ -4364,6 +4716,8 @@
 <channel1>0</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-375</ypos>
 <zpos>11265</zpos>
 </NEULAND>
 <NEULAND>
@@ -4371,6 +4725,7 @@
 <NAME>NeuLANDPla2H-18</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>2</layer>
 <bar>18</bar>
 <qcal0>1</qcal0>
@@ -4401,6 +4756,8 @@
 <channel1>15</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-325</ypos>
 <zpos>11265</zpos>
 </NEULAND>
 <NEULAND>
@@ -4408,6 +4765,7 @@
 <NAME>NeuLANDPla2H-19</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>2</layer>
 <bar>19</bar>
 <qcal0>1</qcal0>
@@ -4438,6 +4796,8 @@
 <channel1>14</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-275</ypos>
 <zpos>11265</zpos>
 </NEULAND>
 <NEULAND>
@@ -4445,6 +4805,7 @@
 <NAME>NeuLANDPla2H-20</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>2</layer>
 <bar>20</bar>
 <qcal0>1</qcal0>
@@ -4475,6 +4836,8 @@
 <channel1>13</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-225</ypos>
 <zpos>11265</zpos>
 </NEULAND>
 <NEULAND>
@@ -4482,6 +4845,7 @@
 <NAME>NeuLANDPla2H-21</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>2</layer>
 <bar>21</bar>
 <qcal0>1</qcal0>
@@ -4512,6 +4876,8 @@
 <channel1>12</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-175</ypos>
 <zpos>11265</zpos>
 </NEULAND>
 <NEULAND>
@@ -4519,6 +4885,7 @@
 <NAME>NeuLANDPla2H-22</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>2</layer>
 <bar>22</bar>
 <qcal0>1</qcal0>
@@ -4549,6 +4916,8 @@
 <channel1>11</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-125</ypos>
 <zpos>11265</zpos>
 </NEULAND>
 <NEULAND>
@@ -4556,6 +4925,7 @@
 <NAME>NeuLANDPla2H-23</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>2</layer>
 <bar>23</bar>
 <qcal0>1</qcal0>
@@ -4586,6 +4956,8 @@
 <channel1>10</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-75</ypos>
 <zpos>11265</zpos>
 </NEULAND>
 <NEULAND>
@@ -4593,6 +4965,7 @@
 <NAME>NeuLANDPla2H-24</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>2</layer>
 <bar>24</bar>
 <qcal0>1</qcal0>
@@ -4623,6 +4996,8 @@
 <channel1>9</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-25</ypos>
 <zpos>11265</zpos>
 </NEULAND>
 <NEULAND>
@@ -4630,6 +5005,7 @@
 <NAME>NeuLANDPla2H-25</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>2</layer>
 <bar>25</bar>
 <qcal0>1</qcal0>
@@ -4660,6 +5036,8 @@
 <channel1>8</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>25</ypos>
 <zpos>11265</zpos>
 </NEULAND>
 <NEULAND>
@@ -4667,6 +5045,7 @@
 <NAME>NeuLANDPla2H-26</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>2</layer>
 <bar>26</bar>
 <qcal0>1</qcal0>
@@ -4697,6 +5076,8 @@
 <channel1>7</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>75</ypos>
 <zpos>11265</zpos>
 </NEULAND>
 <NEULAND>
@@ -4704,6 +5085,7 @@
 <NAME>NeuLANDPla2H-27</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>2</layer>
 <bar>27</bar>
 <qcal0>1</qcal0>
@@ -4734,6 +5116,8 @@
 <channel1>6</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>125</ypos>
 <zpos>11265</zpos>
 </NEULAND>
 <NEULAND>
@@ -4741,6 +5125,7 @@
 <NAME>NeuLANDPla2H-28</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>2</layer>
 <bar>28</bar>
 <qcal0>1</qcal0>
@@ -4771,6 +5156,8 @@
 <channel1>5</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>175</ypos>
 <zpos>11265</zpos>
 </NEULAND>
 <NEULAND>
@@ -4778,6 +5165,7 @@
 <NAME>NeuLANDPla2H-29</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>2</layer>
 <bar>29</bar>
 <qcal0>1</qcal0>
@@ -4808,6 +5196,8 @@
 <channel1>4</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>225</ypos>
 <zpos>11265</zpos>
 </NEULAND>
 <NEULAND>
@@ -4815,6 +5205,7 @@
 <NAME>NeuLANDPla2H-30</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>2</layer>
 <bar>30</bar>
 <qcal0>1</qcal0>
@@ -4845,6 +5236,8 @@
 <channel1>10</channel1>
 <sam1>6</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>275</ypos>
 <zpos>11265</zpos>
 </NEULAND>
 <NEULAND>
@@ -4852,6 +5245,7 @@
 <NAME>NeuLANDPla2H-31</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>2</layer>
 <bar>31</bar>
 <qcal0>1</qcal0>
@@ -4882,6 +5276,8 @@
 <channel1>2</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>325</ypos>
 <zpos>11265</zpos>
 </NEULAND>
 <NEULAND>
@@ -4889,6 +5285,7 @@
 <NAME>NeuLANDPla2H-32</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>2</layer>
 <bar>32</bar>
 <qcal0>1</qcal0>
@@ -4919,6 +5316,8 @@
 <channel1>1</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>375</ypos>
 <zpos>11265</zpos>
 </NEULAND>
 <NEULAND>
@@ -4926,6 +5325,7 @@
 <NAME>NeuLANDPla2H-33</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>2</layer>
 <bar>33</bar>
 <qcal0>1</qcal0>
@@ -4956,6 +5356,8 @@
 <channel1>0</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>425</ypos>
 <zpos>11265</zpos>
 </NEULAND>
 <NEULAND>
@@ -4963,6 +5365,7 @@
 <NAME>NeuLANDPla2H-34</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>2</layer>
 <bar>34</bar>
 <qcal0>1</qcal0>
@@ -4993,6 +5396,8 @@
 <channel1>15</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>475</ypos>
 <zpos>11265</zpos>
 </NEULAND>
 <NEULAND>
@@ -5000,6 +5405,7 @@
 <NAME>NeuLANDPla2H-35</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>2</layer>
 <bar>35</bar>
 <qcal0>1</qcal0>
@@ -5030,6 +5436,8 @@
 <channel1>14</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>525</ypos>
 <zpos>11265</zpos>
 </NEULAND>
 <NEULAND>
@@ -5037,6 +5445,7 @@
 <NAME>NeuLANDPla2H-36</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>2</layer>
 <bar>36</bar>
 <qcal0>1</qcal0>
@@ -5067,6 +5476,8 @@
 <channel1>13</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>575</ypos>
 <zpos>11265</zpos>
 </NEULAND>
 <NEULAND>
@@ -5074,6 +5485,7 @@
 <NAME>NeuLANDPla2H-37</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>2</layer>
 <bar>37</bar>
 <qcal0>1</qcal0>
@@ -5104,6 +5516,8 @@
 <channel1>12</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>625</ypos>
 <zpos>11265</zpos>
 </NEULAND>
 <NEULAND>
@@ -5111,6 +5525,7 @@
 <NAME>NeuLANDPla2H-38</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>2</layer>
 <bar>38</bar>
 <qcal0>1</qcal0>
@@ -5141,6 +5556,8 @@
 <channel1>11</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>675</ypos>
 <zpos>11265</zpos>
 </NEULAND>
 <NEULAND>
@@ -5148,6 +5565,7 @@
 <NAME>NeuLANDPla2H-39</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>2</layer>
 <bar>39</bar>
 <qcal0>1</qcal0>
@@ -5178,6 +5596,8 @@
 <channel1>10</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>725</ypos>
 <zpos>11265</zpos>
 </NEULAND>
 <NEULAND>
@@ -5185,6 +5605,7 @@
 <NAME>NeuLANDPla2H-40</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>2</layer>
 <bar>40</bar>
 <qcal0>1</qcal0>
@@ -5215,6 +5636,8 @@
 <channel1>9</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>775</ypos>
 <zpos>11265</zpos>
 </NEULAND>
 <NEULAND>
@@ -5222,6 +5645,7 @@
 <NAME>NeuLANDPla2H-41</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>2</layer>
 <bar>41</bar>
 <qcal0>1</qcal0>
@@ -5252,6 +5676,8 @@
 <channel1>8</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>825</ypos>
 <zpos>11265</zpos>
 </NEULAND>
 <NEULAND>
@@ -5259,6 +5685,7 @@
 <NAME>NeuLANDPla2H-42</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>2</layer>
 <bar>42</bar>
 <qcal0>1</qcal0>
@@ -5289,6 +5716,8 @@
 <channel1>7</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>875</ypos>
 <zpos>11265</zpos>
 </NEULAND>
 <NEULAND>
@@ -5296,6 +5725,7 @@
 <NAME>NeuLANDPla2H-43</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>2</layer>
 <bar>43</bar>
 <qcal0>1</qcal0>
@@ -5326,6 +5756,8 @@
 <channel1>6</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>925</ypos>
 <zpos>11265</zpos>
 </NEULAND>
 <NEULAND>
@@ -5333,6 +5765,7 @@
 <NAME>NeuLANDPla2H-44</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>2</layer>
 <bar>44</bar>
 <qcal0>1</qcal0>
@@ -5363,6 +5796,8 @@
 <channel1>5</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>975</ypos>
 <zpos>11265</zpos>
 </NEULAND>
 <NEULAND>
@@ -5370,6 +5805,7 @@
 <NAME>NeuLANDPla2H-45</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>2</layer>
 <bar>45</bar>
 <qcal0>1</qcal0>
@@ -5400,6 +5836,8 @@
 <channel1>4</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>1025</ypos>
 <zpos>11265</zpos>
 </NEULAND>
 <NEULAND>
@@ -5407,6 +5845,7 @@
 <NAME>NeuLANDPla2H-46</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>2</layer>
 <bar>46</bar>
 <qcal0>1</qcal0>
@@ -5437,6 +5876,8 @@
 <channel1>3</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>1075</ypos>
 <zpos>11265</zpos>
 </NEULAND>
 <NEULAND>
@@ -5444,6 +5885,7 @@
 <NAME>NeuLANDPla2H-47</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>2</layer>
 <bar>47</bar>
 <qcal0>1</qcal0>
@@ -5474,6 +5916,8 @@
 <channel1>2</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>1125</ypos>
 <zpos>11265</zpos>
 </NEULAND>
 <NEULAND>
@@ -5481,6 +5925,7 @@
 <NAME>NeuLANDPla2H-48</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>2</layer>
 <bar>48</bar>
 <qcal0>1</qcal0>
@@ -5511,6 +5956,8 @@
 <channel1>1</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>1175</ypos>
 <zpos>11265</zpos>
 </NEULAND>
 <NEULAND>
@@ -5518,6 +5965,7 @@
 <NAME>NeuLANDPla2H-49</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>2</layer>
 <bar>49</bar>
 <qcal0>1</qcal0>
@@ -5548,6 +5996,8 @@
 <channel1>0</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>1225</ypos>
 <zpos>11265</zpos>
 </NEULAND>
 <NEULAND>
@@ -5555,6 +6005,7 @@
 <NAME>NeuLANDPla3V-0</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>3</layer>
 <bar>0</bar>
 <qcal0>1</qcal0>
@@ -5585,6 +6036,8 @@
 <channel1>9</channel1>
 <sam1>6</sam1>
 <gtb1>1</gtb1>
+<xpos>-1225</xpos>
+<ypos>0</ypos>
 <zpos>11315</zpos>
 </NEULAND>
 <NEULAND>
@@ -5592,6 +6045,7 @@
 <NAME>NeuLANDPla3V-1</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>3</layer>
 <bar>1</bar>
 <qcal0>1</qcal0>
@@ -5622,6 +6076,8 @@
 <channel1>8</channel1>
 <sam1>6</sam1>
 <gtb1>1</gtb1>
+<xpos>-1175</xpos>
+<ypos>0</ypos>
 <zpos>11315</zpos>
 </NEULAND>
 <NEULAND>
@@ -5629,6 +6085,7 @@
 <NAME>NeuLANDPla3V-2</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>3</layer>
 <bar>2</bar>
 <qcal0>1</qcal0>
@@ -5659,6 +6116,8 @@
 <channel1>7</channel1>
 <sam1>6</sam1>
 <gtb1>1</gtb1>
+<xpos>-1125</xpos>
+<ypos>0</ypos>
 <zpos>11315</zpos>
 </NEULAND>
 <NEULAND>
@@ -5666,6 +6125,7 @@
 <NAME>NeuLANDPla3V-3</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>3</layer>
 <bar>3</bar>
 <qcal0>1</qcal0>
@@ -5696,6 +6156,8 @@
 <channel1>6</channel1>
 <sam1>6</sam1>
 <gtb1>1</gtb1>
+<xpos>-1075</xpos>
+<ypos>0</ypos>
 <zpos>11315</zpos>
 </NEULAND>
 <NEULAND>
@@ -5703,6 +6165,7 @@
 <NAME>NeuLANDPla3V-4</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>3</layer>
 <bar>4</bar>
 <qcal0>1</qcal0>
@@ -5733,6 +6196,8 @@
 <channel1>5</channel1>
 <sam1>6</sam1>
 <gtb1>1</gtb1>
+<xpos>-1025</xpos>
+<ypos>0</ypos>
 <zpos>11315</zpos>
 </NEULAND>
 <NEULAND>
@@ -5740,6 +6205,7 @@
 <NAME>NeuLANDPla3V-5</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>3</layer>
 <bar>5</bar>
 <qcal0>1</qcal0>
@@ -5770,6 +6236,8 @@
 <channel1>4</channel1>
 <sam1>6</sam1>
 <gtb1>1</gtb1>
+<xpos>-975</xpos>
+<ypos>0</ypos>
 <zpos>11315</zpos>
 </NEULAND>
 <NEULAND>
@@ -5777,6 +6245,7 @@
 <NAME>NeuLANDPla3V-6</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>3</layer>
 <bar>6</bar>
 <qcal0>1</qcal0>
@@ -5807,6 +6276,8 @@
 <channel1>3</channel1>
 <sam1>6</sam1>
 <gtb1>1</gtb1>
+<xpos>-925</xpos>
+<ypos>0</ypos>
 <zpos>11315</zpos>
 </NEULAND>
 <NEULAND>
@@ -5814,6 +6285,7 @@
 <NAME>NeuLANDPla3V-7</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>3</layer>
 <bar>7</bar>
 <qcal0>1</qcal0>
@@ -5844,6 +6316,8 @@
 <channel1>2</channel1>
 <sam1>6</sam1>
 <gtb1>1</gtb1>
+<xpos>-875</xpos>
+<ypos>0</ypos>
 <zpos>11315</zpos>
 </NEULAND>
 <NEULAND>
@@ -5851,6 +6325,7 @@
 <NAME>NeuLANDPla3V-8</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>3</layer>
 <bar>8</bar>
 <qcal0>1</qcal0>
@@ -5881,6 +6356,8 @@
 <channel1>1</channel1>
 <sam1>6</sam1>
 <gtb1>1</gtb1>
+<xpos>-825</xpos>
+<ypos>0</ypos>
 <zpos>11315</zpos>
 </NEULAND>
 <NEULAND>
@@ -5888,6 +6365,7 @@
 <NAME>NeuLANDPla3V-9</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>3</layer>
 <bar>9</bar>
 <qcal0>1</qcal0>
@@ -5918,6 +6396,8 @@
 <channel1>0</channel1>
 <sam1>6</sam1>
 <gtb1>1</gtb1>
+<xpos>-775</xpos>
+<ypos>0</ypos>
 <zpos>11315</zpos>
 </NEULAND>
 <NEULAND>
@@ -5925,6 +6405,7 @@
 <NAME>NeuLANDPla3V-10</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>3</layer>
 <bar>10</bar>
 <qcal0>1</qcal0>
@@ -5955,6 +6436,8 @@
 <channel1>15</channel1>
 <sam1>6</sam1>
 <gtb1>1</gtb1>
+<xpos>-725</xpos>
+<ypos>0</ypos>
 <zpos>11315</zpos>
 </NEULAND>
 <NEULAND>
@@ -5962,6 +6445,7 @@
 <NAME>NeuLANDPla3V-11</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>3</layer>
 <bar>11</bar>
 <qcal0>1</qcal0>
@@ -5992,6 +6476,8 @@
 <channel1>14</channel1>
 <sam1>6</sam1>
 <gtb1>1</gtb1>
+<xpos>-675</xpos>
+<ypos>0</ypos>
 <zpos>11315</zpos>
 </NEULAND>
 <NEULAND>
@@ -5999,6 +6485,7 @@
 <NAME>NeuLANDPla3V-12</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>3</layer>
 <bar>12</bar>
 <qcal0>1</qcal0>
@@ -6029,6 +6516,8 @@
 <channel1>13</channel1>
 <sam1>6</sam1>
 <gtb1>1</gtb1>
+<xpos>-625</xpos>
+<ypos>0</ypos>
 <zpos>11315</zpos>
 </NEULAND>
 <NEULAND>
@@ -6036,6 +6525,7 @@
 <NAME>NeuLANDPla3V-13</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>3</layer>
 <bar>13</bar>
 <qcal0>1</qcal0>
@@ -6066,6 +6556,8 @@
 <channel1>12</channel1>
 <sam1>6</sam1>
 <gtb1>1</gtb1>
+<xpos>-575</xpos>
+<ypos>0</ypos>
 <zpos>11315</zpos>
 </NEULAND>
 <NEULAND>
@@ -6073,6 +6565,7 @@
 <NAME>NeuLANDPla3V-14</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>3</layer>
 <bar>14</bar>
 <qcal0>1</qcal0>
@@ -6103,6 +6596,8 @@
 <channel1>11</channel1>
 <sam1>6</sam1>
 <gtb1>1</gtb1>
+<xpos>-525</xpos>
+<ypos>0</ypos>
 <zpos>11315</zpos>
 </NEULAND>
 <NEULAND>
@@ -6110,6 +6605,7 @@
 <NAME>NeuLANDPla3V-15</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>3</layer>
 <bar>15</bar>
 <qcal0>1</qcal0>
@@ -6140,6 +6636,8 @@
 <channel1>10</channel1>
 <sam1>6</sam1>
 <gtb1>1</gtb1>
+<xpos>-475</xpos>
+<ypos>0</ypos>
 <zpos>11315</zpos>
 </NEULAND>
 <NEULAND>
@@ -6147,6 +6645,7 @@
 <NAME>NeuLANDPla3V-16</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>3</layer>
 <bar>16</bar>
 <qcal0>1</qcal0>
@@ -6177,6 +6676,8 @@
 <channel1>9</channel1>
 <sam1>6</sam1>
 <gtb1>1</gtb1>
+<xpos>-425</xpos>
+<ypos>0</ypos>
 <zpos>11315</zpos>
 </NEULAND>
 <NEULAND>
@@ -6184,6 +6685,7 @@
 <NAME>NeuLANDPla3V-17</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>3</layer>
 <bar>17</bar>
 <qcal0>1</qcal0>
@@ -6214,6 +6716,8 @@
 <channel1>8</channel1>
 <sam1>6</sam1>
 <gtb1>1</gtb1>
+<xpos>-375</xpos>
+<ypos>0</ypos>
 <zpos>11315</zpos>
 </NEULAND>
 <NEULAND>
@@ -6221,6 +6725,7 @@
 <NAME>NeuLANDPla3V-18</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>3</layer>
 <bar>18</bar>
 <qcal0>1</qcal0>
@@ -6251,6 +6756,8 @@
 <channel1>7</channel1>
 <sam1>6</sam1>
 <gtb1>1</gtb1>
+<xpos>-325</xpos>
+<ypos>0</ypos>
 <zpos>11315</zpos>
 </NEULAND>
 <NEULAND>
@@ -6258,6 +6765,7 @@
 <NAME>NeuLANDPla3V-19</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>3</layer>
 <bar>19</bar>
 <qcal0>1</qcal0>
@@ -6288,6 +6796,8 @@
 <channel1>6</channel1>
 <sam1>6</sam1>
 <gtb1>1</gtb1>
+<xpos>-275</xpos>
+<ypos>0</ypos>
 <zpos>11315</zpos>
 </NEULAND>
 <NEULAND>
@@ -6295,6 +6805,7 @@
 <NAME>NeuLANDPla3V-20</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>3</layer>
 <bar>20</bar>
 <qcal0>1</qcal0>
@@ -6325,6 +6836,8 @@
 <channel1>5</channel1>
 <sam1>6</sam1>
 <gtb1>1</gtb1>
+<xpos>-225</xpos>
+<ypos>0</ypos>
 <zpos>11315</zpos>
 </NEULAND>
 <NEULAND>
@@ -6332,6 +6845,7 @@
 <NAME>NeuLANDPla3V-21</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>3</layer>
 <bar>21</bar>
 <qcal0>1</qcal0>
@@ -6362,6 +6876,8 @@
 <channel1>4</channel1>
 <sam1>6</sam1>
 <gtb1>1</gtb1>
+<xpos>-175</xpos>
+<ypos>0</ypos>
 <zpos>11315</zpos>
 </NEULAND>
 <NEULAND>
@@ -6369,6 +6885,7 @@
 <NAME>NeuLANDPla3V-22</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>3</layer>
 <bar>22</bar>
 <qcal0>1</qcal0>
@@ -6399,6 +6916,8 @@
 <channel1>3</channel1>
 <sam1>6</sam1>
 <gtb1>1</gtb1>
+<xpos>-125</xpos>
+<ypos>0</ypos>
 <zpos>11315</zpos>
 </NEULAND>
 <NEULAND>
@@ -6406,6 +6925,7 @@
 <NAME>NeuLANDPla3V-23</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>3</layer>
 <bar>23</bar>
 <qcal0>1</qcal0>
@@ -6436,6 +6956,8 @@
 <channel1>2</channel1>
 <sam1>6</sam1>
 <gtb1>1</gtb1>
+<xpos>-75</xpos>
+<ypos>0</ypos>
 <zpos>11315</zpos>
 </NEULAND>
 <NEULAND>
@@ -6443,6 +6965,7 @@
 <NAME>NeuLANDPla3V-24</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>3</layer>
 <bar>24</bar>
 <qcal0>1</qcal0>
@@ -6473,6 +6996,8 @@
 <channel1>1</channel1>
 <sam1>6</sam1>
 <gtb1>1</gtb1>
+<xpos>-25</xpos>
+<ypos>0</ypos>
 <zpos>11315</zpos>
 </NEULAND>
 <NEULAND>
@@ -6480,6 +7005,7 @@
 <NAME>NeuLANDPla3V-25</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>3</layer>
 <bar>25</bar>
 <qcal0>1</qcal0>
@@ -6510,6 +7036,8 @@
 <channel1>0</channel1>
 <sam1>6</sam1>
 <gtb1>1</gtb1>
+<xpos>25</xpos>
+<ypos>0</ypos>
 <zpos>11315</zpos>
 </NEULAND>
 <NEULAND>
@@ -6517,6 +7045,7 @@
 <NAME>NeuLANDPla3V-26</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>3</layer>
 <bar>26</bar>
 <qcal0>1</qcal0>
@@ -6547,6 +7076,8 @@
 <channel1>15</channel1>
 <sam1>6</sam1>
 <gtb1>1</gtb1>
+<xpos>75</xpos>
+<ypos>0</ypos>
 <zpos>11315</zpos>
 </NEULAND>
 <NEULAND>
@@ -6554,6 +7085,7 @@
 <NAME>NeuLANDPla3V-27</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>3</layer>
 <bar>27</bar>
 <qcal0>1</qcal0>
@@ -6584,6 +7116,8 @@
 <channel1>14</channel1>
 <sam1>6</sam1>
 <gtb1>1</gtb1>
+<xpos>125</xpos>
+<ypos>0</ypos>
 <zpos>11315</zpos>
 </NEULAND>
 <NEULAND>
@@ -6591,6 +7125,7 @@
 <NAME>NeuLANDPla3V-28</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>3</layer>
 <bar>28</bar>
 <qcal0>1</qcal0>
@@ -6621,6 +7156,8 @@
 <channel1>13</channel1>
 <sam1>6</sam1>
 <gtb1>1</gtb1>
+<xpos>175</xpos>
+<ypos>0</ypos>
 <zpos>11315</zpos>
 </NEULAND>
 <NEULAND>
@@ -6628,6 +7165,7 @@
 <NAME>NeuLANDPla3V-29</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>3</layer>
 <bar>29</bar>
 <qcal0>1</qcal0>
@@ -6658,6 +7196,8 @@
 <channel1>12</channel1>
 <sam1>6</sam1>
 <gtb1>1</gtb1>
+<xpos>225</xpos>
+<ypos>0</ypos>
 <zpos>11315</zpos>
 </NEULAND>
 <NEULAND>
@@ -6665,6 +7205,7 @@
 <NAME>NeuLANDPla3V-30</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>3</layer>
 <bar>30</bar>
 <qcal0>1</qcal0>
@@ -6695,6 +7236,8 @@
 <channel1>15</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>275</xpos>
+<ypos>0</ypos>
 <zpos>11315</zpos>
 </NEULAND>
 <NEULAND>
@@ -6702,6 +7245,7 @@
 <NAME>NeuLANDPla3V-31</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>3</layer>
 <bar>31</bar>
 <qcal0>1</qcal0>
@@ -6732,6 +7276,8 @@
 <channel1>14</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>325</xpos>
+<ypos>0</ypos>
 <zpos>11315</zpos>
 </NEULAND>
 <NEULAND>
@@ -6739,6 +7285,7 @@
 <NAME>NeuLANDPla3V-32</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>3</layer>
 <bar>32</bar>
 <qcal0>1</qcal0>
@@ -6769,6 +7316,8 @@
 <channel1>13</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>375</xpos>
+<ypos>0</ypos>
 <zpos>11315</zpos>
 </NEULAND>
 <NEULAND>
@@ -6776,6 +7325,7 @@
 <NAME>NeuLANDPla3V-33</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>3</layer>
 <bar>33</bar>
 <qcal0>1</qcal0>
@@ -6806,6 +7356,8 @@
 <channel1>12</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>425</xpos>
+<ypos>0</ypos>
 <zpos>11315</zpos>
 </NEULAND>
 <NEULAND>
@@ -6813,6 +7365,7 @@
 <NAME>NeuLANDPla3V-34</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>3</layer>
 <bar>34</bar>
 <qcal0>1</qcal0>
@@ -6843,6 +7396,8 @@
 <channel1>11</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>475</xpos>
+<ypos>0</ypos>
 <zpos>11315</zpos>
 </NEULAND>
 <NEULAND>
@@ -6850,6 +7405,7 @@
 <NAME>NeuLANDPla3V-35</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>3</layer>
 <bar>35</bar>
 <qcal0>1</qcal0>
@@ -6880,6 +7436,8 @@
 <channel1>10</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>525</xpos>
+<ypos>0</ypos>
 <zpos>11315</zpos>
 </NEULAND>
 <NEULAND>
@@ -6887,6 +7445,7 @@
 <NAME>NeuLANDPla3V-36</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>3</layer>
 <bar>36</bar>
 <qcal0>1</qcal0>
@@ -6917,6 +7476,8 @@
 <channel1>9</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>575</xpos>
+<ypos>0</ypos>
 <zpos>11315</zpos>
 </NEULAND>
 <NEULAND>
@@ -6924,6 +7485,7 @@
 <NAME>NeuLANDPla3V-37</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>3</layer>
 <bar>37</bar>
 <qcal0>1</qcal0>
@@ -6954,6 +7516,8 @@
 <channel1>8</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>625</xpos>
+<ypos>0</ypos>
 <zpos>11315</zpos>
 </NEULAND>
 <NEULAND>
@@ -6961,6 +7525,7 @@
 <NAME>NeuLANDPla3V-38</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>3</layer>
 <bar>38</bar>
 <qcal0>1</qcal0>
@@ -6991,6 +7556,8 @@
 <channel1>7</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>675</xpos>
+<ypos>0</ypos>
 <zpos>11315</zpos>
 </NEULAND>
 <NEULAND>
@@ -6998,6 +7565,7 @@
 <NAME>NeuLANDPla3V-39</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>3</layer>
 <bar>39</bar>
 <qcal0>1</qcal0>
@@ -7028,6 +7596,8 @@
 <channel1>6</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>725</xpos>
+<ypos>0</ypos>
 <zpos>11315</zpos>
 </NEULAND>
 <NEULAND>
@@ -7035,6 +7605,7 @@
 <NAME>NeuLANDPla3V-40</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>3</layer>
 <bar>40</bar>
 <qcal0>1</qcal0>
@@ -7065,6 +7636,8 @@
 <channel1>5</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>775</xpos>
+<ypos>0</ypos>
 <zpos>11315</zpos>
 </NEULAND>
 <NEULAND>
@@ -7072,6 +7645,7 @@
 <NAME>NeuLANDPla3V-41</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>3</layer>
 <bar>41</bar>
 <qcal0>1</qcal0>
@@ -7102,6 +7676,8 @@
 <channel1>4</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>825</xpos>
+<ypos>0</ypos>
 <zpos>11315</zpos>
 </NEULAND>
 <NEULAND>
@@ -7109,6 +7685,7 @@
 <NAME>NeuLANDPla3V-42</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>3</layer>
 <bar>42</bar>
 <qcal0>1</qcal0>
@@ -7139,6 +7716,8 @@
 <channel1>3</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>875</xpos>
+<ypos>0</ypos>
 <zpos>11315</zpos>
 </NEULAND>
 <NEULAND>
@@ -7146,6 +7725,7 @@
 <NAME>NeuLANDPla3V-43</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>3</layer>
 <bar>43</bar>
 <qcal0>1</qcal0>
@@ -7176,6 +7756,8 @@
 <channel1>2</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>925</xpos>
+<ypos>0</ypos>
 <zpos>11315</zpos>
 </NEULAND>
 <NEULAND>
@@ -7183,6 +7765,7 @@
 <NAME>NeuLANDPla3V-44</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>3</layer>
 <bar>44</bar>
 <qcal0>1</qcal0>
@@ -7213,6 +7796,8 @@
 <channel1>1</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>975</xpos>
+<ypos>0</ypos>
 <zpos>11315</zpos>
 </NEULAND>
 <NEULAND>
@@ -7220,6 +7805,7 @@
 <NAME>NeuLANDPla3V-45</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>3</layer>
 <bar>45</bar>
 <qcal0>1</qcal0>
@@ -7250,6 +7836,8 @@
 <channel1>0</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>1025</xpos>
+<ypos>0</ypos>
 <zpos>11315</zpos>
 </NEULAND>
 <NEULAND>
@@ -7257,6 +7845,7 @@
 <NAME>NeuLANDPla3V-46</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>3</layer>
 <bar>46</bar>
 <qcal0>1</qcal0>
@@ -7287,6 +7876,8 @@
 <channel1>15</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>1075</xpos>
+<ypos>0</ypos>
 <zpos>11315</zpos>
 </NEULAND>
 <NEULAND>
@@ -7294,6 +7885,7 @@
 <NAME>NeuLANDPla3V-47</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>3</layer>
 <bar>47</bar>
 <qcal0>1</qcal0>
@@ -7324,6 +7916,8 @@
 <channel1>14</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>1125</xpos>
+<ypos>0</ypos>
 <zpos>11315</zpos>
 </NEULAND>
 <NEULAND>
@@ -7331,6 +7925,7 @@
 <NAME>NeuLANDPla3V-48</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>3</layer>
 <bar>48</bar>
 <qcal0>1</qcal0>
@@ -7361,6 +7956,8 @@
 <channel1>13</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>1175</xpos>
+<ypos>0</ypos>
 <zpos>11315</zpos>
 </NEULAND>
 <NEULAND>
@@ -7368,6 +7965,7 @@
 <NAME>NeuLANDPla3V-49</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>3</layer>
 <bar>49</bar>
 <qcal0>1</qcal0>
@@ -7398,6 +7996,8 @@
 <channel1>12</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>1225</xpos>
+<ypos>0</ypos>
 <zpos>11315</zpos>
 </NEULAND>
 <NEULAND>
@@ -7405,6 +8005,7 @@
 <NAME>NeuLANDPla4H-0</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>4</layer>
 <bar>0</bar>
 <qcal0>1</qcal0>
@@ -7435,6 +8036,8 @@
 <channel1>1</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-1225</ypos>
 <zpos>11365</zpos>
 </NEULAND>
 <NEULAND>
@@ -7442,6 +8045,7 @@
 <NAME>NeuLANDPla4H-1</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>4</layer>
 <bar>1</bar>
 <qcal0>1</qcal0>
@@ -7472,6 +8076,8 @@
 <channel1>0</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-1175</ypos>
 <zpos>11365</zpos>
 </NEULAND>
 <NEULAND>
@@ -7479,6 +8085,7 @@
 <NAME>NeuLANDPla4H-2</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>4</layer>
 <bar>2</bar>
 <qcal0>1</qcal0>
@@ -7509,6 +8116,8 @@
 <channel1>15</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-1125</ypos>
 <zpos>11365</zpos>
 </NEULAND>
 <NEULAND>
@@ -7516,6 +8125,7 @@
 <NAME>NeuLANDPla4H-3</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>4</layer>
 <bar>3</bar>
 <qcal0>1</qcal0>
@@ -7546,6 +8156,8 @@
 <channel1>14</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-1075</ypos>
 <zpos>11365</zpos>
 </NEULAND>
 <NEULAND>
@@ -7553,6 +8165,7 @@
 <NAME>NeuLANDPla4H-4</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>4</layer>
 <bar>4</bar>
 <qcal0>1</qcal0>
@@ -7583,6 +8196,8 @@
 <channel1>13</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-1025</ypos>
 <zpos>11365</zpos>
 </NEULAND>
 <NEULAND>
@@ -7590,6 +8205,7 @@
 <NAME>NeuLANDPla4H-5</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>4</layer>
 <bar>5</bar>
 <qcal0>1</qcal0>
@@ -7620,6 +8236,8 @@
 <channel1>12</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-975</ypos>
 <zpos>11365</zpos>
 </NEULAND>
 <NEULAND>
@@ -7627,6 +8245,7 @@
 <NAME>NeuLANDPla4H-6</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>4</layer>
 <bar>6</bar>
 <qcal0>1</qcal0>
@@ -7657,6 +8276,8 @@
 <channel1>11</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-925</ypos>
 <zpos>11365</zpos>
 </NEULAND>
 <NEULAND>
@@ -7664,6 +8285,7 @@
 <NAME>NeuLANDPla4H-7</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>4</layer>
 <bar>7</bar>
 <qcal0>1</qcal0>
@@ -7694,6 +8316,8 @@
 <channel1>10</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-875</ypos>
 <zpos>11365</zpos>
 </NEULAND>
 <NEULAND>
@@ -7701,6 +8325,7 @@
 <NAME>NeuLANDPla4H-8</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>4</layer>
 <bar>8</bar>
 <qcal0>1</qcal0>
@@ -7731,6 +8356,8 @@
 <channel1>9</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-825</ypos>
 <zpos>11365</zpos>
 </NEULAND>
 <NEULAND>
@@ -7738,6 +8365,7 @@
 <NAME>NeuLANDPla4H-9</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>4</layer>
 <bar>9</bar>
 <qcal0>1</qcal0>
@@ -7768,6 +8396,8 @@
 <channel1>8</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-775</ypos>
 <zpos>11365</zpos>
 </NEULAND>
 <NEULAND>
@@ -7775,6 +8405,7 @@
 <NAME>NeuLANDPla4H-10</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>4</layer>
 <bar>10</bar>
 <qcal0>1</qcal0>
@@ -7805,6 +8436,8 @@
 <channel1>7</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-725</ypos>
 <zpos>11365</zpos>
 </NEULAND>
 <NEULAND>
@@ -7812,6 +8445,7 @@
 <NAME>NeuLANDPla4H-11</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>4</layer>
 <bar>11</bar>
 <qcal0>1</qcal0>
@@ -7842,6 +8476,8 @@
 <channel1>6</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-675</ypos>
 <zpos>11365</zpos>
 </NEULAND>
 <NEULAND>
@@ -7849,6 +8485,7 @@
 <NAME>NeuLANDPla4H-12</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>4</layer>
 <bar>12</bar>
 <qcal0>1</qcal0>
@@ -7879,6 +8516,8 @@
 <channel1>5</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-625</ypos>
 <zpos>11365</zpos>
 </NEULAND>
 <NEULAND>
@@ -7886,6 +8525,7 @@
 <NAME>NeuLANDPla4H-13</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>4</layer>
 <bar>13</bar>
 <qcal0>1</qcal0>
@@ -7916,6 +8556,8 @@
 <channel1>4</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-575</ypos>
 <zpos>11365</zpos>
 </NEULAND>
 <NEULAND>
@@ -7923,6 +8565,7 @@
 <NAME>NeuLANDPla4H-14</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>4</layer>
 <bar>14</bar>
 <qcal0>1</qcal0>
@@ -7953,6 +8596,8 @@
 <channel1>3</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-525</ypos>
 <zpos>11365</zpos>
 </NEULAND>
 <NEULAND>
@@ -7960,6 +8605,7 @@
 <NAME>NeuLANDPla4H-15</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>4</layer>
 <bar>15</bar>
 <qcal0>1</qcal0>
@@ -7990,6 +8636,8 @@
 <channel1>2</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-475</ypos>
 <zpos>11365</zpos>
 </NEULAND>
 <NEULAND>
@@ -7997,6 +8645,7 @@
 <NAME>NeuLANDPla4H-16</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>4</layer>
 <bar>16</bar>
 <qcal0>1</qcal0>
@@ -8027,6 +8676,8 @@
 <channel1>1</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-425</ypos>
 <zpos>11365</zpos>
 </NEULAND>
 <NEULAND>
@@ -8034,6 +8685,7 @@
 <NAME>NeuLANDPla4H-17</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>4</layer>
 <bar>17</bar>
 <qcal0>1</qcal0>
@@ -8064,6 +8716,8 @@
 <channel1>0</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-375</ypos>
 <zpos>11365</zpos>
 </NEULAND>
 <NEULAND>
@@ -8071,6 +8725,7 @@
 <NAME>NeuLANDPla4H-18</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>4</layer>
 <bar>18</bar>
 <qcal0>1</qcal0>
@@ -8101,6 +8756,8 @@
 <channel1>15</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-325</ypos>
 <zpos>11365</zpos>
 </NEULAND>
 <NEULAND>
@@ -8108,6 +8765,7 @@
 <NAME>NeuLANDPla4H-19</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>4</layer>
 <bar>19</bar>
 <qcal0>1</qcal0>
@@ -8138,6 +8796,8 @@
 <channel1>14</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-275</ypos>
 <zpos>11365</zpos>
 </NEULAND>
 <NEULAND>
@@ -8145,6 +8805,7 @@
 <NAME>NeuLANDPla4H-20</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>4</layer>
 <bar>20</bar>
 <qcal0>1</qcal0>
@@ -8175,6 +8836,8 @@
 <channel1>13</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-225</ypos>
 <zpos>11365</zpos>
 </NEULAND>
 <NEULAND>
@@ -8182,6 +8845,7 @@
 <NAME>NeuLANDPla4H-21</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>4</layer>
 <bar>21</bar>
 <qcal0>1</qcal0>
@@ -8212,6 +8876,8 @@
 <channel1>12</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-175</ypos>
 <zpos>11365</zpos>
 </NEULAND>
 <NEULAND>
@@ -8219,6 +8885,7 @@
 <NAME>NeuLANDPla4H-22</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>4</layer>
 <bar>22</bar>
 <qcal0>1</qcal0>
@@ -8249,6 +8916,8 @@
 <channel1>11</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-125</ypos>
 <zpos>11365</zpos>
 </NEULAND>
 <NEULAND>
@@ -8256,6 +8925,7 @@
 <NAME>NeuLANDPla4H-23</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>4</layer>
 <bar>23</bar>
 <qcal0>1</qcal0>
@@ -8286,6 +8956,8 @@
 <channel1>10</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-75</ypos>
 <zpos>11365</zpos>
 </NEULAND>
 <NEULAND>
@@ -8293,6 +8965,7 @@
 <NAME>NeuLANDPla4H-24</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>4</layer>
 <bar>24</bar>
 <qcal0>1</qcal0>
@@ -8323,6 +8996,8 @@
 <channel1>9</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>-25</ypos>
 <zpos>11365</zpos>
 </NEULAND>
 <NEULAND>
@@ -8330,6 +9005,7 @@
 <NAME>NeuLANDPla4H-25</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>4</layer>
 <bar>25</bar>
 <qcal0>1</qcal0>
@@ -8360,6 +9036,8 @@
 <channel1>8</channel1>
 <sam1>7</sam1>
 <gtb1>1</gtb1>
+<xpos>0</xpos>
+<ypos>25</ypos>
 <zpos>11365</zpos>
 </NEULAND>
 <NEULAND>
@@ -8367,6 +9045,7 @@
 <NAME>NeuLANDPla4H-26</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>4</layer>
 <bar>26</bar>
 <qcal0>1</qcal0>
@@ -8397,6 +9076,8 @@
 <channel1>7</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>75</ypos>
 <zpos>11365</zpos>
 </NEULAND>
 <NEULAND>
@@ -8404,6 +9085,7 @@
 <NAME>NeuLANDPla4H-27</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>4</layer>
 <bar>27</bar>
 <qcal0>1</qcal0>
@@ -8434,6 +9116,8 @@
 <channel1>6</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>125</ypos>
 <zpos>11365</zpos>
 </NEULAND>
 <NEULAND>
@@ -8441,6 +9125,7 @@
 <NAME>NeuLANDPla4H-28</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>4</layer>
 <bar>28</bar>
 <qcal0>1</qcal0>
@@ -8471,6 +9156,8 @@
 <channel1>5</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>175</ypos>
 <zpos>11365</zpos>
 </NEULAND>
 <NEULAND>
@@ -8478,6 +9165,7 @@
 <NAME>NeuLANDPla4H-29</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>4</layer>
 <bar>29</bar>
 <qcal0>1</qcal0>
@@ -8508,6 +9196,8 @@
 <channel1>4</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>225</ypos>
 <zpos>11365</zpos>
 </NEULAND>
 <NEULAND>
@@ -8515,6 +9205,7 @@
 <NAME>NeuLANDPla4H-30</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>4</layer>
 <bar>30</bar>
 <qcal0>1</qcal0>
@@ -8545,6 +9236,8 @@
 <channel1>3</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>275</ypos>
 <zpos>11365</zpos>
 </NEULAND>
 <NEULAND>
@@ -8552,6 +9245,7 @@
 <NAME>NeuLANDPla4H-31</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>4</layer>
 <bar>31</bar>
 <qcal0>1</qcal0>
@@ -8582,6 +9276,8 @@
 <channel1>2</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>325</ypos>
 <zpos>11365</zpos>
 </NEULAND>
 <NEULAND>
@@ -8589,6 +9285,7 @@
 <NAME>NeuLANDPla4H-32</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>4</layer>
 <bar>32</bar>
 <qcal0>1</qcal0>
@@ -8619,6 +9316,8 @@
 <channel1>1</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>375</ypos>
 <zpos>11365</zpos>
 </NEULAND>
 <NEULAND>
@@ -8626,6 +9325,7 @@
 <NAME>NeuLANDPla4H-33</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>4</layer>
 <bar>33</bar>
 <qcal0>1</qcal0>
@@ -8656,6 +9356,8 @@
 <channel1>0</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>425</ypos>
 <zpos>11365</zpos>
 </NEULAND>
 <NEULAND>
@@ -8663,6 +9365,7 @@
 <NAME>NeuLANDPla4H-34</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>4</layer>
 <bar>34</bar>
 <qcal0>1</qcal0>
@@ -8693,6 +9396,8 @@
 <channel1>15</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>475</ypos>
 <zpos>11365</zpos>
 </NEULAND>
 <NEULAND>
@@ -8700,6 +9405,7 @@
 <NAME>NeuLANDPla4H-35</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>4</layer>
 <bar>35</bar>
 <qcal0>1</qcal0>
@@ -8730,6 +9436,8 @@
 <channel1>14</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>525</ypos>
 <zpos>11365</zpos>
 </NEULAND>
 <NEULAND>
@@ -8737,6 +9445,7 @@
 <NAME>NeuLANDPla4H-36</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>4</layer>
 <bar>36</bar>
 <qcal0>1</qcal0>
@@ -8767,6 +9476,8 @@
 <channel1>13</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>575</ypos>
 <zpos>11365</zpos>
 </NEULAND>
 <NEULAND>
@@ -8774,6 +9485,7 @@
 <NAME>NeuLANDPla4H-37</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>4</layer>
 <bar>37</bar>
 <qcal0>1</qcal0>
@@ -8804,6 +9516,8 @@
 <channel1>12</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>625</ypos>
 <zpos>11365</zpos>
 </NEULAND>
 <NEULAND>
@@ -8811,6 +9525,7 @@
 <NAME>NeuLANDPla4H-38</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>4</layer>
 <bar>38</bar>
 <qcal0>1</qcal0>
@@ -8841,6 +9556,8 @@
 <channel1>11</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>675</ypos>
 <zpos>11365</zpos>
 </NEULAND>
 <NEULAND>
@@ -8848,6 +9565,7 @@
 <NAME>NeuLANDPla4H-39</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>4</layer>
 <bar>39</bar>
 <qcal0>1</qcal0>
@@ -8878,6 +9596,8 @@
 <channel1>10</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>725</ypos>
 <zpos>11365</zpos>
 </NEULAND>
 <NEULAND>
@@ -8885,6 +9605,7 @@
 <NAME>NeuLANDPla4H-40</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>4</layer>
 <bar>40</bar>
 <qcal0>1</qcal0>
@@ -8915,6 +9636,8 @@
 <channel1>9</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>775</ypos>
 <zpos>11365</zpos>
 </NEULAND>
 <NEULAND>
@@ -8922,6 +9645,7 @@
 <NAME>NeuLANDPla4H-41</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>4</layer>
 <bar>41</bar>
 <qcal0>1</qcal0>
@@ -8952,6 +9676,8 @@
 <channel1>8</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>825</ypos>
 <zpos>11365</zpos>
 </NEULAND>
 <NEULAND>
@@ -8959,6 +9685,7 @@
 <NAME>NeuLANDPla4H-42</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>4</layer>
 <bar>42</bar>
 <qcal0>1</qcal0>
@@ -8989,6 +9716,8 @@
 <channel1>7</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>875</ypos>
 <zpos>11365</zpos>
 </NEULAND>
 <NEULAND>
@@ -8996,6 +9725,7 @@
 <NAME>NeuLANDPla4H-43</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>4</layer>
 <bar>43</bar>
 <qcal0>1</qcal0>
@@ -9026,6 +9756,8 @@
 <channel1>6</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>925</ypos>
 <zpos>11365</zpos>
 </NEULAND>
 <NEULAND>
@@ -9033,6 +9765,7 @@
 <NAME>NeuLANDPla4H-44</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>4</layer>
 <bar>44</bar>
 <qcal0>1</qcal0>
@@ -9063,6 +9796,8 @@
 <channel1>5</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>975</ypos>
 <zpos>11365</zpos>
 </NEULAND>
 <NEULAND>
@@ -9070,6 +9805,7 @@
 <NAME>NeuLANDPla4H-45</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>4</layer>
 <bar>45</bar>
 <qcal0>1</qcal0>
@@ -9100,6 +9836,8 @@
 <channel1>4</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>1025</ypos>
 <zpos>11365</zpos>
 </NEULAND>
 <NEULAND>
@@ -9107,6 +9845,7 @@
 <NAME>NeuLANDPla4H-46</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>4</layer>
 <bar>46</bar>
 <qcal0>1</qcal0>
@@ -9137,6 +9876,8 @@
 <channel1>3</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>1075</ypos>
 <zpos>11365</zpos>
 </NEULAND>
 <NEULAND>
@@ -9144,6 +9885,7 @@
 <NAME>NeuLANDPla4H-47</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>4</layer>
 <bar>47</bar>
 <qcal0>1</qcal0>
@@ -9174,6 +9916,8 @@
 <channel1>2</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>1125</ypos>
 <zpos>11365</zpos>
 </NEULAND>
 <NEULAND>
@@ -9181,6 +9925,7 @@
 <NAME>NeuLANDPla4H-48</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>4</layer>
 <bar>48</bar>
 <qcal0>1</qcal0>
@@ -9211,6 +9956,8 @@
 <channel1>1</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>1175</ypos>
 <zpos>11365</zpos>
 </NEULAND>
 <NEULAND>
@@ -9218,6 +9965,7 @@
 <NAME>NeuLANDPla4H-49</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>4</layer>
 <bar>49</bar>
 <qcal0>1</qcal0>
@@ -9248,6 +9996,8 @@
 <channel1>0</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>1225</ypos>
 <zpos>11365</zpos>
 </NEULAND>
 <NEULAND>
@@ -9255,6 +10005,7 @@
 <NAME>NeuLANDPla5V-0</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>5</layer>
 <bar>0</bar>
 <qcal0>1</qcal0>
@@ -9285,6 +10036,8 @@
 <channel1>9</channel1>
 <sam1>6</sam1>
 <gtb1>0</gtb1>
+<xpos>-1225</xpos>
+<ypos>0</ypos>
 <zpos>11415</zpos>
 </NEULAND>
 <NEULAND>
@@ -9292,6 +10045,7 @@
 <NAME>NeuLANDPla5V-1</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>5</layer>
 <bar>1</bar>
 <qcal0>1</qcal0>
@@ -9322,6 +10076,8 @@
 <channel1>8</channel1>
 <sam1>6</sam1>
 <gtb1>0</gtb1>
+<xpos>-1175</xpos>
+<ypos>0</ypos>
 <zpos>11415</zpos>
 </NEULAND>
 <NEULAND>
@@ -9329,6 +10085,7 @@
 <NAME>NeuLANDPla5V-2</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>5</layer>
 <bar>2</bar>
 <qcal0>1</qcal0>
@@ -9359,6 +10116,8 @@
 <channel1>7</channel1>
 <sam1>6</sam1>
 <gtb1>0</gtb1>
+<xpos>-1125</xpos>
+<ypos>0</ypos>
 <zpos>11415</zpos>
 </NEULAND>
 <NEULAND>
@@ -9366,6 +10125,7 @@
 <NAME>NeuLANDPla5V-3</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>5</layer>
 <bar>3</bar>
 <qcal0>1</qcal0>
@@ -9396,6 +10156,8 @@
 <channel1>6</channel1>
 <sam1>6</sam1>
 <gtb1>0</gtb1>
+<xpos>-1075</xpos>
+<ypos>0</ypos>
 <zpos>11415</zpos>
 </NEULAND>
 <NEULAND>
@@ -9403,6 +10165,7 @@
 <NAME>NeuLANDPla5V-4</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>5</layer>
 <bar>4</bar>
 <qcal0>1</qcal0>
@@ -9433,6 +10196,8 @@
 <channel1>5</channel1>
 <sam1>6</sam1>
 <gtb1>0</gtb1>
+<xpos>-1025</xpos>
+<ypos>0</ypos>
 <zpos>11415</zpos>
 </NEULAND>
 <NEULAND>
@@ -9440,6 +10205,7 @@
 <NAME>NeuLANDPla5V-5</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>5</layer>
 <bar>5</bar>
 <qcal0>1</qcal0>
@@ -9470,6 +10236,8 @@
 <channel1>4</channel1>
 <sam1>6</sam1>
 <gtb1>0</gtb1>
+<xpos>-975</xpos>
+<ypos>0</ypos>
 <zpos>11415</zpos>
 </NEULAND>
 <NEULAND>
@@ -9477,6 +10245,7 @@
 <NAME>NeuLANDPla5V-6</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>5</layer>
 <bar>6</bar>
 <qcal0>1</qcal0>
@@ -9507,6 +10276,8 @@
 <channel1>3</channel1>
 <sam1>6</sam1>
 <gtb1>0</gtb1>
+<xpos>-925</xpos>
+<ypos>0</ypos>
 <zpos>11415</zpos>
 </NEULAND>
 <NEULAND>
@@ -9514,6 +10285,7 @@
 <NAME>NeuLANDPla5V-7</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>5</layer>
 <bar>7</bar>
 <qcal0>1</qcal0>
@@ -9544,6 +10316,8 @@
 <channel1>2</channel1>
 <sam1>6</sam1>
 <gtb1>0</gtb1>
+<xpos>-875</xpos>
+<ypos>0</ypos>
 <zpos>11415</zpos>
 </NEULAND>
 <NEULAND>
@@ -9551,6 +10325,7 @@
 <NAME>NeuLANDPla5V-8</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>5</layer>
 <bar>8</bar>
 <qcal0>1</qcal0>
@@ -9581,6 +10356,8 @@
 <channel1>1</channel1>
 <sam1>6</sam1>
 <gtb1>0</gtb1>
+<xpos>-825</xpos>
+<ypos>0</ypos>
 <zpos>11415</zpos>
 </NEULAND>
 <NEULAND>
@@ -9588,6 +10365,7 @@
 <NAME>NeuLANDPla5V-9</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>5</layer>
 <bar>9</bar>
 <qcal0>1</qcal0>
@@ -9618,6 +10396,8 @@
 <channel1>0</channel1>
 <sam1>6</sam1>
 <gtb1>0</gtb1>
+<xpos>-775</xpos>
+<ypos>0</ypos>
 <zpos>11415</zpos>
 </NEULAND>
 <NEULAND>
@@ -9625,6 +10405,7 @@
 <NAME>NeuLANDPla5V-10</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>5</layer>
 <bar>10</bar>
 <qcal0>1</qcal0>
@@ -9655,6 +10436,8 @@
 <channel1>15</channel1>
 <sam1>6</sam1>
 <gtb1>0</gtb1>
+<xpos>-725</xpos>
+<ypos>0</ypos>
 <zpos>11415</zpos>
 </NEULAND>
 <NEULAND>
@@ -9662,6 +10445,7 @@
 <NAME>NeuLANDPla5V-11</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>5</layer>
 <bar>11</bar>
 <qcal0>1</qcal0>
@@ -9692,6 +10476,8 @@
 <channel1>14</channel1>
 <sam1>6</sam1>
 <gtb1>0</gtb1>
+<xpos>-675</xpos>
+<ypos>0</ypos>
 <zpos>11415</zpos>
 </NEULAND>
 <NEULAND>
@@ -9699,6 +10485,7 @@
 <NAME>NeuLANDPla5V-12</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>5</layer>
 <bar>12</bar>
 <qcal0>1</qcal0>
@@ -9729,6 +10516,8 @@
 <channel1>13</channel1>
 <sam1>6</sam1>
 <gtb1>0</gtb1>
+<xpos>-625</xpos>
+<ypos>0</ypos>
 <zpos>11415</zpos>
 </NEULAND>
 <NEULAND>
@@ -9736,6 +10525,7 @@
 <NAME>NeuLANDPla5V-13</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>5</layer>
 <bar>13</bar>
 <qcal0>1</qcal0>
@@ -9766,6 +10556,8 @@
 <channel1>12</channel1>
 <sam1>6</sam1>
 <gtb1>0</gtb1>
+<xpos>-575</xpos>
+<ypos>0</ypos>
 <zpos>11415</zpos>
 </NEULAND>
 <NEULAND>
@@ -9773,6 +10565,7 @@
 <NAME>NeuLANDPla5V-14</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>5</layer>
 <bar>14</bar>
 <qcal0>1</qcal0>
@@ -9803,6 +10596,8 @@
 <channel1>11</channel1>
 <sam1>6</sam1>
 <gtb1>0</gtb1>
+<xpos>-525</xpos>
+<ypos>0</ypos>
 <zpos>11415</zpos>
 </NEULAND>
 <NEULAND>
@@ -9810,6 +10605,7 @@
 <NAME>NeuLANDPla5V-15</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>5</layer>
 <bar>15</bar>
 <qcal0>1</qcal0>
@@ -9840,6 +10636,8 @@
 <channel1>10</channel1>
 <sam1>6</sam1>
 <gtb1>0</gtb1>
+<xpos>-475</xpos>
+<ypos>0</ypos>
 <zpos>11415</zpos>
 </NEULAND>
 <NEULAND>
@@ -9847,6 +10645,7 @@
 <NAME>NeuLANDPla5V-16</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>5</layer>
 <bar>16</bar>
 <qcal0>1</qcal0>
@@ -9877,6 +10676,8 @@
 <channel1>9</channel1>
 <sam1>6</sam1>
 <gtb1>0</gtb1>
+<xpos>-425</xpos>
+<ypos>0</ypos>
 <zpos>11415</zpos>
 </NEULAND>
 <NEULAND>
@@ -9884,6 +10685,7 @@
 <NAME>NeuLANDPla5V-17</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>5</layer>
 <bar>17</bar>
 <qcal0>1</qcal0>
@@ -9914,6 +10716,8 @@
 <channel1>8</channel1>
 <sam1>6</sam1>
 <gtb1>0</gtb1>
+<xpos>-375</xpos>
+<ypos>0</ypos>
 <zpos>11415</zpos>
 </NEULAND>
 <NEULAND>
@@ -9921,6 +10725,7 @@
 <NAME>NeuLANDPla5V-18</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>5</layer>
 <bar>18</bar>
 <qcal0>1</qcal0>
@@ -9951,6 +10756,8 @@
 <channel1>7</channel1>
 <sam1>6</sam1>
 <gtb1>0</gtb1>
+<xpos>-325</xpos>
+<ypos>0</ypos>
 <zpos>11415</zpos>
 </NEULAND>
 <NEULAND>
@@ -9958,6 +10765,7 @@
 <NAME>NeuLANDPla5V-19</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>5</layer>
 <bar>19</bar>
 <qcal0>1</qcal0>
@@ -9988,6 +10796,8 @@
 <channel1>6</channel1>
 <sam1>6</sam1>
 <gtb1>0</gtb1>
+<xpos>-275</xpos>
+<ypos>0</ypos>
 <zpos>11415</zpos>
 </NEULAND>
 <NEULAND>
@@ -9995,6 +10805,7 @@
 <NAME>NeuLANDPla5V-20</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>5</layer>
 <bar>20</bar>
 <qcal0>1</qcal0>
@@ -10025,6 +10836,8 @@
 <channel1>5</channel1>
 <sam1>6</sam1>
 <gtb1>0</gtb1>
+<xpos>-225</xpos>
+<ypos>0</ypos>
 <zpos>11415</zpos>
 </NEULAND>
 <NEULAND>
@@ -10032,6 +10845,7 @@
 <NAME>NeuLANDPla5V-21</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>5</layer>
 <bar>21</bar>
 <qcal0>1</qcal0>
@@ -10062,6 +10876,8 @@
 <channel1>4</channel1>
 <sam1>6</sam1>
 <gtb1>0</gtb1>
+<xpos>-175</xpos>
+<ypos>0</ypos>
 <zpos>11415</zpos>
 </NEULAND>
 <NEULAND>
@@ -10069,6 +10885,7 @@
 <NAME>NeuLANDPla5V-22</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>5</layer>
 <bar>22</bar>
 <qcal0>1</qcal0>
@@ -10099,6 +10916,8 @@
 <channel1>3</channel1>
 <sam1>6</sam1>
 <gtb1>0</gtb1>
+<xpos>-125</xpos>
+<ypos>0</ypos>
 <zpos>11415</zpos>
 </NEULAND>
 <NEULAND>
@@ -10106,6 +10925,7 @@
 <NAME>NeuLANDPla5V-23</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>5</layer>
 <bar>23</bar>
 <qcal0>1</qcal0>
@@ -10136,6 +10956,8 @@
 <channel1>2</channel1>
 <sam1>6</sam1>
 <gtb1>0</gtb1>
+<xpos>-75</xpos>
+<ypos>0</ypos>
 <zpos>11415</zpos>
 </NEULAND>
 <NEULAND>
@@ -10143,6 +10965,7 @@
 <NAME>NeuLANDPla5V-24</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>5</layer>
 <bar>24</bar>
 <qcal0>1</qcal0>
@@ -10173,6 +10996,8 @@
 <channel1>1</channel1>
 <sam1>6</sam1>
 <gtb1>0</gtb1>
+<xpos>-25</xpos>
+<ypos>0</ypos>
 <zpos>11415</zpos>
 </NEULAND>
 <NEULAND>
@@ -10180,6 +11005,7 @@
 <NAME>NeuLANDPla5V-25</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>5</layer>
 <bar>25</bar>
 <qcal0>1</qcal0>
@@ -10210,6 +11036,8 @@
 <channel1>0</channel1>
 <sam1>6</sam1>
 <gtb1>0</gtb1>
+<xpos>25</xpos>
+<ypos>0</ypos>
 <zpos>11415</zpos>
 </NEULAND>
 <NEULAND>
@@ -10217,6 +11045,7 @@
 <NAME>NeuLANDPla5V-26</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>5</layer>
 <bar>26</bar>
 <qcal0>1</qcal0>
@@ -10247,6 +11076,8 @@
 <channel1>15</channel1>
 <sam1>6</sam1>
 <gtb1>0</gtb1>
+<xpos>75</xpos>
+<ypos>0</ypos>
 <zpos>11415</zpos>
 </NEULAND>
 <NEULAND>
@@ -10254,6 +11085,7 @@
 <NAME>NeuLANDPla5V-27</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>5</layer>
 <bar>27</bar>
 <qcal0>1</qcal0>
@@ -10284,6 +11116,8 @@
 <channel1>14</channel1>
 <sam1>6</sam1>
 <gtb1>0</gtb1>
+<xpos>125</xpos>
+<ypos>0</ypos>
 <zpos>11415</zpos>
 </NEULAND>
 <NEULAND>
@@ -10291,6 +11125,7 @@
 <NAME>NeuLANDPla5V-28</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>5</layer>
 <bar>28</bar>
 <qcal0>1</qcal0>
@@ -10321,6 +11156,8 @@
 <channel1>13</channel1>
 <sam1>6</sam1>
 <gtb1>0</gtb1>
+<xpos>175</xpos>
+<ypos>0</ypos>
 <zpos>11415</zpos>
 </NEULAND>
 <NEULAND>
@@ -10328,6 +11165,7 @@
 <NAME>NeuLANDPla5V-29</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>5</layer>
 <bar>29</bar>
 <qcal0>1</qcal0>
@@ -10358,6 +11196,8 @@
 <channel1>12</channel1>
 <sam1>6</sam1>
 <gtb1>0</gtb1>
+<xpos>225</xpos>
+<ypos>0</ypos>
 <zpos>11415</zpos>
 </NEULAND>
 <NEULAND>
@@ -10365,6 +11205,7 @@
 <NAME>NeuLANDPla5V-30</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>5</layer>
 <bar>30</bar>
 <qcal0>1</qcal0>
@@ -10395,6 +11236,8 @@
 <channel1>15</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>275</xpos>
+<ypos>0</ypos>
 <zpos>11415</zpos>
 </NEULAND>
 <NEULAND>
@@ -10402,6 +11245,7 @@
 <NAME>NeuLANDPla5V-31</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>5</layer>
 <bar>31</bar>
 <qcal0>1</qcal0>
@@ -10432,6 +11276,8 @@
 <channel1>14</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>325</xpos>
+<ypos>0</ypos>
 <zpos>11415</zpos>
 </NEULAND>
 <NEULAND>
@@ -10439,6 +11285,7 @@
 <NAME>NeuLANDPla5V-32</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>5</layer>
 <bar>32</bar>
 <qcal0>1</qcal0>
@@ -10469,6 +11316,8 @@
 <channel1>13</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>375</xpos>
+<ypos>0</ypos>
 <zpos>11415</zpos>
 </NEULAND>
 <NEULAND>
@@ -10476,6 +11325,7 @@
 <NAME>NeuLANDPla5V-33</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>5</layer>
 <bar>33</bar>
 <qcal0>1</qcal0>
@@ -10506,6 +11356,8 @@
 <channel1>12</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>425</xpos>
+<ypos>0</ypos>
 <zpos>11415</zpos>
 </NEULAND>
 <NEULAND>
@@ -10513,6 +11365,7 @@
 <NAME>NeuLANDPla5V-34</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>5</layer>
 <bar>34</bar>
 <qcal0>1</qcal0>
@@ -10543,6 +11396,8 @@
 <channel1>11</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>475</xpos>
+<ypos>0</ypos>
 <zpos>11415</zpos>
 </NEULAND>
 <NEULAND>
@@ -10550,6 +11405,7 @@
 <NAME>NeuLANDPla5V-35</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>5</layer>
 <bar>35</bar>
 <qcal0>1</qcal0>
@@ -10580,6 +11436,8 @@
 <channel1>10</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>525</xpos>
+<ypos>0</ypos>
 <zpos>11415</zpos>
 </NEULAND>
 <NEULAND>
@@ -10587,6 +11445,7 @@
 <NAME>NeuLANDPla5V-36</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>5</layer>
 <bar>36</bar>
 <qcal0>1</qcal0>
@@ -10617,6 +11476,8 @@
 <channel1>9</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>575</xpos>
+<ypos>0</ypos>
 <zpos>11415</zpos>
 </NEULAND>
 <NEULAND>
@@ -10624,6 +11485,7 @@
 <NAME>NeuLANDPla5V-37</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>5</layer>
 <bar>37</bar>
 <qcal0>1</qcal0>
@@ -10654,6 +11516,8 @@
 <channel1>8</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>625</xpos>
+<ypos>0</ypos>
 <zpos>11415</zpos>
 </NEULAND>
 <NEULAND>
@@ -10661,6 +11525,7 @@
 <NAME>NeuLANDPla5V-38</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>5</layer>
 <bar>38</bar>
 <qcal0>1</qcal0>
@@ -10691,6 +11556,8 @@
 <channel1>7</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>675</xpos>
+<ypos>0</ypos>
 <zpos>11415</zpos>
 </NEULAND>
 <NEULAND>
@@ -10698,6 +11565,7 @@
 <NAME>NeuLANDPla5V-39</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>5</layer>
 <bar>39</bar>
 <qcal0>1</qcal0>
@@ -10728,6 +11596,8 @@
 <channel1>6</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>725</xpos>
+<ypos>0</ypos>
 <zpos>11415</zpos>
 </NEULAND>
 <NEULAND>
@@ -10735,6 +11605,7 @@
 <NAME>NeuLANDPla5V-40</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>5</layer>
 <bar>40</bar>
 <qcal0>1</qcal0>
@@ -10765,6 +11636,8 @@
 <channel1>5</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>775</xpos>
+<ypos>0</ypos>
 <zpos>11415</zpos>
 </NEULAND>
 <NEULAND>
@@ -10772,6 +11645,7 @@
 <NAME>NeuLANDPla5V-41</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>5</layer>
 <bar>41</bar>
 <qcal0>1</qcal0>
@@ -10802,6 +11676,8 @@
 <channel1>4</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>825</xpos>
+<ypos>0</ypos>
 <zpos>11415</zpos>
 </NEULAND>
 <NEULAND>
@@ -10809,6 +11685,7 @@
 <NAME>NeuLANDPla5V-42</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>5</layer>
 <bar>42</bar>
 <qcal0>1</qcal0>
@@ -10839,6 +11716,8 @@
 <channel1>3</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>875</xpos>
+<ypos>0</ypos>
 <zpos>11415</zpos>
 </NEULAND>
 <NEULAND>
@@ -10846,6 +11725,7 @@
 <NAME>NeuLANDPla5V-43</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>5</layer>
 <bar>43</bar>
 <qcal0>1</qcal0>
@@ -10876,6 +11756,8 @@
 <channel1>2</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>925</xpos>
+<ypos>0</ypos>
 <zpos>11415</zpos>
 </NEULAND>
 <NEULAND>
@@ -10883,6 +11765,7 @@
 <NAME>NeuLANDPla5V-44</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>5</layer>
 <bar>44</bar>
 <qcal0>1</qcal0>
@@ -10913,6 +11796,8 @@
 <channel1>1</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>975</xpos>
+<ypos>0</ypos>
 <zpos>11415</zpos>
 </NEULAND>
 <NEULAND>
@@ -10920,6 +11805,7 @@
 <NAME>NeuLANDPla5V-45</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>5</layer>
 <bar>45</bar>
 <qcal0>1</qcal0>
@@ -10950,6 +11836,8 @@
 <channel1>0</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>1025</xpos>
+<ypos>0</ypos>
 <zpos>11415</zpos>
 </NEULAND>
 <NEULAND>
@@ -10957,6 +11845,7 @@
 <NAME>NeuLANDPla5V-46</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>5</layer>
 <bar>46</bar>
 <qcal0>1</qcal0>
@@ -10987,6 +11876,8 @@
 <channel1>15</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>1075</xpos>
+<ypos>0</ypos>
 <zpos>11415</zpos>
 </NEULAND>
 <NEULAND>
@@ -10994,6 +11885,7 @@
 <NAME>NeuLANDPla5V-47</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>5</layer>
 <bar>47</bar>
 <qcal0>1</qcal0>
@@ -11024,6 +11916,8 @@
 <channel1>14</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>1125</xpos>
+<ypos>0</ypos>
 <zpos>11415</zpos>
 </NEULAND>
 <NEULAND>
@@ -11031,6 +11925,7 @@
 <NAME>NeuLANDPla5V-48</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>5</layer>
 <bar>48</bar>
 <qcal0>1</qcal0>
@@ -11061,6 +11956,8 @@
 <channel1>13</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>1175</xpos>
+<ypos>0</ypos>
 <zpos>11415</zpos>
 </NEULAND>
 <NEULAND>
@@ -11068,6 +11965,7 @@
 <NAME>NeuLANDPla5V-49</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>5</layer>
 <bar>49</bar>
 <qcal0>1</qcal0>
@@ -11098,6 +11996,8 @@
 <channel1>12</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>1225</xpos>
+<ypos>0</ypos>
 <zpos>11415</zpos>
 </NEULAND>
 <NEULAND>
@@ -11105,6 +12005,7 @@
 <NAME>NeuLANDPla6H-0</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>6</layer>
 <bar>0</bar>
 <qcal0>1</qcal0>
@@ -11135,6 +12036,8 @@
 <channel1>10</channel1>
 <sam1>6</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>-1225</ypos>
 <zpos>11465</zpos>
 </NEULAND>
 <NEULAND>
@@ -11142,6 +12045,7 @@
 <NAME>NeuLANDPla6H-1</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>6</layer>
 <bar>1</bar>
 <qcal0>1</qcal0>
@@ -11172,6 +12076,8 @@
 <channel1>0</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>-1175</ypos>
 <zpos>11465</zpos>
 </NEULAND>
 <NEULAND>
@@ -11179,6 +12085,7 @@
 <NAME>NeuLANDPla6H-2</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>6</layer>
 <bar>2</bar>
 <qcal0>1</qcal0>
@@ -11209,6 +12116,8 @@
 <channel1>15</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>-1125</ypos>
 <zpos>11465</zpos>
 </NEULAND>
 <NEULAND>
@@ -11216,6 +12125,7 @@
 <NAME>NeuLANDPla6H-3</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>6</layer>
 <bar>3</bar>
 <qcal0>1</qcal0>
@@ -11246,6 +12156,8 @@
 <channel1>14</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>-1075</ypos>
 <zpos>11465</zpos>
 </NEULAND>
 <NEULAND>
@@ -11253,6 +12165,7 @@
 <NAME>NeuLANDPla6H-4</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>6</layer>
 <bar>4</bar>
 <qcal0>1</qcal0>
@@ -11283,6 +12196,8 @@
 <channel1>13</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>-1025</ypos>
 <zpos>11465</zpos>
 </NEULAND>
 <NEULAND>
@@ -11290,6 +12205,7 @@
 <NAME>NeuLANDPla6H-5</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>6</layer>
 <bar>5</bar>
 <qcal0>1</qcal0>
@@ -11320,6 +12236,8 @@
 <channel1>12</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>-975</ypos>
 <zpos>11465</zpos>
 </NEULAND>
 <NEULAND>
@@ -11327,6 +12245,7 @@
 <NAME>NeuLANDPla6H-6</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>6</layer>
 <bar>6</bar>
 <qcal0>1</qcal0>
@@ -11357,6 +12276,8 @@
 <channel1>11</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>-925</ypos>
 <zpos>11465</zpos>
 </NEULAND>
 <NEULAND>
@@ -11364,6 +12285,7 @@
 <NAME>NeuLANDPla6H-7</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>6</layer>
 <bar>7</bar>
 <qcal0>1</qcal0>
@@ -11394,6 +12316,8 @@
 <channel1>10</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>-875</ypos>
 <zpos>11465</zpos>
 </NEULAND>
 <NEULAND>
@@ -11401,6 +12325,7 @@
 <NAME>NeuLANDPla6H-8</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>6</layer>
 <bar>8</bar>
 <qcal0>1</qcal0>
@@ -11431,6 +12356,8 @@
 <channel1>9</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>-825</ypos>
 <zpos>11465</zpos>
 </NEULAND>
 <NEULAND>
@@ -11438,6 +12365,7 @@
 <NAME>NeuLANDPla6H-9</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>6</layer>
 <bar>9</bar>
 <qcal0>1</qcal0>
@@ -11468,6 +12396,8 @@
 <channel1>8</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>-775</ypos>
 <zpos>11465</zpos>
 </NEULAND>
 <NEULAND>
@@ -11475,6 +12405,7 @@
 <NAME>NeuLANDPla6H-10</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>6</layer>
 <bar>10</bar>
 <qcal0>1</qcal0>
@@ -11505,6 +12436,8 @@
 <channel1>7</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>-725</ypos>
 <zpos>11465</zpos>
 </NEULAND>
 <NEULAND>
@@ -11512,6 +12445,7 @@
 <NAME>NeuLANDPla6H-11</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>6</layer>
 <bar>11</bar>
 <qcal0>1</qcal0>
@@ -11542,6 +12476,8 @@
 <channel1>6</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>-675</ypos>
 <zpos>11465</zpos>
 </NEULAND>
 <NEULAND>
@@ -11549,6 +12485,7 @@
 <NAME>NeuLANDPla6H-12</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>6</layer>
 <bar>12</bar>
 <qcal0>1</qcal0>
@@ -11579,6 +12516,8 @@
 <channel1>5</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>-625</ypos>
 <zpos>11465</zpos>
 </NEULAND>
 <NEULAND>
@@ -11586,6 +12525,7 @@
 <NAME>NeuLANDPla6H-13</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>6</layer>
 <bar>13</bar>
 <qcal0>1</qcal0>
@@ -11616,6 +12556,8 @@
 <channel1>4</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>-575</ypos>
 <zpos>11465</zpos>
 </NEULAND>
 <NEULAND>
@@ -11623,6 +12565,7 @@
 <NAME>NeuLANDPla6H-14</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>6</layer>
 <bar>14</bar>
 <qcal0>1</qcal0>
@@ -11653,6 +12596,8 @@
 <channel1>3</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>-525</ypos>
 <zpos>11465</zpos>
 </NEULAND>
 <NEULAND>
@@ -11660,6 +12605,7 @@
 <NAME>NeuLANDPla6H-15</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>6</layer>
 <bar>15</bar>
 <qcal0>1</qcal0>
@@ -11690,6 +12636,8 @@
 <channel1>2</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>-475</ypos>
 <zpos>11465</zpos>
 </NEULAND>
 <NEULAND>
@@ -11697,6 +12645,7 @@
 <NAME>NeuLANDPla6H-16</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>6</layer>
 <bar>16</bar>
 <qcal0>1</qcal0>
@@ -11727,6 +12676,8 @@
 <channel1>1</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>-425</ypos>
 <zpos>11465</zpos>
 </NEULAND>
 <NEULAND>
@@ -11734,6 +12685,7 @@
 <NAME>NeuLANDPla6H-17</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>6</layer>
 <bar>17</bar>
 <qcal0>1</qcal0>
@@ -11764,6 +12716,8 @@
 <channel1>0</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>-375</ypos>
 <zpos>11465</zpos>
 </NEULAND>
 <NEULAND>
@@ -11771,6 +12725,7 @@
 <NAME>NeuLANDPla6H-18</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>6</layer>
 <bar>18</bar>
 <qcal0>1</qcal0>
@@ -11801,6 +12756,8 @@
 <channel1>15</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>-325</ypos>
 <zpos>11465</zpos>
 </NEULAND>
 <NEULAND>
@@ -11808,6 +12765,7 @@
 <NAME>NeuLANDPla6H-19</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>6</layer>
 <bar>19</bar>
 <qcal0>1</qcal0>
@@ -11838,6 +12796,8 @@
 <channel1>14</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>-275</ypos>
 <zpos>11465</zpos>
 </NEULAND>
 <NEULAND>
@@ -11845,6 +12805,7 @@
 <NAME>NeuLANDPla6H-20</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>6</layer>
 <bar>20</bar>
 <qcal0>1</qcal0>
@@ -11875,6 +12836,8 @@
 <channel1>13</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>-225</ypos>
 <zpos>11465</zpos>
 </NEULAND>
 <NEULAND>
@@ -11882,6 +12845,7 @@
 <NAME>NeuLANDPla6H-21</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>6</layer>
 <bar>21</bar>
 <qcal0>1</qcal0>
@@ -11912,6 +12876,8 @@
 <channel1>12</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>-175</ypos>
 <zpos>11465</zpos>
 </NEULAND>
 <NEULAND>
@@ -11919,6 +12885,7 @@
 <NAME>NeuLANDPla6H-22</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>6</layer>
 <bar>22</bar>
 <qcal0>1</qcal0>
@@ -11949,6 +12916,8 @@
 <channel1>11</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>-125</ypos>
 <zpos>11465</zpos>
 </NEULAND>
 <NEULAND>
@@ -11956,6 +12925,7 @@
 <NAME>NeuLANDPla6H-23</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>6</layer>
 <bar>23</bar>
 <qcal0>1</qcal0>
@@ -11986,6 +12956,8 @@
 <channel1>10</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>-75</ypos>
 <zpos>11465</zpos>
 </NEULAND>
 <NEULAND>
@@ -11993,6 +12965,7 @@
 <NAME>NeuLANDPla6H-24</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>6</layer>
 <bar>24</bar>
 <qcal0>1</qcal0>
@@ -12023,6 +12996,8 @@
 <channel1>9</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>-25</ypos>
 <zpos>11465</zpos>
 </NEULAND>
 <NEULAND>
@@ -12030,6 +13005,7 @@
 <NAME>NeuLANDPla6H-25</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>6</layer>
 <bar>25</bar>
 <qcal0>1</qcal0>
@@ -12060,6 +13036,8 @@
 <channel1>8</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>25</ypos>
 <zpos>11465</zpos>
 </NEULAND>
 <NEULAND>
@@ -12067,6 +13045,7 @@
 <NAME>NeuLANDPla6H-26</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>6</layer>
 <bar>26</bar>
 <qcal0>1</qcal0>
@@ -12097,6 +13076,8 @@
 <channel1>7</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>75</ypos>
 <zpos>11465</zpos>
 </NEULAND>
 <NEULAND>
@@ -12104,6 +13085,7 @@
 <NAME>NeuLANDPla6H-27</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>6</layer>
 <bar>27</bar>
 <qcal0>1</qcal0>
@@ -12134,6 +13116,8 @@
 <channel1>6</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>125</ypos>
 <zpos>11465</zpos>
 </NEULAND>
 <NEULAND>
@@ -12141,6 +13125,7 @@
 <NAME>NeuLANDPla6H-28</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>6</layer>
 <bar>28</bar>
 <qcal0>1</qcal0>
@@ -12171,6 +13156,8 @@
 <channel1>5</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>175</ypos>
 <zpos>11465</zpos>
 </NEULAND>
 <NEULAND>
@@ -12178,6 +13165,7 @@
 <NAME>NeuLANDPla6H-29</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>6</layer>
 <bar>29</bar>
 <qcal0>1</qcal0>
@@ -12208,6 +13196,8 @@
 <channel1>4</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>225</ypos>
 <zpos>11465</zpos>
 </NEULAND>
 <NEULAND>
@@ -12215,6 +13205,7 @@
 <NAME>NeuLANDPla6H-30</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>6</layer>
 <bar>30</bar>
 <qcal0>1</qcal0>
@@ -12245,6 +13236,8 @@
 <channel1>3</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>275</ypos>
 <zpos>11465</zpos>
 </NEULAND>
 <NEULAND>
@@ -12252,6 +13245,7 @@
 <NAME>NeuLANDPla6H-31</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>6</layer>
 <bar>31</bar>
 <qcal0>1</qcal0>
@@ -12282,6 +13276,8 @@
 <channel1>2</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>325</ypos>
 <zpos>11465</zpos>
 </NEULAND>
 <NEULAND>
@@ -12289,6 +13285,7 @@
 <NAME>NeuLANDPla6H-32</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>6</layer>
 <bar>32</bar>
 <qcal0>1</qcal0>
@@ -12319,6 +13316,8 @@
 <channel1>1</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>375</ypos>
 <zpos>11465</zpos>
 </NEULAND>
 <NEULAND>
@@ -12326,6 +13325,7 @@
 <NAME>NeuLANDPla6H-33</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>6</layer>
 <bar>33</bar>
 <qcal0>1</qcal0>
@@ -12356,6 +13356,8 @@
 <channel1>0</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>425</ypos>
 <zpos>11465</zpos>
 </NEULAND>
 <NEULAND>
@@ -12363,6 +13365,7 @@
 <NAME>NeuLANDPla6H-34</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>6</layer>
 <bar>34</bar>
 <qcal0>1</qcal0>
@@ -12393,6 +13396,8 @@
 <channel1>15</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>475</ypos>
 <zpos>11465</zpos>
 </NEULAND>
 <NEULAND>
@@ -12400,6 +13405,7 @@
 <NAME>NeuLANDPla6H-35</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>6</layer>
 <bar>35</bar>
 <qcal0>1</qcal0>
@@ -12430,6 +13436,8 @@
 <channel1>14</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>525</ypos>
 <zpos>11465</zpos>
 </NEULAND>
 <NEULAND>
@@ -12437,6 +13445,7 @@
 <NAME>NeuLANDPla6H-36</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>6</layer>
 <bar>36</bar>
 <qcal0>1</qcal0>
@@ -12467,6 +13476,8 @@
 <channel1>13</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>575</ypos>
 <zpos>11465</zpos>
 </NEULAND>
 <NEULAND>
@@ -12474,6 +13485,7 @@
 <NAME>NeuLANDPla6H-37</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>6</layer>
 <bar>37</bar>
 <qcal0>1</qcal0>
@@ -12504,6 +13516,8 @@
 <channel1>12</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>625</ypos>
 <zpos>11465</zpos>
 </NEULAND>
 <NEULAND>
@@ -12511,6 +13525,7 @@
 <NAME>NeuLANDPla6H-38</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>6</layer>
 <bar>38</bar>
 <qcal0>1</qcal0>
@@ -12541,6 +13556,8 @@
 <channel1>11</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>675</ypos>
 <zpos>11465</zpos>
 </NEULAND>
 <NEULAND>
@@ -12548,6 +13565,7 @@
 <NAME>NeuLANDPla6H-39</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>6</layer>
 <bar>39</bar>
 <qcal0>1</qcal0>
@@ -12578,6 +13596,8 @@
 <channel1>10</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>725</ypos>
 <zpos>11465</zpos>
 </NEULAND>
 <NEULAND>
@@ -12585,6 +13605,7 @@
 <NAME>NeuLANDPla6H-40</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>6</layer>
 <bar>40</bar>
 <qcal0>1</qcal0>
@@ -12615,6 +13636,8 @@
 <channel1>9</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>775</ypos>
 <zpos>11465</zpos>
 </NEULAND>
 <NEULAND>
@@ -12622,6 +13645,7 @@
 <NAME>NeuLANDPla6H-41</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>6</layer>
 <bar>41</bar>
 <qcal0>1</qcal0>
@@ -12652,6 +13676,8 @@
 <channel1>8</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>825</ypos>
 <zpos>11465</zpos>
 </NEULAND>
 <NEULAND>
@@ -12659,6 +13685,7 @@
 <NAME>NeuLANDPla6H-42</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>6</layer>
 <bar>42</bar>
 <qcal0>1</qcal0>
@@ -12689,6 +13716,8 @@
 <channel1>7</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>875</ypos>
 <zpos>11465</zpos>
 </NEULAND>
 <NEULAND>
@@ -12696,6 +13725,7 @@
 <NAME>NeuLANDPla6H-43</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>6</layer>
 <bar>43</bar>
 <qcal0>1</qcal0>
@@ -12726,6 +13756,8 @@
 <channel1>6</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>925</ypos>
 <zpos>11465</zpos>
 </NEULAND>
 <NEULAND>
@@ -12733,6 +13765,7 @@
 <NAME>NeuLANDPla6H-44</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>6</layer>
 <bar>44</bar>
 <qcal0>1</qcal0>
@@ -12763,6 +13796,8 @@
 <channel1>5</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>975</ypos>
 <zpos>11465</zpos>
 </NEULAND>
 <NEULAND>
@@ -12770,6 +13805,7 @@
 <NAME>NeuLANDPla6H-45</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>6</layer>
 <bar>45</bar>
 <qcal0>1</qcal0>
@@ -12800,6 +13836,8 @@
 <channel1>4</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>1025</ypos>
 <zpos>11465</zpos>
 </NEULAND>
 <NEULAND>
@@ -12807,6 +13845,7 @@
 <NAME>NeuLANDPla6H-46</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>6</layer>
 <bar>46</bar>
 <qcal0>1</qcal0>
@@ -12837,6 +13876,8 @@
 <channel1>3</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>1075</ypos>
 <zpos>11465</zpos>
 </NEULAND>
 <NEULAND>
@@ -12844,6 +13885,7 @@
 <NAME>NeuLANDPla6H-47</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>6</layer>
 <bar>47</bar>
 <qcal0>1</qcal0>
@@ -12874,6 +13916,8 @@
 <channel1>2</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>1125</ypos>
 <zpos>11465</zpos>
 </NEULAND>
 <NEULAND>
@@ -12881,6 +13925,7 @@
 <NAME>NeuLANDPla6H-48</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>6</layer>
 <bar>48</bar>
 <qcal0>1</qcal0>
@@ -12911,6 +13956,8 @@
 <channel1>1</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>1175</ypos>
 <zpos>11465</zpos>
 </NEULAND>
 <NEULAND>
@@ -12918,6 +13965,7 @@
 <NAME>NeuLANDPla6H-49</NAME>
 <FPL>13</FPL>
 <direction>H</direction>
+<SubLayer>1</SubLayer>
 <layer>6</layer>
 <bar>49</bar>
 <qcal0>1</qcal0>
@@ -12948,6 +13996,8 @@
 <channel1>0</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>0</xpos>
+<ypos>1225</ypos>
 <zpos>11465</zpos>
 </NEULAND>
 <NEULAND>
@@ -12955,6 +14005,7 @@
 <NAME>NeuLANDPla7V-0</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>7</layer>
 <bar>0</bar>
 <qcal0>1</qcal0>
@@ -12985,6 +14036,8 @@
 <channel1>9</channel1>
 <sam1>5</sam1>
 <gtb1>0</gtb1>
+<xpos>-1225</xpos>
+<ypos>0</ypos>
 <zpos>11515</zpos>
 </NEULAND>
 <NEULAND>
@@ -12992,6 +14045,7 @@
 <NAME>NeuLANDPla7V-1</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>7</layer>
 <bar>1</bar>
 <qcal0>1</qcal0>
@@ -13022,6 +14076,8 @@
 <channel1>8</channel1>
 <sam1>5</sam1>
 <gtb1>0</gtb1>
+<xpos>-1175</xpos>
+<ypos>0</ypos>
 <zpos>11515</zpos>
 </NEULAND>
 <NEULAND>
@@ -13029,6 +14085,7 @@
 <NAME>NeuLANDPla7V-2</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>7</layer>
 <bar>2</bar>
 <qcal0>1</qcal0>
@@ -13059,6 +14116,8 @@
 <channel1>7</channel1>
 <sam1>5</sam1>
 <gtb1>0</gtb1>
+<xpos>-1125</xpos>
+<ypos>0</ypos>
 <zpos>11515</zpos>
 </NEULAND>
 <NEULAND>
@@ -13066,6 +14125,7 @@
 <NAME>NeuLANDPla7V-3</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>7</layer>
 <bar>3</bar>
 <qcal0>1</qcal0>
@@ -13096,6 +14156,8 @@
 <channel1>6</channel1>
 <sam1>5</sam1>
 <gtb1>0</gtb1>
+<xpos>-1075</xpos>
+<ypos>0</ypos>
 <zpos>11515</zpos>
 </NEULAND>
 <NEULAND>
@@ -13103,6 +14165,7 @@
 <NAME>NeuLANDPla7V-4</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>7</layer>
 <bar>4</bar>
 <qcal0>1</qcal0>
@@ -13133,6 +14196,8 @@
 <channel1>5</channel1>
 <sam1>5</sam1>
 <gtb1>0</gtb1>
+<xpos>-1025</xpos>
+<ypos>0</ypos>
 <zpos>11515</zpos>
 </NEULAND>
 <NEULAND>
@@ -13140,6 +14205,7 @@
 <NAME>NeuLANDPla7V-5</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>7</layer>
 <bar>5</bar>
 <qcal0>1</qcal0>
@@ -13170,6 +14236,8 @@
 <channel1>4</channel1>
 <sam1>5</sam1>
 <gtb1>0</gtb1>
+<xpos>-975</xpos>
+<ypos>0</ypos>
 <zpos>11515</zpos>
 </NEULAND>
 <NEULAND>
@@ -13177,6 +14245,7 @@
 <NAME>NeuLANDPla7V-6</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>7</layer>
 <bar>6</bar>
 <qcal0>1</qcal0>
@@ -13207,6 +14276,8 @@
 <channel1>3</channel1>
 <sam1>5</sam1>
 <gtb1>0</gtb1>
+<xpos>-925</xpos>
+<ypos>0</ypos>
 <zpos>11515</zpos>
 </NEULAND>
 <NEULAND>
@@ -13214,6 +14285,7 @@
 <NAME>NeuLANDPla7V-7</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>7</layer>
 <bar>7</bar>
 <qcal0>1</qcal0>
@@ -13244,6 +14316,8 @@
 <channel1>2</channel1>
 <sam1>5</sam1>
 <gtb1>0</gtb1>
+<xpos>-875</xpos>
+<ypos>0</ypos>
 <zpos>11515</zpos>
 </NEULAND>
 <NEULAND>
@@ -13251,6 +14325,7 @@
 <NAME>NeuLANDPla7V-8</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>7</layer>
 <bar>8</bar>
 <qcal0>1</qcal0>
@@ -13281,6 +14356,8 @@
 <channel1>1</channel1>
 <sam1>5</sam1>
 <gtb1>0</gtb1>
+<xpos>-825</xpos>
+<ypos>0</ypos>
 <zpos>11515</zpos>
 </NEULAND>
 <NEULAND>
@@ -13288,6 +14365,7 @@
 <NAME>NeuLANDPla7V-9</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>7</layer>
 <bar>9</bar>
 <qcal0>1</qcal0>
@@ -13318,6 +14396,8 @@
 <channel1>0</channel1>
 <sam1>5</sam1>
 <gtb1>0</gtb1>
+<xpos>-775</xpos>
+<ypos>0</ypos>
 <zpos>11515</zpos>
 </NEULAND>
 <NEULAND>
@@ -13325,6 +14405,7 @@
 <NAME>NeuLANDPla7V-10</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>7</layer>
 <bar>10</bar>
 <qcal0>1</qcal0>
@@ -13355,6 +14436,8 @@
 <channel1>15</channel1>
 <sam1>5</sam1>
 <gtb1>0</gtb1>
+<xpos>-725</xpos>
+<ypos>0</ypos>
 <zpos>11515</zpos>
 </NEULAND>
 <NEULAND>
@@ -13362,6 +14445,7 @@
 <NAME>NeuLANDPla7V-11</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>7</layer>
 <bar>11</bar>
 <qcal0>1</qcal0>
@@ -13392,6 +14476,8 @@
 <channel1>14</channel1>
 <sam1>5</sam1>
 <gtb1>0</gtb1>
+<xpos>-675</xpos>
+<ypos>0</ypos>
 <zpos>11515</zpos>
 </NEULAND>
 <NEULAND>
@@ -13399,6 +14485,7 @@
 <NAME>NeuLANDPla7V-12</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>7</layer>
 <bar>12</bar>
 <qcal0>1</qcal0>
@@ -13429,6 +14516,8 @@
 <channel1>13</channel1>
 <sam1>5</sam1>
 <gtb1>0</gtb1>
+<xpos>-625</xpos>
+<ypos>0</ypos>
 <zpos>11515</zpos>
 </NEULAND>
 <NEULAND>
@@ -13436,6 +14525,7 @@
 <NAME>NeuLANDPla7V-13</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>7</layer>
 <bar>13</bar>
 <qcal0>1</qcal0>
@@ -13466,6 +14556,8 @@
 <channel1>12</channel1>
 <sam1>5</sam1>
 <gtb1>0</gtb1>
+<xpos>-575</xpos>
+<ypos>0</ypos>
 <zpos>11515</zpos>
 </NEULAND>
 <NEULAND>
@@ -13473,6 +14565,7 @@
 <NAME>NeuLANDPla7V-14</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>7</layer>
 <bar>14</bar>
 <qcal0>1</qcal0>
@@ -13503,6 +14596,8 @@
 <channel1>11</channel1>
 <sam1>5</sam1>
 <gtb1>0</gtb1>
+<xpos>-525</xpos>
+<ypos>0</ypos>
 <zpos>11515</zpos>
 </NEULAND>
 <NEULAND>
@@ -13510,6 +14605,7 @@
 <NAME>NeuLANDPla7V-15</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>7</layer>
 <bar>15</bar>
 <qcal0>1</qcal0>
@@ -13540,6 +14636,8 @@
 <channel1>10</channel1>
 <sam1>5</sam1>
 <gtb1>0</gtb1>
+<xpos>-475</xpos>
+<ypos>0</ypos>
 <zpos>11515</zpos>
 </NEULAND>
 <NEULAND>
@@ -13547,6 +14645,7 @@
 <NAME>NeuLANDPla7V-16</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>7</layer>
 <bar>16</bar>
 <qcal0>1</qcal0>
@@ -13577,6 +14676,8 @@
 <channel1>9</channel1>
 <sam1>5</sam1>
 <gtb1>0</gtb1>
+<xpos>-425</xpos>
+<ypos>0</ypos>
 <zpos>11515</zpos>
 </NEULAND>
 <NEULAND>
@@ -13584,6 +14685,7 @@
 <NAME>NeuLANDPla7V-17</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>7</layer>
 <bar>17</bar>
 <qcal0>1</qcal0>
@@ -13614,6 +14716,8 @@
 <channel1>8</channel1>
 <sam1>5</sam1>
 <gtb1>0</gtb1>
+<xpos>-375</xpos>
+<ypos>0</ypos>
 <zpos>11515</zpos>
 </NEULAND>
 <NEULAND>
@@ -13621,6 +14725,7 @@
 <NAME>NeuLANDPla7V-18</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>7</layer>
 <bar>18</bar>
 <qcal0>1</qcal0>
@@ -13651,6 +14756,8 @@
 <channel1>7</channel1>
 <sam1>5</sam1>
 <gtb1>0</gtb1>
+<xpos>-325</xpos>
+<ypos>0</ypos>
 <zpos>11515</zpos>
 </NEULAND>
 <NEULAND>
@@ -13658,6 +14765,7 @@
 <NAME>NeuLANDPla7V-19</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>7</layer>
 <bar>19</bar>
 <qcal0>1</qcal0>
@@ -13688,6 +14796,8 @@
 <channel1>6</channel1>
 <sam1>5</sam1>
 <gtb1>0</gtb1>
+<xpos>-275</xpos>
+<ypos>0</ypos>
 <zpos>11515</zpos>
 </NEULAND>
 <NEULAND>
@@ -13695,6 +14805,7 @@
 <NAME>NeuLANDPla7V-20</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>7</layer>
 <bar>20</bar>
 <qcal0>1</qcal0>
@@ -13725,6 +14836,8 @@
 <channel1>5</channel1>
 <sam1>5</sam1>
 <gtb1>0</gtb1>
+<xpos>-225</xpos>
+<ypos>0</ypos>
 <zpos>11515</zpos>
 </NEULAND>
 <NEULAND>
@@ -13732,6 +14845,7 @@
 <NAME>NeuLANDPla7V-21</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>7</layer>
 <bar>21</bar>
 <qcal0>1</qcal0>
@@ -13762,6 +14876,8 @@
 <channel1>4</channel1>
 <sam1>5</sam1>
 <gtb1>0</gtb1>
+<xpos>-175</xpos>
+<ypos>0</ypos>
 <zpos>11515</zpos>
 </NEULAND>
 <NEULAND>
@@ -13769,6 +14885,7 @@
 <NAME>NeuLANDPla7V-22</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>7</layer>
 <bar>22</bar>
 <qcal0>1</qcal0>
@@ -13799,6 +14916,8 @@
 <channel1>3</channel1>
 <sam1>5</sam1>
 <gtb1>0</gtb1>
+<xpos>-125</xpos>
+<ypos>0</ypos>
 <zpos>11515</zpos>
 </NEULAND>
 <NEULAND>
@@ -13806,6 +14925,7 @@
 <NAME>NeuLANDPla7V-23</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>7</layer>
 <bar>23</bar>
 <qcal0>1</qcal0>
@@ -13836,6 +14956,8 @@
 <channel1>2</channel1>
 <sam1>5</sam1>
 <gtb1>0</gtb1>
+<xpos>-75</xpos>
+<ypos>0</ypos>
 <zpos>11515</zpos>
 </NEULAND>
 <NEULAND>
@@ -13843,6 +14965,7 @@
 <NAME>NeuLANDPla7V-24</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>7</layer>
 <bar>24</bar>
 <qcal0>1</qcal0>
@@ -13873,6 +14996,8 @@
 <channel1>1</channel1>
 <sam1>5</sam1>
 <gtb1>0</gtb1>
+<xpos>-25</xpos>
+<ypos>0</ypos>
 <zpos>11515</zpos>
 </NEULAND>
 <NEULAND>
@@ -13880,6 +15005,7 @@
 <NAME>NeuLANDPla7V-25</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>7</layer>
 <bar>25</bar>
 <qcal0>1</qcal0>
@@ -13910,6 +15036,8 @@
 <channel1>0</channel1>
 <sam1>5</sam1>
 <gtb1>0</gtb1>
+<xpos>25</xpos>
+<ypos>0</ypos>
 <zpos>11515</zpos>
 </NEULAND>
 <NEULAND>
@@ -13917,6 +15045,7 @@
 <NAME>NeuLANDPla7V-26</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>7</layer>
 <bar>26</bar>
 <qcal0>1</qcal0>
@@ -13947,6 +15076,8 @@
 <channel1>15</channel1>
 <sam1>5</sam1>
 <gtb1>0</gtb1>
+<xpos>75</xpos>
+<ypos>0</ypos>
 <zpos>11515</zpos>
 </NEULAND>
 <NEULAND>
@@ -13954,6 +15085,7 @@
 <NAME>NeuLANDPla7V-27</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>7</layer>
 <bar>27</bar>
 <qcal0>1</qcal0>
@@ -13984,6 +15116,8 @@
 <channel1>14</channel1>
 <sam1>5</sam1>
 <gtb1>0</gtb1>
+<xpos>125</xpos>
+<ypos>0</ypos>
 <zpos>11515</zpos>
 </NEULAND>
 <NEULAND>
@@ -13991,6 +15125,7 @@
 <NAME>NeuLANDPla7V-28</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>7</layer>
 <bar>28</bar>
 <qcal0>1</qcal0>
@@ -14021,6 +15156,8 @@
 <channel1>13</channel1>
 <sam1>5</sam1>
 <gtb1>0</gtb1>
+<xpos>175</xpos>
+<ypos>0</ypos>
 <zpos>11515</zpos>
 </NEULAND>
 <NEULAND>
@@ -14028,6 +15165,7 @@
 <NAME>NeuLANDPla7V-29</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>7</layer>
 <bar>29</bar>
 <qcal0>1</qcal0>
@@ -14058,6 +15196,8 @@
 <channel1>12</channel1>
 <sam1>5</sam1>
 <gtb1>0</gtb1>
+<xpos>225</xpos>
+<ypos>0</ypos>
 <zpos>11515</zpos>
 </NEULAND>
 <NEULAND>
@@ -14065,6 +15205,7 @@
 <NAME>NeuLANDPla7V-30</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>7</layer>
 <bar>30</bar>
 <qcal0>1</qcal0>
@@ -14095,6 +15236,8 @@
 <channel1>15</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>275</xpos>
+<ypos>0</ypos>
 <zpos>11515</zpos>
 </NEULAND>
 <NEULAND>
@@ -14102,6 +15245,7 @@
 <NAME>NeuLANDPla7V-31</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>7</layer>
 <bar>31</bar>
 <qcal0>1</qcal0>
@@ -14132,6 +15276,8 @@
 <channel1>14</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>325</xpos>
+<ypos>0</ypos>
 <zpos>11515</zpos>
 </NEULAND>
 <NEULAND>
@@ -14139,6 +15285,7 @@
 <NAME>NeuLANDPla7V-32</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>7</layer>
 <bar>32</bar>
 <qcal0>1</qcal0>
@@ -14169,6 +15316,8 @@
 <channel1>13</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>375</xpos>
+<ypos>0</ypos>
 <zpos>11515</zpos>
 </NEULAND>
 <NEULAND>
@@ -14176,6 +15325,7 @@
 <NAME>NeuLANDPla7V-33</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>7</layer>
 <bar>33</bar>
 <qcal0>1</qcal0>
@@ -14206,6 +15356,8 @@
 <channel1>12</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>425</xpos>
+<ypos>0</ypos>
 <zpos>11515</zpos>
 </NEULAND>
 <NEULAND>
@@ -14213,6 +15365,7 @@
 <NAME>NeuLANDPla7V-34</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>7</layer>
 <bar>34</bar>
 <qcal0>1</qcal0>
@@ -14243,6 +15396,8 @@
 <channel1>11</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>475</xpos>
+<ypos>0</ypos>
 <zpos>11515</zpos>
 </NEULAND>
 <NEULAND>
@@ -14250,6 +15405,7 @@
 <NAME>NeuLANDPla7V-35</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>7</layer>
 <bar>35</bar>
 <qcal0>1</qcal0>
@@ -14280,6 +15436,8 @@
 <channel1>10</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>525</xpos>
+<ypos>0</ypos>
 <zpos>11515</zpos>
 </NEULAND>
 <NEULAND>
@@ -14287,6 +15445,7 @@
 <NAME>NeuLANDPla7V-36</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>7</layer>
 <bar>36</bar>
 <qcal0>1</qcal0>
@@ -14317,6 +15476,8 @@
 <channel1>9</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>575</xpos>
+<ypos>0</ypos>
 <zpos>11515</zpos>
 </NEULAND>
 <NEULAND>
@@ -14324,6 +15485,7 @@
 <NAME>NeuLANDPla7V-37</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>7</layer>
 <bar>37</bar>
 <qcal0>1</qcal0>
@@ -14354,6 +15516,8 @@
 <channel1>8</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>625</xpos>
+<ypos>0</ypos>
 <zpos>11515</zpos>
 </NEULAND>
 <NEULAND>
@@ -14361,6 +15525,7 @@
 <NAME>NeuLANDPla7V-38</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>7</layer>
 <bar>38</bar>
 <qcal0>1</qcal0>
@@ -14391,6 +15556,8 @@
 <channel1>7</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>675</xpos>
+<ypos>0</ypos>
 <zpos>11515</zpos>
 </NEULAND>
 <NEULAND>
@@ -14398,6 +15565,7 @@
 <NAME>NeuLANDPla7V-39</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>7</layer>
 <bar>39</bar>
 <qcal0>1</qcal0>
@@ -14428,6 +15596,8 @@
 <channel1>6</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>725</xpos>
+<ypos>0</ypos>
 <zpos>11515</zpos>
 </NEULAND>
 <NEULAND>
@@ -14435,6 +15605,7 @@
 <NAME>NeuLANDPla7V-40</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>7</layer>
 <bar>40</bar>
 <qcal0>1</qcal0>
@@ -14465,6 +15636,8 @@
 <channel1>5</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>775</xpos>
+<ypos>0</ypos>
 <zpos>11515</zpos>
 </NEULAND>
 <NEULAND>
@@ -14472,6 +15645,7 @@
 <NAME>NeuLANDPla7V-41</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>7</layer>
 <bar>41</bar>
 <qcal0>1</qcal0>
@@ -14502,6 +15676,8 @@
 <channel1>4</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>825</xpos>
+<ypos>0</ypos>
 <zpos>11515</zpos>
 </NEULAND>
 <NEULAND>
@@ -14509,6 +15685,7 @@
 <NAME>NeuLANDPla7V-42</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>7</layer>
 <bar>42</bar>
 <qcal0>1</qcal0>
@@ -14539,6 +15716,8 @@
 <channel1>3</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>875</xpos>
+<ypos>0</ypos>
 <zpos>11515</zpos>
 </NEULAND>
 <NEULAND>
@@ -14546,6 +15725,7 @@
 <NAME>NeuLANDPla7V-43</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>7</layer>
 <bar>43</bar>
 <qcal0>1</qcal0>
@@ -14576,6 +15756,8 @@
 <channel1>2</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>925</xpos>
+<ypos>0</ypos>
 <zpos>11515</zpos>
 </NEULAND>
 <NEULAND>
@@ -14583,6 +15765,7 @@
 <NAME>NeuLANDPla7V-44</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>7</layer>
 <bar>44</bar>
 <qcal0>1</qcal0>
@@ -14613,6 +15796,8 @@
 <channel1>1</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>975</xpos>
+<ypos>0</ypos>
 <zpos>11515</zpos>
 </NEULAND>
 <NEULAND>
@@ -14620,6 +15805,7 @@
 <NAME>NeuLANDPla7V-45</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>7</layer>
 <bar>45</bar>
 <qcal0>1</qcal0>
@@ -14650,6 +15836,8 @@
 <channel1>0</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>1025</xpos>
+<ypos>0</ypos>
 <zpos>11515</zpos>
 </NEULAND>
 <NEULAND>
@@ -14657,6 +15845,7 @@
 <NAME>NeuLANDPla7V-46</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>7</layer>
 <bar>46</bar>
 <qcal0>1</qcal0>
@@ -14687,6 +15876,8 @@
 <channel1>15</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>1075</xpos>
+<ypos>0</ypos>
 <zpos>11515</zpos>
 </NEULAND>
 <NEULAND>
@@ -14694,6 +15885,7 @@
 <NAME>NeuLANDPla7V-47</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>7</layer>
 <bar>47</bar>
 <qcal0>1</qcal0>
@@ -14724,6 +15916,8 @@
 <channel1>14</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>1125</xpos>
+<ypos>0</ypos>
 <zpos>11515</zpos>
 </NEULAND>
 <NEULAND>
@@ -14731,6 +15925,7 @@
 <NAME>NeuLANDPla7V-48</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>7</layer>
 <bar>48</bar>
 <qcal0>1</qcal0>
@@ -14761,6 +15956,8 @@
 <channel1>13</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>1175</xpos>
+<ypos>0</ypos>
 <zpos>11515</zpos>
 </NEULAND>
 <NEULAND>
@@ -14768,6 +15965,7 @@
 <NAME>NeuLANDPla7V-49</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>7</layer>
 <bar>49</bar>
 <qcal0>1</qcal0>
@@ -14798,13 +15996,17 @@
 <channel1>12</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>1225</xpos>
+<ypos>0</ypos>
 <zpos>11515</zpos>
 </NEULAND>
+<!-- 
 <NEULAND>
 <ID>401</ID>
 <NAME>MasterStart</NAME>
 <FPL>13</FPL>
 <direction>V</direction>
+<SubLayer>1</SubLayer>
 <layer>1</layer>
 <bar>1</bar>
 <qcal0>1</qcal0>
@@ -14835,6 +16037,272 @@
 <channel1>11</channel1>
 <sam1>7</sam1>
 <gtb1>0</gtb1>
+<xpos>-1175</xpos>
+<ypos>0</ypos>
 <zpos>0</zpos>
+</NEULAND>-->
+<NEULAND>
+<ID>401</ID>
+<NAME>NEULANDVETO1</NAME>
+<FPl>13</FPl>
+<direction>V</direction>
+<Layer>1</Layer>
+<SubLayer>0</SubLayer>
+<xpos>-1120</xpos>
+<ypos>0</ypos>
+<zpos>10830</zpos>
+<TUCal>0.0764449</TUCal>
+<TUOff>0</TUOff>
+<TUSlw>0</TUSlw>
+<QUCal>0.0084</QUCal>
+<QUPed>270.381</QUPed>
+<TDCal>0.0772675</TDCal>
+<TDOff>0</TDOff>
+<TDSlw>0</TDSlw>
+<QDCal>0.0077</QDCal>
+<QDPed>327.727</QDPed>
+<DTCal>5.27777</DTCal>
+<DTOff>0</DTOff>
+<TAveOff>0</TAveOff>
+<tu_geo>31</tu_geo>
+<tu_ch>0</tu_ch>
+<td_geo>31</td_geo>
+<td_ch>8</td_ch>
+<qu_geo>31</qu_geo>
+<qu_ch>0</qu_ch>
+<qd_geo>31</qd_geo>
+<qd_ch>8</qd_ch>
+<Ignore>0</Ignore>
+</NEULAND>
+<NEULAND>
+<ID>402</ID>
+<NAME>NEULANDVETO2</NAME>
+<FPl>13</FPl>
+<direction>V</direction>
+<Layer>1</Layer>
+<SubLayer>0</SubLayer>
+<xpos>-800</xpos>
+<ypos>0</ypos>
+<zpos>10830</zpos>
+<TUCal>0.0781229</TUCal>
+<TUOff>0</TUOff>
+<TUSlw>0</TUSlw>
+<QUCal>0.0071</QUCal>
+<QUPed>188.705</QUPed>
+<TDCal>0.0773227</TDCal>
+<TDOff>0</TDOff>
+<TDSlw>0</TDSlw>
+<QDCal>0.0093</QDCal>
+<QDPed>329.087</QDPed>
+<DTCal>5.42857</DTCal>
+<DTOff>0</DTOff>
+<TAveOff>0</TAveOff>
+<tu_geo>31</tu_geo>
+<tu_ch>1</tu_ch>
+<td_geo>31</td_geo>
+<td_ch>9</td_ch>
+<qu_geo>31</qu_geo>
+<qu_ch>1</qu_ch>
+<qd_geo>31</qd_geo>
+<qd_ch>9</qd_ch>
+<Ignore>0</Ignore>
+</NEULAND>
+<NEULAND>
+<ID>403</ID>
+<NAME>NEULANDVETO3</NAME>
+<FPl>13</FPl>
+<direction>V</direction>
+<Layer>1</Layer>
+<SubLayer>0</SubLayer>
+<xpos>-480</xpos>
+<ypos>0</ypos>
+<zpos>10830</zpos>
+<TUCal>0.0768897</TUCal>
+<TUOff>0</TUOff>
+<TUSlw>0</TUSlw>
+<QUCal>0.0064</QUCal>
+<QUPed>194.707</QUPed>
+<TDCal>0.076907</TDCal>
+<TDOff>0</TDOff>
+<TDSlw>0</TDSlw>
+<QDCal>0.0084</QDCal>
+<QDPed>274.876</QDPed>
+<DTCal>5.27777</DTCal>
+<DTOff>0</DTOff>
+<TAveOff>0</TAveOff>
+<tu_geo>31</tu_geo>
+<tu_ch>2</tu_ch>
+<td_geo>31</td_geo>
+<td_ch>10</td_ch>
+<qu_geo>31</qu_geo>
+<qu_ch>2</qu_ch>
+<qd_geo>31</qd_geo>
+<qd_ch>10</qd_ch>
+<Ignore>0</Ignore>
+</NEULAND>
+<NEULAND>
+<ID>404</ID>
+<NAME>NEULANDVETO4</NAME>
+<FPl>13</FPl>
+<direction>V</direction>
+<Layer>1</Layer>
+<SubLayer>0</SubLayer>
+<xpos>-160</xpos>
+<ypos>0</ypos>
+<zpos>10830</zpos>
+<TUCal>0.0763626</TUCal>
+<TUOff>0</TUOff>
+<TUSlw>0</TUSlw>
+<QUCal>0.0092</QUCal>
+<QUPed>231.671</QUPed>
+<TDCal>0.077865</TDCal>
+<TDOff>0</TDOff>
+<TDSlw>0</TDSlw>
+<QDCal>0.0087</QDCal>
+<QDPed>361.245</QDPed>
+<DTCal>5.13514</DTCal>
+<DTOff>0</DTOff>
+<TAveOff>0</TAveOff>
+<tu_geo>31</tu_geo>
+<tu_ch>3</tu_ch>
+<td_geo>31</td_geo>
+<td_ch>11</td_ch>
+<qu_geo>31</qu_geo>
+<qu_ch>3</qu_ch>
+<qd_geo>31</qd_geo>
+<qd_ch>11</qd_ch>
+<Ignore>0</Ignore>
+</NEULAND>
+<NEULAND>
+<ID>405</ID>
+<NAME>NEULANDVETO5</NAME>
+<FPl>13</FPl>
+<direction>V</direction>
+<Layer>1</Layer>
+<SubLayer>0</SubLayer>
+<xpos>160</xpos>
+<ypos>0</ypos>
+<zpos>10830</zpos>
+<TUCal>0.0771958</TUCal>
+<TUOff>0</TUOff>
+<TUSlw>0</TUSlw>
+<QUCal>0.0072</QUCal>
+<QUPed>288.36</QUPed>
+<TDCal>0.0764381</TDCal>
+<TDOff>0</TDOff>
+<TDSlw>0</TDSlw>
+<QDCal>0.0104</QDCal>
+<QDPed>319.26</QDPed>
+<DTCal>5.27777</DTCal>
+<DTOff>0</DTOff>
+<TAveOff>0</TAveOff>
+<tu_geo>31</tu_geo>
+<tu_ch>4</tu_ch>
+<td_geo>31</td_geo>
+<td_ch>12</td_ch>
+<qu_geo>31</qu_geo>
+<qu_ch>4</qu_ch>
+<qd_geo>31</qd_geo>
+<qd_ch>12</qd_ch>
+<Ignore>0</Ignore>
+</NEULAND>
+<NEULAND>
+<ID>406</ID>
+<NAME>NEULANDVETO6</NAME>
+<FPl>13</FPl>
+<direction>V</direction>
+<Layer>1</Layer>
+<SubLayer>0</SubLayer>
+<xpos>480</xpos>
+<ypos>0</ypos>
+<zpos>10830</zpos>
+<TUCal>0.0768041</TUCal>
+<TUOff>0</TUOff>
+<TUSlw>0</TUSlw>
+<QUCal>0.0063</QUCal>
+<QUPed>275.527</QUPed>
+<TDCal>0.0767091</TDCal>
+<TDOff>0</TDOff>
+<TDSlw>0</TDSlw>
+<QDCal>0.0101</QDCal>
+<QDPed>386.405</QDPed>
+<DTCal>5.42857</DTCal>
+<DTOff>0</DTOff>
+<TAveOff>0</TAveOff>
+<tu_geo>31</tu_geo>
+<tu_ch>5</tu_ch>
+<td_geo>31</td_geo>
+<td_ch>13</td_ch>
+<qu_geo>31</qu_geo>
+<qu_ch>5</qu_ch>
+<qd_geo>31</qd_geo>
+<qd_ch>13</qd_ch>
+<Ignore>0</Ignore>
+</NEULAND>
+<NEULAND>
+<ID>407</ID>
+<NAME>NEULANDVETO7</NAME>
+<FPl>13</FPl>
+<direction>V</direction>
+<Layer>1</Layer>
+<SubLayer>0</SubLayer>
+<xpos>800</xpos>
+<ypos>0</ypos>
+<zpos>10830</zpos>
+<TUCal>0.0771441</TUCal>
+<TUOff>0</TUOff>
+<TUSlw>0</TUSlw>
+<QUCal>0.0095</QUCal>
+<QUPed>367.965</QUPed>
+<TDCal>0.0777481</TDCal>
+<TDOff>0</TDOff>
+<TDSlw>0</TDSlw>
+<QDCal>0.0083</QDCal>
+<QDPed>253.031</QDPed>
+<DTCal>5</DTCal>
+<DTOff>0</DTOff>
+<TAveOff>0</TAveOff>
+<tu_geo>31</tu_geo>
+<tu_ch>6</tu_ch>
+<td_geo>31</td_geo>
+<td_ch>14</td_ch>
+<qu_geo>31</qu_geo>
+<qu_ch>6</qu_ch>
+<qd_geo>31</qd_geo>
+<qd_ch>14</qd_ch>
+<Ignore>0</Ignore>
+</NEULAND>
+<NEULAND>
+<ID>408</ID>
+<NAME>NEULANDVETO8</NAME>
+<FPl>13</FPl>
+<direction>V</direction>
+<Layer>1</Layer>
+<SubLayer>0</SubLayer>
+<xpos>1120</xpos>
+<ypos>0</ypos>
+<zpos>10830</zpos>
+<TUCal>0.0772522</TUCal>
+<TUOff>0</TUOff>
+<TUSlw>0</TUSlw>
+<QUCal>0.0101</QUCal>
+<QUPed>346.16</QUPed>
+<TDCal>0.0786016</TDCal>
+<TDOff>0</TDOff>
+<TDSlw>0</TDSlw>
+<QDCal>0.0096</QDCal>
+<QDPed>188.551</QDPed>
+<DTCal>5.13514</DTCal>
+<DTOff>0</DTOff>
+<TAveOff>0</TAveOff>
+<tu_geo>31</tu_geo>
+<tu_ch>7</tu_ch>
+<td_geo>31</td_geo>
+<td_ch>15</td_ch>
+<qu_geo>31</qu_geo>
+<qu_ch>7</qu_ch>
+<qd_geo>31</qd_geo>
+<qd_ch>15</qd_ch>
+<Ignore>0</Ignore>
 </NEULAND>
 </dataroot>
diff --git a/Projects/S034/s034.detector b/Projects/S034/detector/s034.detector
similarity index 56%
rename from Projects/S034/s034.detector
rename to Projects/S034/detector/s034.detector
index 32f48fb1764ff6af96f69d69ecddcab1b233a7e9..665e428383cdad309dd5033af9034281bbfee1b4 100644
--- a/Projects/S034/s034.detector
+++ b/Projects/S034/detector/s034.detector
@@ -1,9 +1,20 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%Target
+ THICKNESS= 0.1 cm
+ %RADIUS=	28 mm
+ RADIUS=	200 mm
+ MATERIAL= 7Li
+ ANGLE= 0 deg
+ X= 0 cm
+ Y= 0 mm
+ Z= -4500 mm
+
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 BigRIPSPlastic
   XML= db/SAMURAIPlastic.s034.2.xml
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-BigRIPSIC
+%BigRIPSIC
   XML= db/BigRIPSIC.xml
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -24,7 +35,7 @@ SAMURAIBDC 2
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 Minos
- Position= 0.345399 1.02061 -4650 mm
+ Position= 0.345399 1.02061 -4650.0 mm
  ZRotation= 40.6 deg
  TargetLength= 151.72 mm
  TargetZOffset= 0 mm 
@@ -39,29 +50,54 @@ Minos
  XML= db/MINOS.xml
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+Samurai
+% POS= 0 0 3900 mm
+ POS= 0 0 0 mm
+ ANGLE= 30 deg
+% %
+ METHOD= 0				
+% % 0=RungeKutta, 1=EliaOmar
+ %FIELDMAP= field_map/3T.table.bin 
+ FIELDMAP= field_map/180702-2,40T-3000.table.bin		
+% % fieldmap path
+ STEPS_PER_METER= 1000
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
+ 
 SAMURAIFDC0
- XML= db/SAMURAIFDC0_20200109.xml
- Offset= -0.00666226 0.102191 -3370.01 mm
- InvertX= 1 
- InvertY= 0
- InvertD= 1
+  XML= db/SAMURAIFDC0_20200109.xml
+  %POS= 0 0 0 cm 
+  %Offset= -0.00666226 0.102191 -3370.01 mm
+  Offset= -0.00666226 0.102191 -3370.01 mm
+  InvertX= 1 
+  InvertY= 0
+  InvertD= 1
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 SAMURAIFDC2
  XML= db/SAMURAIFDC2.xml
  Offset= -252.416 -0.228477 4122.57 mm
+ OffAngle= 59.930 deg
  InvertX= 0 
  InvertY= 1
  InvertD= 1
+ 
+
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 SAMURAIHOD
   XML= db/SAMURAIHOD_s034_all40mV_s037_20170702.xml
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-NEBULA
+%NEBULA
   XML= db/NEBULA.xml
-  Offset= 0 0 0 mm
+  Offset= 0 0 -4647.3 mm
   InvertX= 0
   InvertY= 0
 
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%NEULAND
+  XML= db/NEULAND.xml
+  Offset= 0 0 -4133.64 mm
+  InvertX= 0
+  InvertY= 0
diff --git a/Projects/S034/macro/Beam/BeamPlot.cxx b/Projects/S034/macro/Beam/BeamPlot.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..52142a305716688adcf019aa3eda450e2f853f82
--- /dev/null
+++ b/Projects/S034/macro/Beam/BeamPlot.cxx
@@ -0,0 +1,54 @@
+#include<iostream>
+
+#include <string>
+#include "TString.h"
+#include "TFile.h"
+#include "TCanvas.h"
+
+#include "TF1.h"
+#include "TH1.h"
+#include "TH2.h"
+#include "TTree.h"
+#include "TCanvas.h"
+
+using namespace std;
+
+
+void BeamPlot(){
+
+  TFile *f = new TFile("./root/analysis/run725.root");
+  TTree *tree = (TTree*)f->Get("PhysicsTree");
+  //cout << "nbr entries = " << tree->GetEntries() << endl;
+
+  TFile foutXThetaX("./beam/hBeamXThetaX.root","recreate");
+  auto hBeamXThetaX = new TH2F("hBeamXThetaX","hBeamXThetaX",80,-40,40,80,-0.05,0.05);
+  tree->Draw("Beam_ThetaX:BDC1_X>>hBeamXThetaX","Beam_ThetaX>-9000 && BDC1_X>-9000 && BDC1_X<1000 && Trigger==0");
+  hBeamXThetaX->Write();
+  auto hBeamThetaX = new TH1D("hBeamThetaX","hBeamThetaX",300,-0.05,0.05);
+  tree->Draw("Beam_ThetaX>>hBeamThetaX","Beam_ThetaX>-9000 && Trigger==0");
+  hBeamThetaX->Write();
+  auto hBeamX = new TH1D("hBeamX","hBeamX",300,-40,40);
+  tree->Draw("BDC1_X>>hBeamX","BDC1_X>-9000 && BDC1_X<1000 && Trigger==0");
+  hBeamX->Write();
+  foutXThetaX.Close();
+
+  TFile foutYThetaY("./beam/hBeamYThetaY.root","recreate");
+  auto hBeamYThetaY = new TH2F("hBeamYThetaY","hBeamYThetaY",80,-40,40,80,-0.05,0.05);
+  tree->Draw("Beam_ThetaY:BDC1_Y>>hBeamYThetaY","Beam_ThetaY>-9000 && BDC1_Y>-9000 && BDC1_Y<1000 && Trigger==0");
+  hBeamYThetaY->Write();
+  auto hBeamThetaY = new TH1D("hBeamThetaY","hBeamThetaY",300,-0.05,0.05);
+  tree->Draw("Beam_ThetaY>>hBeamThetaY","Beam_ThetaY>-9000 && Trigger==0");
+  hBeamThetaY->Write();
+  auto hBeamY = new TH1D("hBeamY","hBeamY",300,-40,40);
+  tree->Draw("BDC1_Y>>hBeamY","BDC1_Y>-9000 && BDC1_Y<1000 && Trigger==0");
+  hBeamY->Write();
+  foutYThetaY.Close();
+  
+  TFile foutKE("./beam/hBeamEnergy.root","recreate");
+  auto hBeamEnergy = new TH1D("hBeamEnergy","hBeamEnergy",100,1235,1260);
+  tree->Draw("Beam_KE_Tot>>hBeamEnergy","Beam_KE_Tot>-9000 && Trigger==0");
+  hBeamEnergy->Write();
+  foutKE.Close();
+
+ 
+}
diff --git a/Projects/S034/macro/CalibFDC.cxx b/Projects/S034/macro/CalibFDC.cxx
deleted file mode 100755
index 3c9cda37430ca701c7e358643f19b0b2012d6603..0000000000000000000000000000000000000000
--- a/Projects/S034/macro/CalibFDC.cxx
+++ /dev/null
@@ -1,103 +0,0 @@
-void CalibFDC(){
-  
-  for(int run12 =696; run12 <= 700 ; run12++){
-  
-  TChain* c = new TChain("RawTree");
-  c->Add(Form("~/nptool/rawData/rawData_FDC/%d.root",run12));
-  c->SetBranchStatus("*",false);
-
-  // FDC
-  /* int FDC = 0; */
-  /* int NLayer = 8; */
-  /* c->SetBranchStatus("SamuraiFDC0",true); */
-  /* ofstream fout(Form("CalibFiles/FDC0_Calib_%d.txt",run12)); */  
-  /* double inter = 2.5;// inter wire distance */
-  /* double low=1720; */
-  /* double high=1820; */
-
-  // FDC2
-  int FDC=2;
-  int NLayer = 14;
-  c->SetBranchStatus("SamuraiFDC2",true);
-  ofstream fout(Form("CalibFiles/FDC2_Calib_%d.txt", run12));  
-  double inter = 10;// inter wire distance
-  double low=1200;
-  double high=1700;
-
-  cout <<"Calibrating FDC" << FDC <<  " run number : " << run12 << endl;
-  
-  string cond;
-
-  TF1* f = new TF1("sigmoid","[0]/(exp([1]*([2]-x))+1)");
- //TF1* f = new TF1("sigmoid","0*(x<[0])+(x-[0])*[1]*(x>[0]&&x<[2])+[3]*(x>[2])");
-
- TH1D* h = new TH1D("h","h",1500,0,3000);
- for(unsigned int i = 0 ; i < NLayer; i++){
-  cond = Form("fFDC%d_LayerNbr==%d&&fFDC%d_Edge==0&&fFDC%d_Time>%f&&fFDC%d_Time<%f&&fFDC%d_Time@.size()>10&&fFDC%d_Time@.size()<100",FDC,i,FDC,FDC,low,FDC,high,FDC,FDC);
-  c->Draw(Form("fFDC%d_Time>>h",FDC),cond.c_str());
-  TH1D* g = new TH1D(*h);
-  unsigned int size = h->GetNbinsX();
-  for(unsigned int i = 0 ; i < size ; i++){
-    g->SetBinContent(i,h->Integral(0,i)); 
-  }
-  //new TCanvas();
-  //g->Draw();
-  cout << g->GetMaximum() << endl;
-  f->SetParameter(0,g->GetMaximum());
-  f->SetParameter(1,8e-3);
-  f->SetParameter(2,1500);
-  
-  g->Fit(f);
-  // Renormalize the distribution to 10 mm
-  f->SetParameter(0,inter);
-  double p0 = f->GetParameter(0);
-  double p1 = f->GetParameter(1);
-  double p2 = f->GetParameter(2);
-  //new TCanvas();
-  //c->Draw(Form("%f/(exp(%f*(%f-(Time+ToT)))+1)>>hh(200,0,2.5)",p0,p1,p2),cond.c_str()); 
-  fout << Form("FDC%d_L%d ",FDC,i) << p0 << " " << p1 << " " << p2 << endl;
-   } 
-   fout.close();
-
-/*   ////////////////////////////////////////// */ 
-/*   // FDC2 */
-/*   ////////////////////////////////////////// */
-  
-/*   FDC=2; */
-/*   NLayer = 14; */
-/*   c->SetBranchStatus("SamuraiFDC2",true); */
-/*   ofstream fout2(Form("CalibFiles/FDC2_Calib_%d.txt", run12)); */  
-/*   inter = 10;// inter wire distance */
-/*   low=1200; */
-/*   high=1700; */
-/*   h->Clear(); */
-  
-/*   for(unsigned int i = 0 ; i < NLayer; i++){ */
-/*     cond = Form("fFDC%d_LayerNbr==%d&&fFDC%d_Edge==0&&fFDC%d_Time>%f&&fFDC%d_Time<%f&&fFDC%d_Time@.size()>10&&fFDC%d_Time@.size()<100",FDC,i,FDC,FDC,low,FDC,high,FDC,FDC); */
-/*     c->Draw(Form("fFDC%d_Time>>h",FDC),cond.c_str()); */
-/*     TH1D* g = new TH1D(*h); */
-/*     unsigned int size = h->GetNbinsX(); */
-/*     for(unsigned int i = 0 ; i < size ; i++){ */
-/*       g->SetBinContent(i,h->Integral(0,i)); */ 
-/*     } */
-/*     //new TCanvas(); */
-/*     //g->Draw(); */
-/*     cout << g->GetMaximum() << endl; */
-/*     f->SetParameter(0,g->GetMaximum()); */
-/*     f->SetParameter(1,8e-3); */
-/*     f->SetParameter(2,1500); */
-
-/*     g->Fit(f); */
-/*     // Renormalize the distribution to 10 mm */
-/*     f->SetParameter(0,inter); */
-/*     double p0 = f->GetParameter(0); */
-/*     double p1 = f->GetParameter(1); */
-/*     double p2 = f->GetParameter(2); */
-/*     //new TCanvas(); */
-/*     //c->Draw(Form("%f/(exp(%f*(%f-(Time+ToT)))+1)>>hh(200,0,2.5)",p0,p1,p2),cond.c_str()); */ 
-/*     fout2 << Form("FDC%d_L%d ",FDC,i) << p0 << " " << p1 << " " << p2 << endl; */
-/*   } */ 
-/*   fout2.close(); */
-  
-  }
-}
diff --git a/Projects/S034/macro/DriftChamber/DrawDCReconstructionBDCs.cxx b/Projects/S034/macro/DriftChamber/DrawDCReconstructionBDCs.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..14365c13be297e6cd46cf800a85556a894272a0a
--- /dev/null
+++ b/Projects/S034/macro/DriftChamber/DrawDCReconstructionBDCs.cxx
@@ -0,0 +1,271 @@
+#include<iostream>
+#include <string>
+#include "TString.h"
+#include "TEllipse.h"
+using namespace std;
+
+void DrawDCReconstructionBDCs(){
+
+  auto anafile = new TFile("./root/analysis/run725.root");
+  auto anatree = (TTree*) anafile->FindObjectAny("PhysicsTree");
+
+  auto SamuraiBDC = new TSamuraiBDCPhysics();
+  anatree->SetBranchAddress("SamuraiBDC", &SamuraiBDC);
+
+  //// BDC1 ////
+  vector<double> Wire_X_P1_BDC1, Wire_X_P2_BDC1;
+  vector<double> Wire_Z_P1_BDC1, Wire_Z_P2_BDC1 ;
+  vector<double> Wire_DriftLength_P1_BDC1, Wire_DriftLength_P2_BDC1;
+  double Track_a_P1_BDC1, Track_a_P2_BDC1;
+  double Track_b_P1_BDC1, Track_b_P2_BDC1;
+  double Track_D_P1_BDC1, Track_D_P2_BDC1;
+  double UpperXLimit_P1_BDC1,UpperXLimit_P2_BDC1, LowerXLimit_P1_BDC1, LowerXLimit_P2_BDC1;
+
+  
+  //// BDC2 ////
+  vector<double> Wire_X_P1_BDC2, Wire_X_P2_BDC2;
+  vector<double> Wire_Z_P1_BDC2, Wire_Z_P2_BDC2 ;
+  vector<double> Wire_DriftLength_P1_BDC2, Wire_DriftLength_P2_BDC2;
+  double Track_a_P1_BDC2, Track_a_P2_BDC2;
+  double Track_b_P1_BDC2, Track_b_P2_BDC2;
+  double Track_D_P1_BDC2, Track_D_P2_BDC2;
+  double UpperXLimit_P1_BDC2,UpperXLimit_P2_BDC2, LowerXLimit_P1_BDC2, LowerXLimit_P2_BDC2;
+
+
+  TCanvas *c1 = new TCanvas();
+  c1->Divide(2,2);
+
+  //// BDC1 ////
+  TGraph *g1 = new TGraph();
+  g1->GetXaxis()->SetTitle("X");
+  g1->GetYaxis()->SetTitle("Z");
+
+  TGraph *g2 = new TGraph();
+  g2->GetXaxis()->SetTitle("X");
+  g2->GetYaxis()->SetTitle("Z");
+
+
+  //// BDC2 ////
+  TGraph *g3 = new TGraph();
+  g3->GetXaxis()->SetTitle("X");
+  g3->GetYaxis()->SetTitle("Z");
+
+  TGraph *g4 = new TGraph();
+  g4->GetXaxis()->SetTitle("X");
+  g4->GetYaxis()->SetTitle("Z");
+
+  unsigned int n = 145;
+  for( unsigned int i = n; i < (n +1); i++)
+    {
+      anatree->GetEntry(i);
+
+      //// BDC1 ////
+      unsigned int VectorEntriesBDC1 = SamuraiBDC->GetMultDet(1);
+      if(VectorEntriesBDC1==0) return;    
+      for (unsigned int j = 0; j < VectorEntriesBDC1 ; j++)
+	{
+	  if(SamuraiBDC->Wire_PosAngle[1][j]==0)
+	    {
+	      g1->SetPoint(g1->GetN(), SamuraiBDC->Wire_PosX[1][j],SamuraiBDC->Wire_PosZ[1][j]);
+	      
+	      Wire_X_P1_BDC1.push_back(SamuraiBDC->Wire_PosX[1][j]);
+	      Wire_Z_P1_BDC1.push_back(SamuraiBDC->Wire_PosZ[1][j]);
+	      Wire_DriftLength_P1_BDC1.push_back(SamuraiBDC->Wire_PosR[1][j]);
+	      Track_a_P1_BDC1 = 1/SamuraiBDC->Track_a[1][0];
+	      Track_b_P1_BDC1 = -Track_a_P1_BDC1*SamuraiBDC->Track_b[1][0];
+	      Track_D_P1_BDC1 = SamuraiBDC->Track_D[1][0];
+	    }
+	  
+	   if(SamuraiBDC->Wire_PosAngle[1][j]!=0)
+	    {
+	      g2->SetPoint(g2->GetN(), SamuraiBDC->Wire_PosX[1][j],SamuraiBDC->Wire_PosZ[1][j]);
+	     
+	      Wire_X_P2_BDC1.push_back(SamuraiBDC->Wire_PosX[1][j]);
+	      Wire_Z_P2_BDC1.push_back(SamuraiBDC->Wire_PosZ[1][j]);
+	      Wire_DriftLength_P2_BDC1.push_back(SamuraiBDC->Wire_PosR[1][j]);
+	      Track_a_P2_BDC1 = 1/SamuraiBDC->Track_a[1][1];
+	      Track_b_P2_BDC1 = -Track_a_P2_BDC1*SamuraiBDC->Track_b[1][1];
+	      Track_D_P2_BDC1 = SamuraiBDC->Track_D[1][1];
+	    }
+	  
+	}
+
+      //// BDC2 ////
+      unsigned int VectorEntriesBDC2 = SamuraiBDC->GetMultDet(2);
+      if(VectorEntriesBDC2==0) return;    
+      for (unsigned int j = 0; j < VectorEntriesBDC2 ; j++)
+	{
+	  if(SamuraiBDC->Wire_PosAngle[2][j]==0)
+	    {
+	      g3->SetPoint(g3->GetN(), SamuraiBDC->Wire_PosX[2][j],SamuraiBDC->Wire_PosZ[2][j]);
+	      
+	      Wire_X_P1_BDC2.push_back(SamuraiBDC->Wire_PosX[2][j]);
+	      Wire_Z_P1_BDC2.push_back(SamuraiBDC->Wire_PosZ[2][j]);
+	      Wire_DriftLength_P1_BDC2.push_back(SamuraiBDC->Wire_PosR[2][j]);
+	      Track_a_P1_BDC2 = 1/SamuraiBDC->Track_a[2][0];
+	      Track_b_P1_BDC2 = -Track_a_P1_BDC2*SamuraiBDC->Track_b[2][0];
+	      Track_D_P1_BDC2 = SamuraiBDC->Track_D[2][0];
+	    }
+	  
+	   if(SamuraiBDC->Wire_PosAngle[2][j]!=0)
+	    {
+	      g4->SetPoint(g4->GetN(), SamuraiBDC->Wire_PosX[2][j],SamuraiBDC->Wire_PosZ[2][j]);
+	     
+	      Wire_X_P2_BDC2.push_back(SamuraiBDC->Wire_PosX[2][j]);
+	      Wire_Z_P2_BDC2.push_back(SamuraiBDC->Wire_PosZ[2][j]);
+	      Wire_DriftLength_P2_BDC2.push_back(SamuraiBDC->Wire_PosR[2][j]);
+	      Track_a_P2_BDC2 = 1/SamuraiBDC->Track_a[2][1];
+	      Track_b_P2_BDC2 = -Track_a_P2_BDC2*SamuraiBDC->Track_b[2][1];
+	      Track_D_P2_BDC2 = SamuraiBDC->Track_D[2][1];
+	    }
+	  
+	}
+
+       //// BDC1 ////
+
+      UpperXLimit_P1_BDC1 = Wire_X_P1_BDC1[0] + 50;
+      LowerXLimit_P1_BDC1 = Wire_X_P1_BDC1[0] - 50;
+
+      cout << "Track_a_P1_BDC1 = " << Track_a_P1_BDC1 << endl;
+      cout << "Track_b_P1_BDC1 = " << Track_b_P1_BDC1 << endl;
+      cout << "Track_D_P1_BDC1 = " << Track_D_P1_BDC1 << endl;
+      cout << endl;
+
+      UpperXLimit_P2_BDC1 = Wire_X_P2_BDC1[0] + 50;
+      LowerXLimit_P2_BDC1 = Wire_X_P2_BDC1[0] - 50;
+
+      cout << "Track_a_P2_BDC1 = " << Track_a_P2_BDC1 << endl;
+      cout << "Track_b_P2_BDC1 = " << Track_b_P2_BDC1 << endl;
+      cout << "Track_D_P2_BDC1 = " << Track_D_P2_BDC1 << endl;
+      cout << endl;
+      
+      //// BDC2 ////
+
+      UpperXLimit_P1_BDC2 = Wire_X_P1_BDC2[0] + 50;
+      LowerXLimit_P1_BDC2 = Wire_X_P1_BDC2[0] - 50;
+
+      cout << "Track_a_P1_BDC2 = " << Track_a_P1_BDC2 << endl;
+      cout << "Track_b_P1_BDC2 = " << Track_b_P1_BDC2 << endl;
+      cout << "Track_D_P1_BDC2 = " << Track_D_P1_BDC2 << endl;
+      cout << endl;
+
+      UpperXLimit_P2_BDC2 = Wire_X_P2_BDC2[0] + 50;
+      LowerXLimit_P2_BDC2 = Wire_X_P2_BDC2[0] - 50;
+
+      cout << "Track_a_P2_BDC2 = " << Track_a_P2_BDC2 << endl;
+      cout << "Track_b_P2_BDC2 = " << Track_b_P2_BDC2 << endl;
+      cout << "Track_D_P2_BDC2 = " << Track_D_P2_BDC2 << endl;
+
+
+      /////////// Draw /////////////
+
+      //// BDC1 ////
+      ///// Plan 1 /////
+      c1->cd(1);
+      g1->Draw("AP");
+      cout << "Number of Wires with information in plan 1 = " << Wire_X_P1_BDC1.size() << endl;
+      for(unsigned int j=0; j< Wire_X_P1_BDC1.size(); j++){
+	  TEllipse *circle1 = new TEllipse(Wire_X_P1_BDC1[j],Wire_Z_P1_BDC1[j],Wire_DriftLength_P1_BDC1[j],Wire_DriftLength_P1_BDC1[j]);
+	  circle1->Draw();
+	}
+
+      TH1 *t1 = g1->GetHistogram();
+      t1->GetXaxis()->SetLimits(LowerXLimit_P1_BDC1, UpperXLimit_P1_BDC1);
+      t1->GetYaxis()->SetRangeUser(-40,40);
+      
+      auto f1 = new TF1("f1","[0]*x+[1]",-200,200);
+      f1->SetParameters(Track_a_P1_BDC1,Track_b_P1_BDC1);
+      
+      double YLine1_P1_BDC1 = f1->Eval(LowerXLimit_P1_BDC1);
+      double YLine2_P1_BDC1 = f1->Eval(UpperXLimit_P1_BDC1);
+      
+      TLine *l1=new TLine(LowerXLimit_P1_BDC1,YLine1_P1_BDC1,UpperXLimit_P1_BDC1,YLine2_P1_BDC1);
+      l1->SetLineColor(kBlue);
+      l1->SetLineWidth(2);
+      l1->Draw("SAME");
+
+      ///// Plan 2 /////
+      c1->cd(2);
+      g2->Draw("AP");
+      cout << "Number of Wires with information in plan 2 = " << Wire_X_P2_BDC1.size() << endl;
+      for(unsigned int j=0; j< Wire_X_P2_BDC1.size(); j++){
+	  TEllipse *circle2 = new TEllipse(Wire_X_P2_BDC1[j],Wire_Z_P2_BDC1[j],Wire_DriftLength_P2_BDC1[j],Wire_DriftLength_P2_BDC1[j]);
+	  circle2->Draw();
+	}
+
+      TH1 *t2 = g2->GetHistogram();
+      t2->GetXaxis()->SetLimits(LowerXLimit_P2_BDC1, UpperXLimit_P2_BDC1);
+      t2->GetYaxis()->SetRangeUser(-40,40);
+      
+      auto f2 = new TF1("f2","[0]*x+[1]",-200,200);
+      f2->SetParameters(Track_a_P2_BDC1,Track_b_P2_BDC1);
+      
+      double YLine1_P2_BDC1 = f2->Eval(LowerXLimit_P2_BDC1);
+      double YLine2_P2_BDC1 = f2->Eval(UpperXLimit_P2_BDC1);
+      
+      TLine *l2=new TLine(LowerXLimit_P2_BDC1,YLine1_P2_BDC1,UpperXLimit_P2_BDC1,YLine2_P2_BDC1);
+      l2->SetLineColor(kBlue);
+      l2->SetLineWidth(2);
+      l2->Draw("SAME");
+      
+
+//// BDC2 ////
+      ///// Plan 1 /////
+      c1->cd(3);
+      g3->Draw("AP");
+      cout << "Number of Wires with information in plan 1 = " << Wire_X_P1_BDC2.size() << endl;
+      for(unsigned int j=0; j< Wire_X_P1_BDC2.size(); j++){
+	  TEllipse *circle3 = new TEllipse(Wire_X_P1_BDC2[j],Wire_Z_P1_BDC2[j],Wire_DriftLength_P1_BDC2[j],Wire_DriftLength_P1_BDC2[j]);
+	  circle3->Draw();
+	}
+
+      TH1 *t3 = g3->GetHistogram();
+      t3->GetXaxis()->SetLimits(LowerXLimit_P1_BDC2, UpperXLimit_P1_BDC2);
+      t3->GetYaxis()->SetRangeUser(-40,40);
+      
+      auto f3 = new TF1("f3","[0]*x+[1]",-200,200);
+      f3->SetParameters(Track_a_P1_BDC2,Track_b_P1_BDC2);
+      
+      double YLine1_P1_BDC2 = f3->Eval(LowerXLimit_P1_BDC2);
+      double YLine2_P1_BDC2 = f3->Eval(UpperXLimit_P1_BDC2);
+      
+      TLine *l3=new TLine(LowerXLimit_P1_BDC2,YLine1_P1_BDC2,UpperXLimit_P1_BDC2,YLine2_P1_BDC2);
+      l3->SetLineColor(kBlue);
+      l3->SetLineWidth(2);
+      l3->Draw("SAME");
+
+      ///// Plan 2 /////
+      c1->cd(4);
+      g4->Draw("AP");
+      cout << "Number of Wires with information in plan 2 = " << Wire_X_P2_BDC2.size() << endl;
+      for(unsigned int j=0; j< Wire_X_P2_BDC2.size(); j++){
+	  TEllipse *circle4 = new TEllipse(Wire_X_P2_BDC2[j],Wire_Z_P2_BDC2[j],Wire_DriftLength_P2_BDC2[j],Wire_DriftLength_P2_BDC2[j]);
+	  circle4->Draw();
+	}
+
+      TH1 *t4 = g4->GetHistogram();
+      t4->GetXaxis()->SetLimits(LowerXLimit_P2_BDC2, UpperXLimit_P2_BDC2);
+      t4->GetYaxis()->SetRangeUser(-40,40);
+      
+      auto f4 = new TF1("f4","[0]*x+[1]",-200,200);
+      f4->SetParameters(Track_a_P2_BDC2,Track_b_P2_BDC2);
+      
+      double YLine1_P2_BDC2 = f4->Eval(LowerXLimit_P2_BDC2);
+      double YLine2_P2_BDC2 = f4->Eval(UpperXLimit_P2_BDC2);
+      
+      TLine *l4=new TLine(LowerXLimit_P2_BDC2,YLine1_P2_BDC2,UpperXLimit_P2_BDC2,YLine2_P2_BDC2);
+      l4->SetLineColor(kBlue);
+      l4->SetLineWidth(2);
+      l4->Draw("SAME");
+
+
+
+
+      
+    }// end of for loop
+ 
+  
+}
+
+
+
diff --git a/Projects/S034/macro/DriftChamber/DrawDCReconstructionFDC0.cxx b/Projects/S034/macro/DriftChamber/DrawDCReconstructionFDC0.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..8819ad5ee2a19d59d207c64a6e57374fbb45645d
--- /dev/null
+++ b/Projects/S034/macro/DriftChamber/DrawDCReconstructionFDC0.cxx
@@ -0,0 +1,145 @@
+#include<iostream>
+#include <string>
+#include "TString.h"
+#include "TEllipse.h"
+using namespace std;
+
+void DrawDCReconstructionFDC0(){
+
+  auto anafile = new TFile("./root/analysis/run725.root");
+  auto anatree = (TTree*) anafile->FindObjectAny("PhysicsTree");
+
+  auto SamuraiFDC0 = new TSamuraiFDC0Physics();
+  anatree->SetBranchAddress("SamuraiFDC0", &SamuraiFDC0);
+
+  vector<double> Wire_X_P1, Wire_X_P2;
+  vector<double> Wire_Z_P1, Wire_Z_P2 ;
+  vector<double> Wire_DriftLength_P1, Wire_DriftLength_P2;
+  double Track_a_P1, Track_a_P2;
+  double Track_b_P1, Track_b_P2;
+  double Track_D_P1, Track_D_P2;
+
+  double UpperXLimit_P1,UpperXLimit_P2, LowerXLimit_P1, LowerXLimit_P2 ;
+
+  TCanvas *c1 = new TCanvas();
+  c1->Divide(2,1);
+  
+  TGraph *g1 = new TGraph();
+  g1->GetXaxis()->SetTitle("X");
+  g1->GetYaxis()->SetTitle("Z");
+
+  TGraph *g2 = new TGraph();
+  g2->GetXaxis()->SetTitle("X");
+  g2->GetYaxis()->SetTitle("Z");
+
+  unsigned int n = 16;
+  for( unsigned int i = n; i < (n +1); i++)
+    {
+      anatree->GetEntry(i);
+      unsigned int VectorEntries = SamuraiFDC0->GetMult();
+
+      if(VectorEntries==0) return;
+      
+      for (unsigned int j = 0; j < VectorEntries ; j++)
+	{
+	  if(SamuraiFDC0->Wire_PosAngle[j]==0)
+	    {
+	      g1->SetPoint(g1->GetN(), SamuraiFDC0->Wire_PosX[j],SamuraiFDC0->Wire_PosZ[j]);
+	      
+	      Wire_X_P1.push_back(SamuraiFDC0->Wire_PosX[j]);
+	      Wire_Z_P1.push_back(SamuraiFDC0->Wire_PosZ[j]);
+	      Wire_DriftLength_P1.push_back(SamuraiFDC0->Wire_PosR[j]);
+	      Track_a_P1 = 1/SamuraiFDC0->Track_a[0];
+	      Track_b_P1 = -Track_a_P1*SamuraiFDC0->Track_b[0];
+	      Track_D_P1 = SamuraiFDC0->Track_D[0];
+	    }
+
+	   if(SamuraiFDC0->Wire_PosAngle[j]!=0)
+	    {
+	      g2->SetPoint(g2->GetN(), SamuraiFDC0->Wire_PosX[j],SamuraiFDC0->Wire_PosZ[j]);
+	     
+	      Wire_X_P2.push_back(SamuraiFDC0->Wire_PosX[j]);
+	      Wire_Z_P2.push_back(SamuraiFDC0->Wire_PosZ[j]);
+	      Wire_DriftLength_P2.push_back(SamuraiFDC0->Wire_PosR[j]);
+	      Track_a_P2 = 1/SamuraiFDC0->Track_a[1];
+	      Track_b_P2 = -Track_a_P2*SamuraiFDC0->Track_b[1];
+	      Track_D_P2 = SamuraiFDC0->Track_D[1];
+	    }
+	  
+	}
+
+      UpperXLimit_P1 = Wire_X_P1[0] + 50;
+      LowerXLimit_P1 = Wire_X_P1[0] - 50;
+
+      cout << "Track_a_P1 = " << Track_a_P1 << endl;
+      cout << "Track_b_P1 = " << Track_b_P1 << endl;
+      cout << "Track_D_P1 = " << Track_D_P1 << endl;
+      cout << endl;
+
+      UpperXLimit_P2 = Wire_X_P2[0] + 50;
+      LowerXLimit_P2 = Wire_X_P2[0] - 50;
+
+      cout << "Track_a_P2 = " << Track_a_P2 << endl;
+      cout << "Track_b_P2 = " << Track_b_P2 << endl;
+      cout << "Track_D_P2 = " << Track_D_P2 << endl;
+
+      /////////// Draw /////////////
+
+      ///// Plan 1 /////
+      c1->cd(1);
+      g1->Draw("AP");
+      cout << "Number of Wires with information in plan 1 = " << Wire_X_P1.size() << endl;
+      for(unsigned int j=0; j< Wire_X_P1.size(); j++){
+	  TEllipse *circle1 = new TEllipse(Wire_X_P1[j],Wire_Z_P1[j],Wire_DriftLength_P1[j],Wire_DriftLength_P1[j]);
+	  circle1->Draw();
+	  //cout << " circle drawn = " << j << endl;
+	}
+
+      TH1 *t1 = g1->GetHistogram();
+      t1->GetXaxis()->SetLimits(LowerXLimit_P1, UpperXLimit_P1);
+      t1->GetYaxis()->SetRangeUser(-40,40);
+      
+      auto f1 = new TF1("f1","[0]*x+[1]",-200,200);
+      f1->SetParameters(Track_a_P1,Track_b_P1);
+      
+      double YLine1_P1 = f1->Eval(LowerXLimit_P1);
+      double YLine2_P1 = f1->Eval(UpperXLimit_P1);
+      
+      TLine *l1=new TLine(LowerXLimit_P1,YLine1_P1,UpperXLimit_P1,YLine2_P1);
+      l1->SetLineColor(kBlue);
+      l1->SetLineWidth(2);
+      l1->Draw("SAME");
+
+      ///// Plan 2 /////
+      c1->cd(2);
+      g2->Draw("AP");
+      cout << "Number of Wires with information in plan 2 = " << Wire_X_P2.size() << endl;
+      for(unsigned int j=0; j< Wire_X_P2.size(); j++){
+	  TEllipse *circle2 = new TEllipse(Wire_X_P2[j],Wire_Z_P2[j],Wire_DriftLength_P2[j],Wire_DriftLength_P2[j]);
+	  circle2->Draw();
+	  //cout << " circle drawn = " << j << endl;
+	}
+
+      TH1 *t2 = g2->GetHistogram();
+      t2->GetXaxis()->SetLimits(LowerXLimit_P2, UpperXLimit_P2);
+      t2->GetYaxis()->SetRangeUser(-40,40);
+      
+      auto f2 = new TF1("f2","[0]*x+[1]",-200,200);
+      f2->SetParameters(Track_a_P2,Track_b_P2);
+      
+      double YLine1_P2 = f2->Eval(LowerXLimit_P2);
+      double YLine2_P2 = f2->Eval(UpperXLimit_P2);
+      
+      TLine *l2=new TLine(LowerXLimit_P2,YLine1_P2,UpperXLimit_P2,YLine2_P2);
+      l2->SetLineColor(kBlue);
+      l2->SetLineWidth(2);
+      l2->Draw("SAME");
+      
+
+    }// end of for loop
+ 
+  
+}
+
+
+
diff --git a/Projects/S034/macro/DriftChamber/DrawDCReconstructionFDC2.cxx b/Projects/S034/macro/DriftChamber/DrawDCReconstructionFDC2.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..dfda4982bb86066d8405f9f7a0abb777e3b35aeb
--- /dev/null
+++ b/Projects/S034/macro/DriftChamber/DrawDCReconstructionFDC2.cxx
@@ -0,0 +1,192 @@
+#include<iostream>
+#include <string>
+#include "TString.h"
+#include "TEllipse.h"
+using namespace std;
+
+void DrawDCReconstructionFDC2(){
+
+  auto anafile = new TFile("./root/analysis/run725.root");
+  auto anatree = (TTree*) anafile->FindObjectAny("PhysicsTree");
+
+  auto SamuraiFDC2 = new TSamuraiFDC2Physics();
+  anatree->SetBranchAddress("SamuraiFDC2", &SamuraiFDC2);
+
+  vector<double> Wire_X_P1, Wire_X_P2, Wire_X_P3;
+  vector<double> Wire_Z_P1, Wire_Z_P2, Wire_Z_P3 ;
+  vector<double> Wire_DriftLength_P1, Wire_DriftLength_P2,Wire_DriftLength_P3 ;
+  double Track_a_P1, Track_a_P2, Track_a_P3;
+  double Track_b_P1, Track_b_P2, Track_b_P3;
+  double Track_D_P1, Track_D_P2, Track_D_P3;
+
+  double UpperXLimit_P1,UpperXLimit_P2,UpperXLimit_P3; 
+  double LowerXLimit_P1, LowerXLimit_P2, LowerXLimit_P3 ;
+
+  TCanvas *c1 = new TCanvas();
+  c1->Divide(3,1);
+  
+  TGraph *g1 = new TGraph();
+  g1->GetXaxis()->SetTitle("X");
+  g1->GetYaxis()->SetTitle("Z");
+
+  TGraph *g2 = new TGraph();
+  g2->GetXaxis()->SetTitle("X");
+  g2->GetYaxis()->SetTitle("Z");
+
+  TGraph *g3 = new TGraph();
+  g3->GetXaxis()->SetTitle("X");
+  g3->GetYaxis()->SetTitle("Z");
+
+  unsigned int n = 824;
+  for( unsigned int i = n; i < (n +1); i++)
+    {
+      cout << i << endl;
+      anatree->GetEntry(i);
+      unsigned int VectorEntries = SamuraiFDC2->GetMult();
+      if(VectorEntries==0) return;
+      
+      for (unsigned int j = 0; j < VectorEntries ; j++)
+	{
+	  if(SamuraiFDC2->Wire_PosAngle[j]<0)
+	    {
+	      g1->SetPoint(g1->GetN(), SamuraiFDC2->Wire_PosX[j],SamuraiFDC2->Wire_PosZ[j]);
+	      
+	      Wire_X_P1.push_back(SamuraiFDC2->Wire_PosX[j]);
+	      Wire_Z_P1.push_back(SamuraiFDC2->Wire_PosZ[j]);
+	      Wire_DriftLength_P1.push_back(SamuraiFDC2->Wire_PosR[j]);
+	      Track_a_P1 = 1/SamuraiFDC2->Track_a[0];
+	      Track_b_P1 = -Track_a_P1*SamuraiFDC2->Track_b[0];
+	      Track_D_P1 = SamuraiFDC2->Track_D[0];
+	    }
+
+	   if(SamuraiFDC2->Wire_PosAngle[j]==0)
+	    {
+	      g2->SetPoint(g2->GetN(), SamuraiFDC2->Wire_PosX[j],SamuraiFDC2->Wire_PosZ[j]);
+	     
+	      Wire_X_P2.push_back(SamuraiFDC2->Wire_PosX[j]);
+	      Wire_Z_P2.push_back(SamuraiFDC2->Wire_PosZ[j]);
+	      Wire_DriftLength_P2.push_back(SamuraiFDC2->Wire_PosR[j]);
+	      Track_a_P2 = 1/SamuraiFDC2->Track_a[1];
+	      Track_b_P2 = -Track_a_P2*SamuraiFDC2->Track_b[1];
+	      Track_D_P2 = SamuraiFDC2->Track_D[1];
+	    }
+	  
+	   if(SamuraiFDC2->Wire_PosAngle[j]>0)
+	    {
+	      g3->SetPoint(g3->GetN(), SamuraiFDC2->Wire_PosX[j],SamuraiFDC2->Wire_PosZ[j]);
+	     
+	      Wire_X_P3.push_back(SamuraiFDC2->Wire_PosX[j]);
+	      Wire_Z_P3.push_back(SamuraiFDC2->Wire_PosZ[j]);
+	      Wire_DriftLength_P3.push_back(SamuraiFDC2->Wire_PosR[j]);
+	      Track_a_P3 = 1/SamuraiFDC2->Track_a[2];
+	      Track_b_P3 = -Track_a_P3*SamuraiFDC2->Track_b[2];
+	      Track_D_P3 = SamuraiFDC2->Track_D[2];
+	    }
+	}
+
+      UpperXLimit_P1 = Wire_X_P1[0] + 200;
+      LowerXLimit_P1 = Wire_X_P1[0] - 200;
+
+      cout << "Track_a_P1 = " << Track_a_P1 << endl;
+      cout << "Track_b_P1 = " << Track_b_P1 << endl;
+      cout << "Track_D_P1 = " << Track_D_P1 << endl;
+      cout << endl;
+
+      UpperXLimit_P2 = Wire_X_P2[0] + 200;
+      LowerXLimit_P2 = Wire_X_P2[0] - 200;
+
+      cout << "Track_a_P2 = " << Track_a_P2 << endl;
+      cout << "Track_b_P2 = " << Track_b_P2 << endl;
+      cout << "Track_D_P2 = " << Track_D_P2 << endl;
+      cout << endl;
+      
+      UpperXLimit_P3 = Wire_X_P3[0] + 200;
+      LowerXLimit_P3 = Wire_X_P3[0] - 200;
+
+      cout << "Track_a_P3 = " << Track_a_P3 << endl;
+      cout << "Track_b_P3 = " << Track_b_P3 << endl;
+      cout << "Track_D_P3 = " << Track_D_P3 << endl;
+      
+      /////////// Draw /////////////
+
+      ///// Plan 1 /////
+      c1->cd(1);
+      g1->Draw("AP");
+      cout << "Number of Wires with information in plan 1 = " << Wire_X_P1.size() << endl;
+      for(unsigned int j=0; j< Wire_X_P1.size(); j++){
+	  TEllipse *circle1 = new TEllipse(Wire_X_P1[j],Wire_Z_P1[j],Wire_DriftLength_P1[j],Wire_DriftLength_P1[j]);
+	  circle1->Draw();
+	}
+
+      TH1 *t1 = g1->GetHistogram();
+      t1->GetXaxis()->SetLimits(LowerXLimit_P1, UpperXLimit_P1);
+      t1->GetYaxis()->SetRangeUser(-400,400);
+      
+      auto f1 = new TF1("f1","[0]*x+[1]",-200,200);
+      f1->SetParameters(Track_a_P1,Track_b_P1);
+      
+      double YLine1_P1 = f1->Eval(LowerXLimit_P1);
+      double YLine2_P1 = f1->Eval(UpperXLimit_P1);
+      
+      TLine *l1=new TLine(LowerXLimit_P1,YLine1_P1,UpperXLimit_P1,YLine2_P1);
+      l1->SetLineColor(kBlue);
+      l1->SetLineWidth(2);
+      l1->Draw("SAME");
+
+      ///// Plan 2 /////
+      c1->cd(2);
+      g2->Draw("AP");
+      cout << "Number of Wires with information in plan 2 = " << Wire_X_P2.size() << endl;
+      for(unsigned int j=0; j< Wire_X_P2.size(); j++){
+	  TEllipse *circle2 = new TEllipse(Wire_X_P2[j],Wire_Z_P2[j],Wire_DriftLength_P2[j],Wire_DriftLength_P2[j]);
+	  circle2->Draw();
+	  //cout << " circle drawn = " << j << endl;
+	}
+
+      TH1 *t2 = g2->GetHistogram();
+      t2->GetXaxis()->SetLimits(LowerXLimit_P2, UpperXLimit_P2);
+      t2->GetYaxis()->SetRangeUser(-400,400);
+      
+      auto f2 = new TF1("f2","[0]*x+[1]",-200,200);
+      f2->SetParameters(Track_a_P2,Track_b_P2);
+      
+      double YLine1_P2 = f2->Eval(LowerXLimit_P2);
+      double YLine2_P2 = f2->Eval(UpperXLimit_P2);
+      
+      TLine *l2=new TLine(LowerXLimit_P2,YLine1_P2,UpperXLimit_P2,YLine2_P2);
+      l2->SetLineColor(kBlue);
+      l2->SetLineWidth(2);
+      l2->Draw("SAME");
+
+       ///// Plan 3 /////
+      c1->cd(3);
+      g3->Draw("AP");
+      cout << "Number of Wires with information in plan 3 = " << Wire_X_P3.size() << endl;
+      for(unsigned int j=0; j< Wire_X_P3.size(); j++){
+	  TEllipse *circle3 = new TEllipse(Wire_X_P3[j],Wire_Z_P3[j],Wire_DriftLength_P3[j],Wire_DriftLength_P3[j]);
+	  circle3->Draw();
+	}
+
+      TH1 *t3 = g3->GetHistogram();
+      t3->GetXaxis()->SetLimits(LowerXLimit_P3, UpperXLimit_P3);
+      t3->GetYaxis()->SetRangeUser(-400,400);
+      
+      auto f3 = new TF1("f3","[0]*x+[1]",-200,200);
+      f3->SetParameters(Track_a_P3,Track_b_P3);
+      
+      double YLine1_P3 = f3->Eval(LowerXLimit_P3);
+      double YLine2_P3 = f3->Eval(UpperXLimit_P3);
+      
+      TLine *l3=new TLine(LowerXLimit_P3,YLine1_P3,UpperXLimit_P3,YLine2_P3);
+      l3->SetLineColor(kBlue);
+      l3->SetLineWidth(2);
+      l3->Draw("SAME");
+      
+
+    }// end of for loop
+ 
+  
+}
+
+
+
diff --git a/Projects/S034/macro/DriftChamber/ResolutionBDC.cxx b/Projects/S034/macro/DriftChamber/ResolutionBDC.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..bf0395002e1f8c09c18160c1c2ab7a96e9cad758
--- /dev/null
+++ b/Projects/S034/macro/DriftChamber/ResolutionBDC.cxx
@@ -0,0 +1,297 @@
+using namespace std;
+
+//#include "TSamuraiBDCPhysics.h"
+
+void ResolutionBDC(){
+
+  auto simufile = new TFile("root/simulation/SimulationResolutionBDCV2.root");
+  auto simutree = (TTree*) simufile->FindObjectAny("SimulatedTree");
+  
+  auto anafile = new TFile("root/analysis/AnalysisResolutionBDCV2.root");
+  auto anatree = (TTree*) anafile->FindObjectAny("PhysicsTree");
+
+  simutree->AddFriend(anatree);
+
+  TH1 *hResolutionX_BDC1 = new TH1D("hResolutionX_BDC1", "hResolutionX_BDC1",100, -0.2,0.2);
+  TH1 *hResolutionY_BDC1 = new TH1D("hResolutionY_BDC1", "hResolutionY_BDC1",100, -0.2,0.2);
+  
+  TH1 *hResolutionX_BDC2 = new TH1D("hResolutionX_BDC2", "hResolutionX_BDC2",100, -0.2,0.2);
+  TH1 *hResolutionY_BDC2 = new TH1D("hResolutionY_BDC2", "hResolutionY_BDC2",100, -0.2,0.2);
+
+  double X_Beam, Y_Beam, Z_Beam;
+  X_Beam = 0.0;
+  Y_Beam = 0.0;
+  Z_Beam = -7000; //mm
+  
+  vector<double> *PosInWireX = new vector <double>();
+  vector<double> *PosInWireY = new vector <double>();
+  vector<double> *PosInWireZ = new vector <double>();
+  
+  simutree->SetBranchAddress("PosInWireX",&PosInWireX);
+  simutree->SetBranchAddress("PosInWireY",&PosInWireY);
+  simutree->SetBranchAddress("PosInWireZ",&PosInWireZ);
+
+  auto SamuraiBDC = new TSamuraiBDCData();
+  simutree->SetBranchAddress("SamuraiBDC", &SamuraiBDC);
+
+  auto PhysicsBDC = new TSamuraiBDCPhysics();
+  anatree->SetBranchAddress("SamuraiBDC", &PhysicsBDC);
+  
+  //Position calculated in PhysicsSamuraiBDC.cxx
+  double PosX_calc_BDC1,PosY_calc_BDC1,PosZ_calc_BDC1;
+  double PosX_calc_BDC2,PosY_calc_BDC2,PosZ_calc_BDC2;
+
+  TVector3 Pos_calc_BDC1;
+  TVector3 Pos_calc_BDC2;
+  
+  // Two points on the particle track( to calculate the expected value)
+  double PointA_X_BDC1, PointA_Y_BDC1, PointA_Z_BDC1;
+  double PointB_X_BDC1, PointB_Y_BDC1, PointB_Z_BDC1;
+  
+  double PointA_X_BDC2, PointA_Y_BDC2, PointA_Z_BDC2;
+  double PointB_X_BDC2, PointB_Y_BDC2, PointB_Z_BDC2;
+
+  // True position in simulation
+  double PosX_simu_BDC1, PosY_simu_BDC1, PosZ_simu_BDC1;
+  double PosX_simu_BDC2, PosY_simu_BDC2, PosZ_simu_BDC2;
+
+  double Diff_X_BDC1, Diff_Y_BDC1, Radius_BDC1;
+  double Diff_X_BDC2, Diff_Y_BDC2, Radius_BDC2;
+
+  double Theta_XZ_BDC1, Theta_YZ_BDC1;
+  double Theta_XZ_BDC2, Theta_YZ_BDC2;
+  
+  int PileUp_BDC1;
+  int PileUp_BDC2;
+  
+  ///////// Ouput ////////////
+
+  auto *outFile = new TFile("./root/resolution/ResolutionBDC.root","RECREATE");
+  TTree *outTree = new TTree("OutTree", "OutTree");
+
+  outTree->Branch("PosX_calc_BDC1",&PosX_calc_BDC1);
+  outTree->Branch("PosY_calc_BDC1",&PosY_calc_BDC1);
+  outTree->Branch("PosZ_calc_BDC1",&PosZ_calc_BDC1);
+
+  outTree->Branch("PosX_calc_BDC2",&PosX_calc_BDC2);
+  outTree->Branch("PosY_calc_BDC2",&PosY_calc_BDC2);
+  outTree->Branch("PosZ_calc_BDC2",&PosZ_calc_BDC2);
+
+  outTree->Branch("PosX_simu_BDC1",&PosX_simu_BDC1);
+  outTree->Branch("PosY_simu_BDC1",&PosY_simu_BDC1);
+  outTree->Branch("PosZ_simu_BDC1",&PosZ_simu_BDC1);
+
+  outTree->Branch("PosX_simu_BDC2",&PosX_simu_BDC2);
+  outTree->Branch("PosY_simu_BDC2",&PosY_simu_BDC2);
+  outTree->Branch("PosZ_simu_BDC2",&PosZ_simu_BDC2);
+  
+  outTree->Branch("Diff_X_BDC1",&Diff_X_BDC1);
+  outTree->Branch("Diff_Y_BDC1",&Diff_Y_BDC1);
+
+  outTree->Branch("Diff_X_BDC2",&Diff_X_BDC2);
+  outTree->Branch("Diff_Y_BDC2",&Diff_Y_BDC2);
+  
+  outTree->Branch("Radius_BDC1",&Radius_BDC1);
+  outTree->Branch("Radius_BDC2",&Radius_BDC2);
+  
+  outTree->Branch("Theta_XZ_BDC1", &Theta_XZ_BDC1);
+  outTree->Branch("Theta_YZ_BDC1", &Theta_YZ_BDC1);
+
+  outTree->Branch("Theta_XZ_BDC2", &Theta_XZ_BDC2);
+  outTree->Branch("Theta_YZ_BDC2", &Theta_YZ_BDC2);
+  
+  outTree->Branch("PileUp_BDC1", &PileUp_BDC1);
+  outTree->Branch("PileUp_BDC2", &PileUp_BDC2);
+
+  //////// Resolution calculation //////
+  unsigned int TreeEntries = simutree->GetEntries();
+
+  for(unsigned int i = 0; i < TreeEntries; i++)
+    {
+      Diff_X_BDC1 = -10000;
+      Diff_Y_BDC1 = -10000;
+
+      Diff_X_BDC2 = -10000;
+      Diff_Y_BDC2 = -10000;
+
+      PosX_calc_BDC1 = PosY_calc_BDC1 = PosZ_calc_BDC1 = -10000;
+      PosX_calc_BDC2 = PosY_calc_BDC2 = PosZ_calc_BDC2 = -10000;
+
+      PosX_simu_BDC1 = PosY_simu_BDC1 = PosZ_simu_BDC1 = -10000;
+      PosX_simu_BDC2 = PosY_simu_BDC2 = PosZ_simu_BDC2 = -10000;
+      
+      PointA_X_BDC1 = PointA_Y_BDC1 = PointA_Z_BDC1 = PointB_X_BDC1 = PointB_Y_BDC1 = PointB_Z_BDC1 = -10000;
+      PointA_X_BDC2 = PointA_Y_BDC2 = PointA_Z_BDC2 = PointB_X_BDC2 = PointB_Y_BDC2 = PointB_Z_BDC2 = -10000;
+
+      PileUp_BDC1 = PileUp_BDC2 = -10000;
+
+      
+      simutree->GetEntry(i);
+
+      unsigned int VectorEntries = SamuraiBDC->Mult();
+
+      Pos_calc_BDC1 = PhysicsBDC->GetPos(1);
+      
+      PosX_calc_BDC1 = Pos_calc_BDC1[0];
+      PosY_calc_BDC1 = Pos_calc_BDC1[1];
+      PosZ_calc_BDC1 = Pos_calc_BDC1[2];
+
+      Pos_calc_BDC2 = PhysicsBDC->GetPos(2);
+
+      PosX_calc_BDC2 = Pos_calc_BDC2[0];
+      PosY_calc_BDC2 = Pos_calc_BDC2[1];
+      PosZ_calc_BDC2 = Pos_calc_BDC2[2];
+
+      PileUp_BDC1 = PhysicsBDC->GetPileUp(0);
+      PileUp_BDC2 = PhysicsBDC->GetPileUp(1);
+      
+      for ( unsigned int j = 0; j < VectorEntries ; j++)
+	{
+	  if(SamuraiBDC->GetEdge(j)==1 && SamuraiBDC->GetDetectorNbr(j)==1 && (PointB_Z_BDC1 < PosZ_calc_BDC1))
+	    {
+	      PointA_X_BDC1 = PointB_X_BDC1;
+	      PointA_Y_BDC1 = PointB_Y_BDC1;
+	      PointA_Z_BDC1 = PointB_Z_BDC1;
+
+	      PointB_X_BDC1 = PosInWireX->at(j);
+	      PointB_Y_BDC1 = PosInWireY->at(j);
+	      PointB_Z_BDC1 = PosInWireZ->at(j);
+
+	      // cout << PosInWireX->at(j) << endl;
+	      // cout << PosInWireY->at(j) << endl;
+	      // cout << PosInWireZ->at(j) << endl;
+	      // cout << endl;
+	    }
+
+	  if(SamuraiBDC->GetEdge(j)==1 && SamuraiBDC->GetDetectorNbr(j)==2 && (PointB_Z_BDC2 < PosZ_calc_BDC2))
+	    {
+	      PointA_X_BDC2 = PointB_X_BDC2;
+	      PointA_Y_BDC2 = PointB_Y_BDC2;
+	      PointA_Z_BDC2 = PointB_Z_BDC2;
+
+	      PointB_X_BDC2 = PosInWireX->at(j);
+	      PointB_Y_BDC2 = PosInWireY->at(j);
+	      PointB_Z_BDC2 = PosInWireZ->at(j);
+
+	      // cout << PosInWireX->at(j) << endl;
+	      // cout << PosInWireY->at(j) << endl;
+	      // cout << PosInWireZ->at(j) << endl;
+	      // cout << endl;
+	    }
+	  
+
+	  
+	  else if(SamuraiBDC->GetEdge(j)==0)
+	    continue;
+
+	  // else
+	  //   {
+	  //     cout << SamuraiBDC->GetDetectorNbr(j) << endl;
+	  //     cout << SamuraiBDC->GetEdge(j) << endl;
+	  //     cout << "ERROR: edge value must be equal to 1 or 0, check the simulated tree" << endl;
+	  //     exit(1);
+	  //   }
+
+	  if(PointB_Z_BDC1 > PosZ_calc_BDC1 && PointB_Z_BDC2 > PosZ_calc_BDC2) {
+	  break;
+	  }
+	  
+   
+	}//end loop for j
+
+      //cout << endl;
+
+      TVector3 PointA_BDC1 (PointA_X_BDC1, PointA_Y_BDC1, PointA_Z_BDC1);
+      TVector3 PointB_BDC1 (PointB_X_BDC1, PointB_Y_BDC1, PointB_Z_BDC1);
+      
+      TVector3 Direct_BDC1;
+      Direct_BDC1 = PointB_BDC1 - PointA_BDC1;
+      
+      TVector3 Pos_simu_BDC1 = PointA_BDC1 + ((PosZ_calc_BDC1 - PointA_BDC1[2]) / Direct_BDC1[2])*Direct_BDC1; 
+      
+      PosX_simu_BDC1 = Pos_simu_BDC1[0];
+      PosY_simu_BDC1 = Pos_simu_BDC1[1];
+      PosZ_simu_BDC1 = Pos_simu_BDC1[2];
+
+      Diff_X_BDC1 = PosX_calc_BDC1 - PosX_simu_BDC1;
+      Diff_Y_BDC1 = PosY_calc_BDC1 - PosY_simu_BDC1;
+
+      Radius_BDC1 = sqrt(PosX_simu_BDC1*PosX_simu_BDC1 + PosY_simu_BDC1*PosY_simu_BDC1);
+
+      Theta_XZ_BDC1 = atan2(PosX_simu_BDC1 - X_Beam,PosZ_simu_BDC1 - Z_Beam)*180.0/TMath::Pi();
+      Theta_YZ_BDC1 = atan2( PosY_simu_BDC1 - Y_Beam,PosZ_simu_BDC1 - Z_Beam)*180.0/TMath::Pi();
+
+      
+      //cout << PosZ_simu_BDC1 << "   " << PosZ_calc_BDC1 << endl;
+      
+      
+      //cout << "calc X = " << PosX_simu_BDC1 << " simu = " << PosX_calc_BDC1 << endl;
+      // cout << "calc Y = " << PosY_simu_BDC1 << " simu = " << PosY_calc_BDC1 << endl;
+      if(PosZ_simu_BDC1 != -10000){
+      hResolutionX_BDC1->Fill(Diff_X_BDC1);
+      hResolutionY_BDC1->Fill(Diff_Y_BDC1);
+      }
+
+
+      
+
+      
+      TVector3 PointA_BDC2 (PointA_X_BDC2, PointA_Y_BDC2, PointA_Z_BDC2);
+      TVector3 PointB_BDC2 (PointB_X_BDC2, PointB_Y_BDC2, PointB_Z_BDC2);
+      
+      TVector3 Direct_BDC2;
+      Direct_BDC2 = PointB_BDC2 - PointA_BDC2;
+      
+      TVector3 Pos_simu_BDC2 = PointA_BDC2 + ((PosZ_calc_BDC2 - PointA_BDC2[2]) / Direct_BDC2[2])*Direct_BDC2; 
+      
+      PosX_simu_BDC2 = Pos_simu_BDC2[0];
+      PosY_simu_BDC2 = Pos_simu_BDC2[1];
+      PosZ_simu_BDC2 = Pos_simu_BDC2[2];
+
+      Diff_X_BDC2 = PosX_calc_BDC2 - PosX_simu_BDC2;
+      Diff_Y_BDC2 = PosY_calc_BDC2 - PosY_simu_BDC2;
+
+      Radius_BDC2 = sqrt(PosX_simu_BDC2*PosX_simu_BDC2 + PosY_simu_BDC2*PosY_simu_BDC2);
+
+      Theta_XZ_BDC2 = atan2(PosZ_simu_BDC2 - Z_Beam, PosX_simu_BDC2 - X_Beam)*180.0/TMath::Pi();
+      Theta_YZ_BDC2 = atan2(PosZ_simu_BDC2 - Z_Beam, PosY_simu_BDC2 - Y_Beam)*180.0/TMath::Pi();
+
+      if(PosZ_simu_BDC2 != -10000){
+      hResolutionX_BDC2->Fill(PosX_calc_BDC2-PosX_simu_BDC2);
+      hResolutionY_BDC2->Fill(PosY_calc_BDC2-PosY_simu_BDC2);
+      }
+
+
+      if(PosZ_simu_BDC2 == -10000 || PosX_simu_BDC2 == -10000 ||  PosY_simu_BDC2 == -10000) cout << " BDC2 -10000" << endl;
+
+      if(PosZ_simu_BDC1 == -10000 || PosX_simu_BDC1 == -10000 ||  PosY_simu_BDC1 == -10000) cout << " BDC1 -10000" << endl;
+
+      
+      outTree->Fill();
+    }//end loop i
+
+  outTree->AutoSave();
+  
+  cout << hResolutionX_BDC1->GetRMS() << endl;
+  cout << hResolutionY_BDC1->GetRMS() << endl;
+
+  cout << hResolutionX_BDC2->GetRMS() << endl;
+  cout << hResolutionY_BDC2->GetRMS() << endl;
+  
+  TCanvas *c1 = new TCanvas();
+  c1->Divide(2,2);
+  c1->cd(1);
+  hResolutionX_BDC1->Draw();
+
+  c1->cd(2);
+  hResolutionY_BDC1->Draw();
+
+  c1->cd(3);
+  hResolutionX_BDC2->Draw();
+
+  c1->cd(4);
+  hResolutionY_BDC2->Draw();
+  
+  
+
+}
diff --git a/Projects/S034/macro/DriftChamber/ResolutionFDC0.cxx b/Projects/S034/macro/DriftChamber/ResolutionFDC0.cxx
new file mode 100755
index 0000000000000000000000000000000000000000..112ba05d9d9eb9ca24e6674185d4d32e7cf6b7a9
--- /dev/null
+++ b/Projects/S034/macro/DriftChamber/ResolutionFDC0.cxx
@@ -0,0 +1,186 @@
+using namespace std;
+
+
+void ResolutionFDC0(){
+
+  ///////////// Input /////////////
+  // Get data from simulation and experimental data trees
+  auto simufile = new TFile("root/simulation/SimulationResolutionFDC0V2.root");
+  //auto simufile = new TFile("root/simulation/SimuWhtDriftMinos.root");
+  auto simutree = (TTree*) simufile->FindObjectAny("SimulatedTree");
+  
+  auto anafile = new TFile("root/analysis/AnalysisResolutionFDC0V2.root");
+  //auto anafile = new TFile("root/analysis/SimuWhtDriftMinos.root");
+  auto anatree = (TTree*) anafile->FindObjectAny("PhysicsTree");
+
+  simutree->AddFriend(anatree);
+
+  TH1 *hResolutionX = new TH1D("hResolutionX", "hResolutionX",200, -0.05,0.05);
+  TH1 *hResolutionY = new TH1D("hResolutionY", "hResolutionY",200, -0.05,0.05);
+
+  double X_Beam, Y_Beam, Z_Beam;
+  X_Beam = 0.0;
+  Y_Beam = 0.0;
+  Z_Beam = -7000; //mm
+  
+  vector<double> *PosInWireX = new vector <double>();
+  vector<double> *PosInWireY = new vector <double>();
+  vector<double> *PosInWireZ = new vector <double>();
+  
+  simutree->SetBranchAddress("PosInWireX",&PosInWireX); //Position for each wire 
+  simutree->SetBranchAddress("PosInWireY",&PosInWireY);
+  simutree->SetBranchAddress("PosInWireZ",&PosInWireZ);
+
+  auto SamuraiFDC0 = new TSamuraiFDC0Data();
+  simutree->SetBranchAddress("SamuraiFDC0", &SamuraiFDC0);
+
+  auto PhysicsFDC0 = new TSamuraiFDC0Physics();
+  anatree->SetBranchAddress("SamuraiFDC0", &PhysicsFDC0);
+
+  double PosX_calc, PosY_calc, PosZ;//Position calculated in PhysicsSamuraiFDC0.cxx
+
+  // Two points on the particle track( to calculate the expected value)
+  double PointA_X, PointA_Y, PointA_Z;
+  double PointB_X, PointB_Y, PointB_Z;
+
+  // True position in simulation
+  double PosX_simu, PosY_simu, PosZ_simu;
+
+  double Diff_X, Diff_Y, Radius;
+
+  double Theta_XZ, Theta_YZ;
+
+  int PileUp, Mult;
+  ///////// Ouput ////////////
+
+  auto *outFile = new TFile("./root/resolution/ResolutionFDC0.root","RECREATE");
+  TTree *outTree = new TTree("OutTree", "OutTree");
+
+  outTree->Branch("PosX_calc",&PosX_calc);
+  outTree->Branch("PosY_calc",&PosY_calc);
+  outTree->Branch("PosZ_calc",&PosZ);
+
+  outTree->Branch("PosX_simu",&PosX_simu);
+  outTree->Branch("PosY_simu",&PosY_simu);
+  outTree->Branch("PosZ_simu",&PosZ_simu);
+
+  outTree->Branch("Diff_X",&Diff_X);
+  outTree->Branch("Diff_Y",&Diff_Y);
+
+  outTree->Branch("Radius",&Radius);
+
+  outTree->Branch("Theta_XZ", &Theta_XZ);
+  outTree->Branch("Theta_YZ", &Theta_YZ);
+
+  outTree->Branch("PileUp", &PileUp);
+  outTree->Branch("Mult", &Mult);
+  
+  //////// Resolution calculation //////
+		  
+  
+  unsigned int TreeEntries = anatree->GetEntries();
+
+  for( unsigned int i = 0; i < TreeEntries; i++)
+    {
+      Diff_X = -10000;
+      Diff_Y = -10000;
+      
+      PosX_simu = PosY_simu = PosZ_simu = -10000;
+      PosX_calc = PosY_calc = PosZ = -10000;
+      
+      PointA_X = PointA_Y = PointA_Z = PointB_X = PointB_Y = PointB_Z = -10000;
+
+      PileUp = Mult = -10000;
+
+      simutree->GetEntry(i);
+      
+      unsigned int VectorEntries = SamuraiFDC0->Mult(); 
+      PosX_calc = PhysicsFDC0->GetPosX(); // position obtained from reconstruction
+      //cout << PosX_calc << endl;
+      PosY_calc = PhysicsFDC0->GetPosY();
+      PosZ = PhysicsFDC0->GetPosZ();
+     
+      PileUp = PhysicsFDC0->GetPileUp();
+      Mult = PhysicsFDC0->GetMult();
+      for ( unsigned int j = 0; j < VectorEntries ; j++)
+	{
+	  if(SamuraiFDC0->GetEdge(j)==1)
+	    {
+	      PointA_X = PointB_X;
+	      PointA_Y = PointB_Y;
+	      PointA_Z = PointB_Z;
+
+	      PointB_X = PosInWireX->at(j);
+	      PointB_Y = PosInWireY->at(j);
+	      PointB_Z = PosInWireZ->at(j);	      
+	    }
+
+	  else if( SamuraiFDC0->GetEdge(j)==0)
+	    continue;
+
+	  else
+	    {
+	      cout << "ERROR: edge value must be equal to 1 or 0, check the simulated tree" << endl;
+	      exit(1);
+	    }
+
+	  if(PointB_Z > PosZ) {
+	    break;
+	  }
+	  
+   
+	}//end loop for j
+
+      //cout << endl;
+
+      TVector3 PointA (PointA_X, PointA_Y, PointA_Z);
+      TVector3 PointB (PointB_X, PointB_Y, PointB_Z);
+      
+      TVector3 Direct;
+      Direct = PointB - PointA;
+      
+      TVector3 Pos_simu = PointA + ((PosZ - PointA[2]) / Direct[2])*Direct; 
+      
+      PosX_simu = Pos_simu[0];
+      PosY_simu = Pos_simu[1];
+      PosZ_simu = Pos_simu[2];
+
+      Diff_X = PosX_calc - PosX_simu;
+      Diff_Y = PosY_calc - PosY_simu;
+
+      cout << PosX_simu << "    " << PosX_calc << "   " << PosY_simu << "    " <<  PosY_calc << endl;
+      cout << endl;
+
+      Radius = sqrt(PosX_simu*PosX_simu + PosY_simu*PosY_simu);
+
+      Theta_XZ = atan2(PosZ_simu - Z_Beam, PosX_simu - X_Beam)*180.0/TMath::Pi();
+      Theta_YZ = atan2(PosZ_simu - Z_Beam, PosY_simu - Y_Beam)*180.0/TMath::Pi();
+
+      if(PosX_simu!= -10000 && PosY_simu!= -10000 && PosZ_simu != -10000 && PosX_calc!= -10000 && PosY_calc!= -10000 && PosZ!= -10000){
+      hResolutionX->Fill(Diff_X);
+      hResolutionY->Fill(Diff_Y);
+      }
+
+      outTree->Fill();
+	
+    }//end loop i
+
+  outTree->AutoSave();
+  
+  cout << hResolutionX->GetRMS() << endl;
+  cout << hResolutionY->GetRMS() << endl;
+
+  // double rootMeanSquare1 = std::sqrt( hResolutionX->GetMean()*hResolutionX->GetMean() + hResolutionX->GetRMS()*hResolutionX->GetRMS() );
+ 
+  
+  TCanvas *c1 = new TCanvas();
+  c1->Divide(1,2);
+  c1->cd(1);
+  hResolutionX->Draw();
+
+  c1->cd(2);
+  hResolutionY->Draw();
+  
+  
+
+}
diff --git a/Projects/S034/macro/DriftChamber/ResolutionFDC2.cxx b/Projects/S034/macro/DriftChamber/ResolutionFDC2.cxx
new file mode 100755
index 0000000000000000000000000000000000000000..68ba7aa18466804b848612dcc0e5666da82f4feb
--- /dev/null
+++ b/Projects/S034/macro/DriftChamber/ResolutionFDC2.cxx
@@ -0,0 +1,183 @@
+using namespace std;
+
+
+void ResolutionFDC2(){
+
+  ///////////// Input /////////////
+  // Get data from simulation and experimental data trees
+  auto simufile = new TFile("root/simulation/SimulationResolutionFDC2V2.root");
+  auto simutree = (TTree*) simufile->FindObjectAny("SimulatedTree");
+  
+  auto anafile = new TFile("root/analysis/AnalysisResolutionFDC2V2.root");
+  auto anatree = (TTree*) anafile->FindObjectAny("PhysicsTree");
+
+  simutree->AddFriend(anatree);
+
+  TH1 *hResolutionX = new TH1D("hResolutionX", "hResolutionX",200, -0.05,0.05);
+  TH1 *hResolutionY = new TH1D("hResolutionY", "hResolutionY",200, -0.05,0.05);
+
+  double X_Beam, Y_Beam, Z_Beam;
+  X_Beam = 0.0;
+  Y_Beam = 0.0;
+  Z_Beam = -7000; //mm
+  
+  vector<double> *PosInWireX = new vector <double>();
+  vector<double> *PosInWireY = new vector <double>();
+  vector<double> *PosInWireZ = new vector <double>();
+  
+  simutree->SetBranchAddress("PosInWireX",&PosInWireX); //Position for each wire 
+  simutree->SetBranchAddress("PosInWireY",&PosInWireY);
+  simutree->SetBranchAddress("PosInWireZ",&PosInWireZ);
+
+  auto SamuraiFDC2 = new TSamuraiFDC2Data();
+  simutree->SetBranchAddress("SamuraiFDC2", &SamuraiFDC2);
+
+  auto PhysicsFDC2 = new TSamuraiFDC2Physics();
+  anatree->SetBranchAddress("SamuraiFDC2", &PhysicsFDC2);
+
+  double PosX_calc, PosY_calc, PosZ;//Position calculated in PhysicsSamuraiFDC2.cxx
+
+  // Two points on the particle track( to calculate the expected value)
+  double PointA_X, PointA_Y, PointA_Z;
+  double PointB_X, PointB_Y, PointB_Z;
+
+  // True position in simulation
+  double PosX_simu, PosY_simu, PosZ_simu;
+
+  double Diff_X, Diff_Y, Radius;
+
+  double Theta_XZ, Theta_YZ;
+
+  int PileUp;
+  ///////// Ouput ////////////
+
+  auto *outFile = new TFile("./root/resolution/ResolutionFDC2.root","RECREATE");
+  TTree *outTree = new TTree("OutTree", "OutTree");
+
+  outTree->Branch("PosX_calc",&PosX_calc);
+  outTree->Branch("PosY_calc",&PosY_calc);
+  outTree->Branch("PosZ_calc",&PosZ);
+
+  outTree->Branch("PosX_simu",&PosX_simu);
+  outTree->Branch("PosY_simu",&PosY_simu);
+  outTree->Branch("PosZ_simu",&PosZ_simu);
+
+  outTree->Branch("Diff_X",&Diff_X);
+  outTree->Branch("Diff_Y",&Diff_Y);
+
+  outTree->Branch("Radius",&Radius);
+
+  outTree->Branch("Theta_XZ", &Theta_XZ);
+  outTree->Branch("Theta_YZ", &Theta_YZ);
+
+  outTree->Branch("PileUp", &PileUp);
+  
+  //////// Resolution calculation //////
+		  
+  
+  unsigned int TreeEntries = simutree->GetEntries();
+
+  for( unsigned int i = 0; i < TreeEntries; i++)
+    {
+      //Clear();
+      Diff_X = -10000;
+      Diff_Y = -10000;
+      
+      PosX_simu = PosY_simu = PosZ_simu = -10000;
+      PosX_calc = PosY_calc = PosZ = -10000;
+      
+      PointA_X = PointA_Y = PointA_Z = PointB_X = PointB_Y = PointB_Z = -10000;
+
+      PileUp = -10000;
+
+      simutree->GetEntry(i);
+      
+      unsigned int VectorEntries = SamuraiFDC2->Mult(); 
+      PosX_calc = PhysicsFDC2->GetPosX(); // position obtained from reconstruction
+      //cout << PosX_calc << endl;
+      PosY_calc = PhysicsFDC2->GetPosY();
+      PosZ = PhysicsFDC2->GetPosZ();
+
+      PileUp = PhysicsFDC2->GetPileUp();
+     
+      
+      for ( unsigned int j = 0; j < VectorEntries ; j++)
+	{
+	  if(SamuraiFDC2->GetEdge(j)==1)
+	    {
+	      PointA_X = PointB_X;
+	      PointA_Y = PointB_Y;
+	      PointA_Z = PointB_Z;
+
+	      PointB_X = PosInWireX->at(j);
+	      PointB_Y = PosInWireY->at(j);
+	      PointB_Z = PosInWireZ->at(j);	      
+	    }
+
+	  else if( SamuraiFDC2->GetEdge(j)==0)
+	    continue;
+
+	  else
+	    {
+	      cout << "ERROR: edge value must be equal to 1 or 0, check the simulated tree" << endl;
+	      exit(1);
+	    }
+
+	  if(PointB_Z > PosZ) {
+	    break;
+	  }
+	  
+   
+	}//end loop for j
+
+      //cout << endl;
+
+      TVector3 PointA (PointA_X, PointA_Y, PointA_Z);
+      TVector3 PointB (PointB_X, PointB_Y, PointB_Z);
+      
+      TVector3 Direct;
+      Direct = PointB - PointA;
+      
+      TVector3 Pos_simu = PointA + ((PosZ - PointA[2]) / Direct[2])*Direct; 
+      
+      PosX_simu = Pos_simu[0];
+      PosY_simu = Pos_simu[1];
+      PosZ_simu = Pos_simu[2];
+
+      Diff_X = PosX_calc - PosX_simu;
+      Diff_Y = PosY_calc - PosY_simu;
+
+      Radius = sqrt(PosX_simu*PosX_simu + PosY_simu*PosY_simu);
+
+      Theta_XZ = atan2(PosZ_simu - Z_Beam, PosX_simu - X_Beam)*180.0/TMath::Pi();
+     
+      Theta_YZ = atan2(PosZ_simu - Z_Beam, PosY_simu - Y_Beam)*180.0/3.14159;
+
+      if(PosX_simu!= -10000 && PosY_simu!= -10000 && PosZ_simu != -10000 && PosX_calc!= -10000 && PosY_calc!= -10000 && PosZ!= -10000){
+      hResolutionX->Fill(Diff_X);
+      hResolutionY->Fill(Diff_Y);
+      }
+
+      outTree->Fill();
+	
+    }//end loop i
+
+  outTree->AutoSave();
+  
+  cout << hResolutionX->GetRMS() << endl;
+  cout << hResolutionY->GetRMS() << endl;
+
+  // double rootMeanSquare1 = std::sqrt( hResolutionX->GetMean()*hResolutionX->GetMean() + hResolutionX->GetRMS()*hResolutionX->GetRMS() );
+ 
+  
+  TCanvas *c1 = new TCanvas();
+  c1->Divide(1,2);
+  c1->cd(1);
+  hResolutionX->Draw();
+
+  c1->cd(2);
+  hResolutionY->Draw();
+  
+  
+
+}
diff --git a/Projects/S034/macro/testB2.cxx b/Projects/S034/macro/testB2.cxx
index 869abd3461c5d895ae4cfe2d48aa6929dadbb89f..ca9b10532ff4f624554365a175d43ace894b8f7a 100644
--- a/Projects/S034/macro/testB2.cxx
+++ b/Projects/S034/macro/testB2.cxx
@@ -11,36 +11,22 @@ void testB2(){
   //auto h=new TH1D("dB","dB",1000,-2e-1,2e-1); 
  //  new TCanvas();
   auto h=new TH1D("dB","dB",1000,-0.1,0.1); 
-  auto hX=new TH2D("dBX","dBX",500,-100,100,500,-0.01,0.01); 
-  auto hY=new TH2D("dBY","dBY",500,-100,100,500,-0.01,0.01); 
   double r = gRandom->Uniform(-1,1);
-
   for(unsigned int i = 0 ; i < 100 ; i++){
-    double X = gRandom->Uniform(-100,100);
-    double Y = gRandom->Uniform(-100,100);
-    TVector3 p(X,Y,-3500); 
-    //TVector3 d(gRandom->Uniform(-0.05,0.05),gRandom->Uniform(-0.05,0.05),1); 
+    TVector3 p(gRandom->Uniform(-5,5),gRandom->Uniform(-5,5),-3500); 
+    TVector3 d(gRandom->Uniform(-0.05,0.05),gRandom->Uniform(-0.05,0.05),1); 
  //
   //TVector3 p(0,0,-3500); 
-  TVector3 d(0,0,1); 
+  //TVector3 d(0,0,1); 
   double b = gRandom->Uniform(3,7);
   std::vector< TVector3 > track = field.Propagate(b,p,d,false);
   // rotate from lab angle to FDC2 frame
   track.back().RotateY(-fdc2angle+angle);
   double br=field.FindBrho(p,d,track.back(),d);
-  //double pc = 100*(br-b)/b;
-
-  double pc = br-b;
-//  cout <<"  " <<  100*(br-b)/b  << " " << br << " " << b << endl;
+  double pc = 100*(br-b)/b;
+  cout <<"  " <<  100*(br-b)/b  << " " << br << " " << b << endl;
   h->Fill(pc);
-  hX->Fill(X,pc);
-  hY->Fill(Y,pc);
   }
   
   h->Draw();
-  new TCanvas();
-  hX->Draw("colz");
-  new TCanvas();
-  hY->Draw("colz");
-
 } 
diff --git a/Projects/S034/minos_dali.detector b/Projects/S034/minos_dali.detector
deleted file mode 100644
index facf9c4bf9b2214d7b5d8f632d1581143b53ee3d..0000000000000000000000000000000000000000
--- a/Projects/S034/minos_dali.detector
+++ /dev/null
@@ -1,95 +0,0 @@
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-Minos
- Position= 0 0 0  mm
- ZRotation= 40.6 deg
- TargetZOffset= 0 mm
- ZOffset= -4650
- TargetLength= 151.72 mm
- TargetMaterial= LH2 
- CellMaterial= Mylar 
- TPCOnly= 0 
- TimeBin= 30 ns
- ShapingTime= 333.9 ns
- BaseLine= 250
- Sampling= 10
- XML= db/MINOS.xml
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-Dali
- R = 212.4 mm 
- Alpha = 240 deg
- Zeta = 298.28 mm 
- Ring = 1
- Material = NaI(Tl)
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-Dali
- R = 212.4 mm 
- Alpha = 180 deg 
- Zeta = 298.28 mm
- Ring = 1
- Material = NaI(Tl)
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-Dali
- R= 212.4 mm 
- Alpha = 120 deg 
- Zeta = 298.28 mm 
- Ring = 1
- Material = NaI(Tl)
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-Dali
- R = 212.4 mm 
- Alpha = 60 deg 
- Zeta = 298.28 mm
- Ring = 1
- Material = NaI(Tl)
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-Dali
- R = 212.4 mm
- Alpha = 0 deg 
- Zeta = 298.28 mm
- Ring = 1
- Material = NaI(Tl)
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-Dali
- R = 212.4 mm 
- Alpha = -60 deg 
- Zeta = 298.28 mm
- Ring = 1
- Material = NaI(Tl)
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-Dali
- R = 212.4 mm
- Alpha = 240 deg 
- Zeta = 469.28 mm 
- Material = NaI(Tl)
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-Dali
- R = 212.4 mm 
- Alpha = 180 deg 
- Zeta = 469.28 mm
- Material = NaI(Tl)
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-Dali
- R = 212.4 mm 
- Alpha = 120 deg 
- Zeta = 469.28 mm
- Material = NaI(Tl)
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-Dali
- R = 212.4 mm 
- Alpha = 60 deg 
- Zeta = 469.28 mm 
- Material = NaI(Tl)
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-Dali
- R = 212.4 mm 
- Alpha = 0 deg 
- Zeta = 469.28 mm 
- Material = NaI(Tl)
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-Dali
- R = 212.4 mm 
- Alpha = -60 deg 
- Zeta = 469.28 mm 
- Material = NaI(Tl)
-%
diff --git a/Projects/S034/project.config b/Projects/S034/project.config
index e8be9bccc2eb124582440ec482794507de529ba5..850d419b82e08e6ff55ad10fa47063b6b9afd468 100644
--- a/Projects/S034/project.config
+++ b/Projects/S034/project.config
@@ -1,4 +1,4 @@
-Project FDC2
+Project S034
  AnalysisOutput= ./root/analysis
  SimulationOutput= ./root/simulation
  EnergyLoss= ./energy_loss
diff --git a/Projects/S034/reaction/He8.beam b/Projects/S034/reaction/He8.beam
new file mode 100755
index 0000000000000000000000000000000000000000..5ff8a12c3233f59d695a0617eaf235b3df21ee09
--- /dev/null
+++ b/Projects/S034/reaction/He8.beam
@@ -0,0 +1,20 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+Beam
+  Particle= 8He
+  %Energy= 600 MeV
+  %Energy= 1248 MeV
+  %SigmaEnergy= 2.986 MeV
+  %SigmaThetaX= 0.4791 deg
+  %SigmaPhiY= 0.5433 deg
+  %SigmaX= 15.43 mm
+  %SigmaY= 18.17 mm
+  %MeanThetaX= -0.04855 deg
+  %MeanPhiY= 0.009168 deg
+  %MeanX= 1.361 mm
+  %MeanY= 1.288 mm
+  EnergyProfilePath= /local/anne/nptool/Projects/S034_audrey/beam/hBeamEnergy.root hBeamEnergy
+  XThetaXProfilePath= ./beam/hBeamXThetaX.root hBeamXThetaX
+  YPhiYProfilePath= ./beam/hBeamYThetaY.root hBeamYThetaY
+  ZProfile = -6876.34 mm
+  ZEmission= -7000 mm
+
diff --git a/Projects/S034/reaction/He8_pp.reaction b/Projects/S034/reaction/He8_pp.reaction
new file mode 100755
index 0000000000000000000000000000000000000000..ceaa236a2c1db45f203bb00756a93d8290e8d8b1
--- /dev/null
+++ b/Projects/S034/reaction/He8_pp.reaction
@@ -0,0 +1,61 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+Beam
+  Particle= 8He
+  %Energy= 1248 MeV
+  %SigmaEnergy= 0.1 MeV
+  %SigmaThetaX= 0.1 deg
+  %SigmaPhiY= 0.1 deg
+  %SigmaX= 0 mm
+  %SigmaY= 0 mm
+  %MeanThetaX= 0.0 deg
+  %MeanPhiY= 0.0 deg
+  %MeanX= 0 mm
+  %MeanY= 0 mm
+  EnergyProfilePath= ./beam/hBeamEnergy.root hBeamEnergy
+  XThetaXProfilePath= ./beam/hBeamXThetaX.root hBeamXThetaX
+  YPhiYProfilePath= ./beam/hBeamYThetaY.root hBeamYThetaY
+  ZEmission= -7000 mm
+  
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% This is useful to redefine the reference mass of resonnance
+%% without this block the g.s. of the system is taken as the 
+%% first resonant state in nutab
+%DefineParticle 8He
+ SubPart= 4He n n n n
+ BindingEnergy= 0 MeV
+  
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+TwoBodyReaction
+ Beam= 8He
+ Target= 1H
+ Light= 1H
+ Heavy= 8He
+ ExcitationEnergyLight= 0.0 MeV
+ ExcitationEnergyHeavy= 3.43 MeV
+ CrossSectionPath= reaction/flat.txt CSR
+ ShootLight= 1
+ ShootHeavy= 1
+ %UseExInGeant4= 1
+ 
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+Decay 8He
+ Daughter= 4He n n n n
+ ExcitationEnergy= 0 0 0 0 0 MeV
+ Threshold= 0 MeV
+ BranchingRatio= 1
+ LifeTime= 0 ns
+ Shoot= 1 1 1 1 1     
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
+%BreitWigner     
+ Energy0= 3.0 MeV             
+ Width0= 2.0 MeV
+ l= 1
+ Heavy= 8He
+ Light= 4He
+ NeutronNumber= 4
+ MultiplicateurAmplitude= 1.0 MeV
+ ShiftZero= 0 
+ WidthCst= 0                   
+                   
+                  
diff --git a/Projects/S034/reaction/pp.reaction b/Projects/S034/reaction/pp.reaction
index a2285aa84411bdc62bdfab71589d431b79a83482..297d7d0f6ff99ea0d40b5b1a2bf06c906017624a 100644
--- a/Projects/S034/reaction/pp.reaction
+++ b/Projects/S034/reaction/pp.reaction
@@ -18,6 +18,7 @@ Beam
  %EnergyProfilePath=
  %XThetaXProfilePath=
  %YPhiYProfilePath=
+ ZEmission= -5000 mm
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 TwoBodyReaction
  Beam= 1H
diff --git a/Projects/S034/root/analysis/.gitignore b/Projects/S034/root/analysis/.gitignore
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/Projects/S034/root/mrdc/.gitignore b/Projects/S034/root/mrdc/.gitignore
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/Projects/S034/root/simulation/.gitignore b/Projects/S034/root/simulation/.gitignore
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/Projects/Samurai/Samurai.detector b/Projects/Samurai/Samurai.detector
index 53e981171413777e66ca006fa8570d48c60a3baf..36be1abae5c616b00c812c2001202909b2b72d99 100644
--- a/Projects/Samurai/Samurai.detector
+++ b/Projects/Samurai/Samurai.detector
@@ -14,27 +14,27 @@ Samurai
  %
  METHOD= 1				
  % 0=RungeKutta, 1=EliaOmar
- FIELDMAP=3T.table.bin 
+ FIELDMAP= 3T.table.bin 
  %fieldmap/3T.table.bin 		
  % fieldmap path
  STEPS_PER_METER= 1000
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 SAMURAIFDC1
- %XML= db/SAMURAIFDC0_20200109.xml
+ XML= db/SAMURAIFDC0_20200109.xml
  %Offset= -0.00666226 0.102191 -3370.01 mm
  Offset= -0.00666226 0.102191 -4370.01 mm
- %InvertX= 1 
- %InvertY= 0
- %InvertD= 1
+ InvertX= 1 
+ InvertY= 0
+ InvertD= 1
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-SAMURAIFDC2
- %XML= db/SAMURAIFDC2.xml
- Offset= 1000 200 5000 mm
+%SAMURAIFDC2
+% XML= db/SAMURAIFDC2.xml
+% Offset= 1000 200 5000 mm
  OffAngle= 59.930 deg
- %-252.416 -0.228477 4122.57 mm
- %InvertX= 0 
- %InvertY= 1
- %InvertD= 1
+ Offset= -252.416 -0.228477 5000.57 mm
+ InvertX= 0 
+ InvertY= 1
+ InvertD= 1
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/Projects/Strasse/RunToTreat.txt b/Projects/Strasse/RunToTreat.txt
new file mode 100644
index 0000000000000000000000000000000000000000..55362e76e516a1d2ee77f17a4a7d48ca086f57b8
--- /dev/null
+++ b/Projects/Strasse/RunToTreat.txt
@@ -0,0 +1,4 @@
+TTreeName
+    SimulatedTree
+RootFileName
+    ./root/simulation/configlast.root
diff --git a/Projects/Strasse/ana.sh b/Projects/Strasse/ana.sh
index 924f3f65240aa504f7ca8f291fb156cf2d3c1e60..7bd3f7cc9eb69725b5d42a8b40cdd16c09891d3e 100755
--- a/Projects/Strasse/ana.sh
+++ b/Projects/Strasse/ana.sh
@@ -1 +1 @@
-npanalysis -E ./reaction/17Fp2p.reaction -D ./geometry/strasse_July2021.detector -R RunToTreat.txt -O configJuly2021_ana.root
+npanalysis -E ./reaction/12C_p2p_perfect.reaction -D ./geometry/strasse_last.detector -R RunToTreat.txt -O configlast_ana.root
diff --git a/Projects/Strasse/macro/CheckAna.cxx b/Projects/Strasse/macro/CheckAna.cxx
index 596dfcf434222c19725d165492be1f6636d76e10..fcffeed57b5c1e2ea7950b1afb78ab11dfad4f71 100644
--- a/Projects/Strasse/macro/CheckAna.cxx
+++ b/Projects/Strasse/macro/CheckAna.cxx
@@ -1,15 +1,8 @@
 {
   gStyle->SetPalette(1);
   // TFile *file= new TFile("../../Outputs/Analysis/PhysicsTree.root");
-  // TFile *file= new TFile("../../Outputs/Analysis/configJuly2021_ana_1MeV_perfect_Decay.root");
-  // TFile* file = new TFile("../../Outputs/Analysis/configJuly2021_ana_1MeV.root");
-  // TFile* file = new TFile("../../Outputs/Analysis/configJune2022_ana_0MeV_real_100MeVc_50um.root");
-  // TFile* file = new TFile("../../Outputs/Analysis/configJune2022_ana_0MeV_real_100MeVc_I200um_O300um.root");
-  // TFile* file = new TFile("../../Outputs/Analysis/configJune2022_ana_0MeV_real_100MeVc_I200um_O300um_newtar.root");
-  TFile* file = new TFile("../../Outputs/Analysis/test_newtar_ana.root");
-  // TFile* file = new TFile("../../Outputs/Analysis/test_oldtar_ana.root");
 
-  TTree* tree = (TTree*)file->Get("PhysicsTree");
+  TTree* tree = (TTree*)gDirectory->Get("PhysicsTree");
 
   TCanvas* c1 = new TCanvas("c1", "c1", 1000, 1000);
   c1->Divide(3, 4);
diff --git a/Projects/Strasse/macro/CheckSim.cxx b/Projects/Strasse/macro/CheckSim.cxx
index 1f450fd763c73f347d8e7e9adf02005a085c6167..af03b6e45aa7d4e436cf33222b6f22ab85a757e6 100644
--- a/Projects/Strasse/macro/CheckSim.cxx
+++ b/Projects/Strasse/macro/CheckSim.cxx
@@ -1,18 +1,6 @@
 {
   gStyle->SetPalette(1);
   // TFile *file= new TFile("../../Outputs/Simulation/SimulatedTree.root");
-  // TFile *file= new TFile("../../Outputs/Simulation/configJuly2021_1MeV.root");
-  // TFile* file = new TFile("../../Outputs/Simulation/configJune2022_0MeV_real_100MeVc_50um.root");
-  /// TFile* file = new TFile("../../Outputs/Simulation/configJune2022_0MeV_real_100MeVc_I200um_O300um.root");
-  // TFile* file = new TFile("../../Outputs/Simulation/configJune2022_0MeV_real_100MeVc_Ip50um_Op50um.root");
-  // TFile* file = new TFile("../../Outputs/Simulation/configJune2022_partial_0MeV_pencil_100MeVc_I200um_O300um.root");
-  // TFile* file = new TFile("../../Outputs/Simulation/configJune2022_0MeV_pencil.root");
-  //  TFile* file = new TFile("../../Outputs/Simulation/configJune2022_50MeV_pencil.root");
-  //  TFile* file = new TFile("../../Outputs/Simulation/configJune2022_100MeV_pencil.root");
-  //
-  // TFile* file = new TFile("../../Outputs/Simulation/test_newtar.root");
-  // TFile* file = new TFile("../../Outputs/Simulation/test_oldtar.root");
-  //  TTree* tree = (TTree*)file->Get("SimulatedTree");
   TTree* tree = (TTree*)gDirectory->Get("SimulatedTree");
 
   TCanvas* c1 = new TCanvas("c1", "c1", 1000, 1000);
diff --git a/Projects/Strasse/reaction/C12_p2p.reaction b/Projects/Strasse/reaction/12C_p2p_perfect.reaction
similarity index 70%
rename from Projects/Strasse/reaction/C12_p2p.reaction
rename to Projects/Strasse/reaction/12C_p2p_perfect.reaction
index 03be548931a5e7a94eedc077211d607bff73912f..33df5510390652713117e4361deddb424a2cb3f0 100755
--- a/Projects/Strasse/reaction/C12_p2p.reaction
+++ b/Projects/Strasse/reaction/12C_p2p_perfect.reaction
@@ -1,17 +1,16 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 Beam
   Particle= 12C
-  Energy= 3200 MeV
+  Energy= 4400 MeV
   SigmaEnergy= 0 MeV
-  SigmaThetaX= 0.1 deg
-  SigmaPhiY= 0.1 deg
-  SigmaX= 5 mm
-  SigmaY= 5 mm
+  SigmaThetaX= 0 deg
+  SigmaPhiY= 0 deg
+  SigmaX= 0 mm
+  SigmaY= 0 mm
   MeanThetaX= 0 deg
   MeanPhiY= 0 deg
   MeanX= 0 mm
   MeanY= 0 mm
-  ZEmission= 0mm
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 QFSReaction
  Beam= 12C
@@ -20,9 +19,10 @@ QFSReaction
  KnockedOut= 1H
  Heavy= 11B
  ExcitationEnergyBeam= 0.0 MeV
- ExcitationEnergyHeavy= 1.0 MeV
- MomentumSigma= 50.0 
+ ExcitationEnergyHeavy= 0.0 MeV
+ MomentumSigma= 0.0 
  ShootHeavy= 1
- ShootLight= 1
+ ShootLight1= 1
+ ShootLight2= 1
   
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/Projects/Strasse/run.mac b/Projects/Strasse/run.mac
new file mode 100644
index 0000000000000000000000000000000000000000..3a7cd691db31d7a1eac6f083ab4c07bdbb3e0beb
--- /dev/null
+++ b/Projects/Strasse/run.mac
@@ -0,0 +1 @@
+/run/beamOn 50000
diff --git a/Projects/Strasse/sim.sh b/Projects/Strasse/sim.sh
index fcbe616643eb6f91d80c6e9888f5db67c2cdff02..13d1d5a95b215aa9540718d72d1025b142c741eb 100755
--- a/Projects/Strasse/sim.sh
+++ b/Projects/Strasse/sim.sh
@@ -1,2 +1,2 @@
-npsimulation -E ./reaction/17Fp2p.reaction -D ./geometry/strasse_July2021.detector -O configJuly2021.root -B run.mac
+npsimulation -E ./reaction/12C_p2p_perfect.reaction -D ./geometry/strasse_last.detector -O configlast.root -B run.mac
 
diff --git a/Projects/e775s/analysis/Plots_C2SFunctions_ThetaCM.h b/Projects/e775s/analysis/Plots_C2SFunctions_ThetaCM.h
new file mode 100644
index 0000000000000000000000000000000000000000..d26316a8512c90f624b5090c374f5e67a56a7e92
--- /dev/null
+++ b/Projects/e775s/analysis/Plots_C2SFunctions_ThetaCM.h
@@ -0,0 +1,1259 @@
+/* Predefine functions */
+void C2S();
+void C2S_Diagnosis();
+vector<vector<double>> GetExpDiffCross(double Energy);
+TH1F* PullThetaCMHistSubPSp(int i, double minTheta, double gatesize, int angBinSize);
+void Scale(TGraph* g , TGraphErrors* ex);
+TGraph* TWOFNR(double E, double J0, double J, double n, double l, double j);
+double ToMininize(const double* parameter);
+TGraph* FindNormalisation(TGraph* theory, TGraphErrors* experiment);
+TGraph* FindNormalisation(TGraph* theory, TGraph* theory2, TGraphErrors* experiment);
+TList* peakFitList = new TList();
+void CanvasPartition(TCanvas *C,const Int_t Nx = 2,const Int_t Ny = 2,
+                     Float_t lMargin = 0.15, Float_t rMargin = 0.05,
+                     Float_t bMargin = 0.15, Float_t tMargin = 0.05);
+double XtoPad(double x);
+double YtoPad(double x);
+
+/* Global variables */
+vector<Double_t> anglecentres, anglewidth;
+TGraph* currentThry;
+TGraph* currentThry2;
+TGraphErrors* staticExp;
+int indexE;
+double globalS, globalSerr;
+double globalS2, globalSerr2;
+int numAngleBins;
+double widthAngleBins;
+double firstAngle;
+double CSangleL, CSangleH;
+double CSvertL,  CSvertH;
+bool GammaGate = false;
+double globGammaGate;
+bool doMix = false;
+bool doDoublet = false;
+bool comparingTWOFNRs = false;
+double globalBinning;
+double SnTWOFNR = 7.607;
+
+/* Output volume toggle */
+bool loud = 0;
+
+/* Scale method toggle */
+bool scaleTogether = 1;
+
+/* Input and output potentials */
+string inPot = "AC";//"ADWA";//"HSS";//"AC";
+string outPot = "BG";//"CH";//"P";
+
+
+/* Strings for image */
+string orbitalname;
+string orbital;
+
+/* Strings for SolidAngle input file */
+string statename;
+string inputdate;
+
+////////////////////////////////////////////////////////////////////////////////
+void WriteToFile(TGraphErrors* gr, string filename){
+  int npoints = gr->GetN();
+  ofstream file;
+  file.open (filename.c_str());
+  
+  cout << " ============================ " << endl;
+  cout << "  Writing to " << filename << " ..." << endl;
+
+  file << " i \t x \t y \t xe \t ye" << endl;
+
+  for(int i = 0; i < npoints; i++){
+    double x = gr->GetPointX(i);    
+    double y = gr->GetPointY(i);    
+    double xe = gr->GetErrorX(i);    
+    double ye = gr->GetErrorY(i);    
+
+    file << i  << "\t"
+	 << x  << "\t"
+	 << y  << "\t"
+	 << xe << "\t"
+	 << ye << "\t"
+	 << endl;
+
+  }
+
+  cout << "  Complete! " << endl;
+  cout << " ============================ " << endl;
+
+}
+
+////////////////////////////////////////////////////////////////////////////////
+TGraphErrors* GetExpDCS_ForFig(string filename){
+  vector<double> x, dx, y, dy;
+  ifstream f(filename.c_str());
+  string line;
+  while (getline(f, line)){
+    stringstream ss(line);
+    //      i   x   y  dx  dy
+    double tA, tB, tC, tD, tE;
+    if (f >> tA >> tB >> tC >> tD >> tE){
+      //cout << tA << " " << tB << " " << tC << " " << tD << " " << tE << endl;
+      x.push_back(tB);
+      y.push_back(tC);
+      dx.push_back(0.0);
+      dy.push_back(tE);
+    }
+  }
+  f.close();
+
+  TGraphErrors* g = new TGraphErrors(x.size(), &(x[0]), &(y[0]), &(dx[0]), &(dy[0]));
+  return g;
+} 
+
+////////////////////////////////////////////////////////////////////////////////
+TGraph* GetSimDCS_ForFig(string filename){
+  vector<double> x, dx, y, dy;
+  ifstream f(filename.c_str());
+  string line;
+  while (getline(f, line)){
+    stringstream ss(line);
+    //      i   x   y  dx  dy
+    double tA, tB, tC, tD, tE;
+    if (f >> tA >> tB >> tC >> tD >> tE){
+      //cout << tA << " " << tB << " " << tC << " " << tD << " " << tE << endl;
+      x.push_back(tB);
+      y.push_back(tC);
+      dx.push_back(tD);
+      dy.push_back(tE);
+    }
+  }
+  f.close();
+
+  TGraph* g = new TGraph(x.size(), &(x[0]), &(y[0]));
+  return g;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void CanvasPartition(TCanvas *C,const Int_t Nx,const Int_t Ny, Float_t lMargin, Float_t rMargin, Float_t bMargin, Float_t tMargin){
+   if (!C) return;
+ 
+   // Setup Pad layout:
+   Float_t vSpacing = 0.0;
+   Float_t vStep  = (1.- bMargin - tMargin - (Ny-1) * vSpacing) / Ny;
+ 
+   Float_t hSpacing = 0.0;
+   Float_t hStep  = (1.- lMargin - rMargin - (Nx-1) * hSpacing) / Nx;
+ 
+   Float_t vposd,vposu,vmard,vmaru,vfactor;
+   Float_t hposl,hposr,hmarl,hmarr,hfactor;
+ 
+   for (Int_t i=0;i<Nx;i++) {
+ 
+      if (i==0) {
+         hposl = 0.0;
+         hposr = lMargin + hStep;
+         hfactor = hposr-hposl;
+         hmarl = lMargin / hfactor;
+         hmarr = 0.0;
+      } else if (i == Nx-1) {
+         hposl = hposr + hSpacing;
+         hposr = hposl + hStep + rMargin;
+         hfactor = hposr-hposl;
+         hmarl = 0.0;
+         hmarr = rMargin / (hposr-hposl);
+      } else {
+         hposl = hposr + hSpacing;
+         hposr = hposl + hStep;
+         hfactor = hposr-hposl;
+        hmarl = 0.0;
+         hmarr = 0.0;
+      }
+ 
+      for (Int_t j=0;j<Ny;j++) {
+ 
+         if (j==0) {
+            vposd = 0.0;
+            vposu = bMargin + vStep;
+            vfactor = vposu-vposd;
+            vmard = bMargin / vfactor;
+            vmaru = 0.0;
+         } else if (j == Ny-1) {
+            vposd = vposu + vSpacing;
+            vposu = vposd + vStep + tMargin;
+            vfactor = vposu-vposd;
+            vmard = 0.0;
+            vmaru = tMargin / (vposu-vposd);
+         } else {
+            vposd = vposu + vSpacing;
+            vposu = vposd + vStep;
+            vfactor = vposu-vposd;
+            vmard = 0.0;
+            vmaru = 0.0;
+         }
+ 
+         C->cd(0);
+ 
+         auto name = TString::Format("pad_%d_%d",i,j);
+         auto pad = (TPad*) C->FindObject(name.Data());
+         if (pad) delete pad;
+         pad = new TPad(name.Data(),"",hposl,vposd,hposr,vposu);
+         pad->SetLeftMargin(hmarl);
+         pad->SetRightMargin(hmarr);
+         pad->SetBottomMargin(vmard);
+         pad->SetTopMargin(vmaru);
+ 
+         pad->SetFrameBorderMode(0);
+         pad->SetBorderMode(0);
+         pad->SetBorderSize(0);
+ 
+         pad->Draw();
+      }
+   }
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void WriteToFile(TGraph* gr, string filename){
+  int npoints = gr->GetN();
+  ofstream file;
+  file.open (filename.c_str());
+  
+  cout << " ============================ " << endl;
+  cout << "  Writing to " << filename << " ..." << endl;
+
+  file << " i \t x \t y \t xe \t ye" << endl;
+
+  for(int i = 0; i < npoints; i++){
+    double x = gr->GetPointX(i);    
+    double y = gr->GetPointY(i);    
+    double xe = gr->GetErrorX(i);    
+    double ye = gr->GetErrorY(i);    
+
+    file << i  << "\t"
+	 << x  << "\t"
+	 << y  << "\t"
+	 << xe << "\t"
+	 << ye << "\t"
+	 << endl;
+
+  }
+
+  cout << "  Complete! " << endl;
+  cout << " ============================ " << endl;
+
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void canclone(TCanvas* major, int padNum, string name){
+  string minorName = "./CS2_Figures/" + name + ".root";
+  TFile* minorFile = new TFile(minorName.c_str(),"READ");
+  TCanvas* minor = (TCanvas*) minorFile->FindObjectAny("c_peakFits");
+ 
+  major->cd(padNum);
+  TPad *pad = (TPad*)gPad;
+  minor->cd();
+  TObject *obj, *clone;
+  pad->Range(minor->GetX1(),minor->GetY1(),minor->GetX2(),minor->GetY2());
+  pad->SetTickx(minor->GetTickx());
+  pad->SetTicky(minor->GetTicky());
+  pad->SetGridx(minor->GetGridx());
+  pad->SetGridy(minor->GetGridy());
+  pad->SetLogx(minor->GetLogx());
+  pad->SetLogy(minor->GetLogy());
+  pad->SetLogz(minor->GetLogz());
+  pad->SetBorderSize(minor->GetBorderSize());
+  pad->SetBorderMode(minor->GetBorderMode());
+  minor->TAttLine::Copy((TAttLine&)*pad);
+  minor->TAttFill::Copy((TAttFill&)*pad);
+  minor->TAttPad::Copy((TAttPad&)*pad);
+
+  TIter next(minor->GetListOfPrimitives());
+  gROOT->SetSelectedPad(pad);
+  while ((obj=next())) {
+     clone = obj->Clone();
+     obj->Draw("SAME");
+     pad->GetListOfPrimitives()->Add(clone,obj->GetDrawOption());
+  }
+  pad->Modified();
+  pad->Update();
+  major->cd(padNum);
+  pad->Draw();
+}
+
+////////////////////////////////////////////////////////////////////////////////
+double GetNodes(double spdf){
+  double nodes;
+       if(spdf==0){ nodes=1; }
+  else if(spdf==1){ nodes=0; }
+  else if(spdf==2){ nodes=0; }
+  else if(spdf==3){ nodes=0; }
+  else{
+    cout << " INPUT NODES::" << endl;
+    cin >> nodes;
+  }
+  return nodes;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void GenerateResidual(TGraphErrors* gdSdO, TGraph* Final){
+
+  TGraphErrors* gResid = new TGraphErrors(*gdSdO);
+  for(int n=0; n < gResid->GetN(); n++){
+    double x = gdSdO->GetPointX(n);
+    double residual = gdSdO->GetPointY(n) - Final->Eval(x);
+    gResid->SetPoint(n,x,residual);
+    gResid->SetPointError(n,0,gdSdO->GetErrorY(n));
+  }
+  TLine* markzero = new TLine(CSangleL,0.,CSangleH,0.);
+  gResid->SetTitle("");
+  gResid->GetXaxis()->SetRangeUser(CSangleL,CSangleH);
+  gResid->GetXaxis()->SetNdivisions(512,kTRUE);
+  gResid->GetYaxis()->SetTitle("Residuals");
+  gResid->GetYaxis()->SetTitleSize(0.15);
+  gResid->GetYaxis()->SetTitleOffset(0.36);
+  gResid->GetYaxis()->SetLabelSize(0.08);
+  gResid->GetYaxis()->SetNdivisions(305);
+  gResid->GetXaxis()->SetTitleSize(0.15);
+  gResid->GetXaxis()->SetTitleOffset(0.8);
+  gResid->GetXaxis()->SetLabelSize(0.1);
+  gResid->GetXaxis()->SetTickLength(0.1);
+  gResid->Draw();
+  markzero->SetLineStyle(2);
+  markzero->Draw("same");
+
+}
+
+////////////////////////////////////////////////////////////////////////////////
+TGraph* AddTGraphs(TGraph* a, TGraph* b){
+  if(a->GetN() != b->GetN()){
+    cout << "CANNOT ADD GRAPHS, UNEQUAL NUMBER OF POINTS" << endl;
+    cout << a->GetN() << " != " << b->GetN() << endl;
+    return 0;
+  }
+
+  TGraph* sum = (TGraph*) a->Clone();
+
+  int maxN = a->GetN();
+  for(int i = 0 ; i < maxN ; i++){
+    double xa = a->GetPointX(i);
+    double xb = b->GetPointX(i);
+    if(xa!=xb){cout << "FAIL! Unequal X!" << endl; return 0;}
+
+    double ya = a->GetPointY(i);
+    double yb = b->GetPointY(i);
+    sum->SetPoint(i,xa,ya+yb);
+  }
+
+  return sum;
+
+}
+
+////////////////////////////////////////////////////////////////////////////////
+TGraph* PullDWUCK4(double stateE, double Spin, double nodes, double spdf, double angmom, double J0, string inPot, string outPot){
+      
+  // Defining 0000, 8313 etc.
+  ostringstream strStateE; 
+  strStateE.width(4);  strStateE.fill('0');
+  strStateE << (stateE*1000);
+
+  // Find DWUCK4 file
+  string filename = "/home/paxman/Programs/DWUCK4/Output_Processed/19-8-2-1-1-1_bE7990_Ex" 
+  	          + strStateE.str()
+  		  + "_Pin-"  + inPot
+		  + "_Pout-" + outPot
+		  + "_nl2j-" + to_string((int)nodes) + "-" + to_string((int)spdf) + "-" + to_string((int)(2*angmom)) 
+                  + "_2Ji-"  + to_string((int)(2.*J0)) 
+                  + "_2Jo-"  + to_string((int)(2.*Spin)) 
+                  + "_2Jt-"  + to_string((int)(2.*angmom)) 
+		  + ".txt";
+  cout << "Loading file: " << filename << endl;
+
+  // Open DWUCK4 file
+  ifstream dwuckfile;
+  dwuckfile.open(filename.c_str());
+  if (!dwuckfile.is_open()){
+    cout << "FAILED TO OPEN FILE!" << endl;
+  }	  
+
+  // Read in angle (#1) and cross section (#2)
+  string line;
+  vector<double> angle, cross;
+  
+  while(getline(dwuckfile,line)){
+    // Separate variables, delimited by space
+    istringstream iss(line);
+    string substring{};
+    vector<string> substrings{};
+
+    while (getline(iss, substring, ' ')){
+      if (!substring.empty())
+      substrings.push_back(substring);
+    }
+
+    angle.push_back(stod(substrings[0]));
+    cross.push_back(stod(substrings[1]));
+  }
+
+  dwuckfile.close();
+
+  TGraph *g = new TGraph(angle.size(), &angle[0], &cross[0]);
+  g->SetTitle("DWUCK4Output");
+  g->SetName("DWUCK4Output");
+  g->Draw("AL");
+
+  return g;
+} 
+
+////////////////////////////////////////////////////////////////////////////////
+// Allow detailed choices (i.e. initial nucleus spin J0, and number/width/intial angle bins)
+void C2S(double Energy, double Spin, double spdf, double angmom, double binning, string option,double J0, double nAngB, double wAngB, double fAngB ){
+  /* Clean global variables, in case of multiple runs */
+  indexE = 100;
+  anglecentres.clear();
+  anglewidth.clear();
+  globalS=0.;
+  globalSerr=0.;
+  globalS2=0.;
+  globalSerr2=0.;
+  peakFitList->Clear();
+  globalBinning = binning;
+
+  //gROOT->SetBatch(1);
+
+  double spdf2, angmom2 = 0;
+  doMix = false;
+  doDoublet = false;
+
+  if(option=="mixed"){
+    doMix = true;
+    cout << BOLDBLUE 
+	 << " || MIXING OPTION SELECTED  || \n"
+	 << " || GIVE DETAILS OF 2ND OPT || \n"
+	 << " || L = ...                 || \n"
+	 << endl;
+    cin >> spdf2;
+    cout << " || J  = ...                || \n"
+	 << endl;
+    cin >> angmom2;
+    cout << RESET;
+  } else if (option=="doublet") {
+    doDoublet = true;
+  }
+
+  if(binning < 0.005){
+    cout << BOLDRED
+	 << " BINNING IS BELOW 0.005 MeV! Exiting..."
+	 << RESET
+	 << endl;
+    return;
+  }
+
+  /* Assign local variables */
+  // s1/2 -> spdf = 0, angmom = 0.5
+  // J0 is incident spin, which is 19O g.s. therefore J0 = 5/2
+  //double J0 = 2.5; // NOW INPUT VARIABLE
+  double ElasticNorm = 1.0, ElasticNormErr = 0.0;
+
+  string backupFileName = "SolidAngleHistFiles/";
+  string saFileName = "SolidAngleHistFiles/SAHF_Sim_19Odp_";
+
+  // Define angle variables
+  numAngleBins=nAngB; widthAngleBins=wAngB; firstAngle=fAngB; // NOW INPUT VARIABLE
+  CSangleL = 100.;
+  CSangleH = 160.;
+  CSvertL  = 0.04; //0.01;
+  CSvertH  = 100.; 
+
+  //// Reduce angular range for high energy states
+  //if(Energy>7.2){
+  //  double tmax = (Energy-18.)/(-0.075);
+  //  numAngleBins = (int)floor((double)(floor(tmax)-firstAngle)/widthAngleBins);
+  //  cout << "!! TRIMMED NUMBER OF ANGLE BINS" << numAngleBins << endl;
+  //  cout << "!! THEREFORE ANGE RANGE = " 
+  //       << firstAngle << " to " 
+  //       << firstAngle+(widthAngleBins*numAngleBins) 
+  //       << endl;
+  //}
+
+  // Extract spin orbit name
+  orbitalname.clear();
+  orbital.clear();
+  
+  switch((int)spdf){
+    case 0:
+      orbitalname.append("s_{");
+      orbital.append("s");
+      break;
+    case 1:
+      orbitalname.append("p_{");
+      orbital.append("p");
+      break;
+    case 2:
+      orbitalname.append("d_{");
+      orbital.append("d");
+      break;
+    case 3:
+      orbitalname.append("f_{");
+      orbital.append("f");
+      break;
+    default:
+      cout << RED
+	   <<"ERROR: SPDF SELECTION OUT OF RANGE" 
+	   << endl;
+  }
+  orbitalname.append(to_string((int)(2*angmom)));
+  orbitalname.append("/2}");
+  orbital.append(to_string((int)(2*angmom)));
+  orbital.append("2");
+
+  // Number of nodes
+  double nodes = GetNodes(spdf);
+  double nodes2;
+  if(doMix){
+    nodes2 = GetNodes(spdf2);
+  }
+
+  /* Retrieve array index of the entered peak energy */
+  /* numpeaks and Energy[] defined globally in KnownPeakFitter.h */
+  bool found = 0;
+  for(int i=0;i<numPeaks;i++){
+  cout << i << "  " <<  Energy << "   " << means.at(i) << endl;
+    if(abs(Energy-means.at(i))<0.01){
+      cout << "========================================================" << endl;
+      cout << "Identified as state #" << i << ", E = " << means.at(i) << endl;
+      indexE = i;
+      found = 1;
+      stringstream ss;
+      ss << setfill('0') << setw(4) << (int)((means.at(i)+0.0001)*1000.);
+      statename = ss.str();
+    }
+  }
+//  for(int i=0;i<numVoigt;i++){
+//    if(abs(Energy-meansVoigt.at(i))<0.01){
+//      cout << "========================================================" << endl;
+//      cout << "Identified as state #" << i << ", E = " << meansVoigt.at(i) << endl;
+//      indexE = numPeaks - 1 + i;
+//      found = 1;
+//      stringstream ss;
+//      ss << setfill('0') << setw(4) << (int)((meansVoigt.at(i)+0.0001)*1000.);
+//      statename = ss.str();
+//    }
+//  }
+  if(!found){
+    cout << "========================================================" << endl;
+    cout << "NO STATE AT THAT ENERGY INDENTIFIED!! CHECK KNOWN PEAKS!!" << endl;
+    return;
+  }
+  saFileName.append(statename);
+  saFileName.append(".root");
+
+  /* Solid Angle (from simulation) */
+  TFile* file;
+  ifstream infile(saFileName);
+  ifstream backup(backupFileName);
+  if(infile.good()){
+    cout << GREEN << "Opening file " << saFileName << RESET << endl;
+      file = TFile::Open(saFileName.c_str());
+  } else if (backup.good()){
+    cout << BOLDRED << "FAILED TO OPEN " << saFileName << endl;
+    cout << "Open standard backup file " << backupFileName << endl;
+    cout << RESET;
+      file = TFile::Open(backupFileName.c_str());
+  } else {
+    cout << BOLDRED << "FAILED TO OPEN MAIN OR BACKUP SOLID ANGLE FILE" << endl;
+    cout << RED << "Check SolidAngle file exists..." << RESET << endl;
+  }
+
+  //string objName = "SolidAngle_Lab_MG";
+  string objName = "SolidAngle_CM_MG";
+  TH1F* SolidAngle = (TH1F*) file->FindObjectAny(objName.c_str());
+  TCanvas* c_SolidAngle = new TCanvas("c_SolidAngle","c_SolidAngle",500,500);
+  SolidAngle->Draw("HIST");
+  SolidAngle->GetXaxis()->SetRangeUser(CSangleL,CSangleH);
+  /* (canvas deleted after Area/SA calculation) */
+ 
+  /* Area of experimental peaks */
+//TCanvas* c_PeakArea = new TCanvas("c_PeakArea","c_PeakArea",500,500);
+  vector<vector<double>> areaArray = GetExpDiffCross(means.at(indexE));
+//delete c_PeakArea;
+
+  // Array: peakenergy, peakarea, areaerror, anglemin, anglemax
+  if(loud){
+    for(int i=0; i<areaArray.size();i++){
+      cout << i << " " 
+    	   << areaArray[i][0] << " " 
+	   << areaArray[i][1] << " "
+	   << areaArray[i][2] << " "
+	   << areaArray[i][3] << " "
+	   << areaArray[i][4] << endl;
+    }
+  }
+
+  /* AoSA = Area/Solid Angle [#/msr] */
+  /* dSdO = Experimental Diff. Cross Sect. (Area/Solid Angle *Norm) [mb/msr] */
+  vector<Double_t> peakAreas, peakAErrs;
+  vector<Double_t> AoSA, AoSAerr;
+  vector<Double_t> expDCS, expDCSerr;
+  for(int i=0; i<areaArray.size();i++){
+    int binmin = SolidAngle->FindBin(areaArray[i][3]+0.0001);
+    int binmax = SolidAngle->FindBin(areaArray[i][4]-0.0001);
+
+    anglecentres.push_back(((areaArray[i][4]-areaArray[i][3])/2.)+areaArray[i][3]);
+    anglewidth.push_back(areaArray[i][4]-areaArray[i][3]);
+
+    double tempsum=0, tempsumerr=0;
+    for(int x=binmin;x<binmax+1;x++){
+      tempsum += SolidAngle->GetBinContent(x);
+      tempsumerr += SolidAngle->GetBinError(x);
+      if(loud){cout << x << endl;}
+    }
+    if(loud){cout << "TEST CHECK " << tempsum << " +- " << tempsumerr << endl;}
+
+    double SAerr;
+    double SA = SolidAngle->IntegralAndError(binmin,binmax,SAerr);
+    SA = SA*1000.;       //sr->msr
+    SAerr = SAerr*1000.; //sr->msr
+
+    /* Peak Area ONLY */
+    peakAreas.push_back(areaArray[i][1]);
+    peakAErrs.push_back(areaArray[i][2]);
+
+    /* Area over Solid angle ONLY */
+    AoSA.push_back(areaArray[i][1]/SA);
+    AoSAerr.push_back((areaArray[i][1]/SA) 
+		    * sqrt( pow(areaArray[i][2]/areaArray[i][1],2) 
+			    + pow(SAerr/SA,2)));
+
+    /* Differential Cross Section */
+    /* NOTE: DON'T INCLUDE NORM ERROR IN ERR PROPAGATION AS IT IS SYSTEMATIC! */
+    double tempvalue = (areaArray[i][1]/SA)*ElasticNorm; 
+    double temperror = tempvalue
+		     * sqrt( pow(areaArray[i][2]/areaArray[i][1],2)
+		           + pow(SAerr/SA,2)
+			   );
+    //if(temperror<tempvalue){ // exclude very large error bars
+    expDCS.push_back(tempvalue);
+    expDCSerr.push_back(temperror);
+    //}
+
+    if(loud){
+      cout << "Angle " << areaArray[i][3] << " to " << areaArray[i][4] 
+	   << ", centre " << anglecentres[i]
+	   << ": Area = " << areaArray[i][1] << " +- " << areaArray[i][2] << " cnts" 
+	   << "  SA = " << SA << " +- " << SAerr << " msr" 
+           << "  Area/SA = " << AoSA[i] << " +- " << AoSAerr[i] << " counts/msr"
+	   << setprecision(5)
+           << "  Norm = " << ElasticNorm << " +- " << ElasticNormErr
+	   << " (don't include norm err in propagation)"
+           << "  dSdO = " << tempvalue << " +- " << temperror  
+	   << setprecision(3)
+	   << endl;
+    }
+
+  }
+  //delete c_SolidAngle;
+  
+  gROOT->SetBatch(0);
+
+  /* Graph of Peak Areas*/
+  TCanvas* c_PeakArea = new TCanvas("c_PeakArea","c_PeakArea",500,500);
+  c_PeakArea->SetLogy();
+  TGraphErrors* gArea = new TGraphErrors(
+		  anglecentres.size(), //n
+		  &(anglecentres[0]), &(peakAreas[0]), //x, y
+		  0, &(peakAErrs[0]) );  //errX, errY 
+  gArea->SetTitle("Area");
+  gArea->GetXaxis()->SetTitle("ThetaCM [deg]");
+  gArea->GetYaxis()->SetTitle("Counts");
+  gArea->Draw();
+
+  /* Graph of Area/Solid Angle*/
+  TCanvas* c_AoSA = new TCanvas("c_AoSA","c_AoSA",500,500);
+  c_AoSA->SetLogy();
+  TGraphErrors* gAoSA = new TGraphErrors(
+		  anglecentres.size(), //n
+		  &(anglecentres[0]), &(AoSA[0]), //x, y
+		  0, &(AoSAerr[0]) );  //errX, errY 
+  gAoSA->SetTitle("Area/SolidAngle");
+  gAoSA->GetXaxis()->SetTitle("ThetaCM [deg]");
+  gAoSA->GetXaxis()->CenterTitle();
+  gAoSA->GetYaxis()->SetTitle("Counts/#Omega [counts/msr]");
+  gAoSA->GetYaxis()->CenterTitle();
+  gAoSA->SetMarkerStyle(7);
+  gAoSA->SetMarkerColor(kRed);
+  gAoSA->SetLineColor(kRed);
+  gAoSA->Draw("AP");
+
+  /* Graph of experimental diff. cross sect (dSigma/dOmega) */
+  TCanvas* c_dSdO = new TCanvas("c_dSdO","c_dSdO",500,500);
+  c_dSdO->SetLogy();
+  TGraphErrors* gdSdO = new TGraphErrors(
+		  anglecentres.size(),
+		  &(anglecentres[0]), &(expDCS[0]),
+		  0, &(expDCSerr[0]) );
+  gdSdO->SetTitle("Differential Cross Section");
+  gdSdO->GetXaxis()->SetTitle("#theta_{CM} [deg]");
+  gdSdO->GetXaxis()->SetTitleOffset(1.2);
+  gdSdO->GetXaxis()->SetTitleSize(0.04);
+  //gdSdO->GetYaxis()->SetTitle("d#sigma/d#Omega [mb/msr]");
+  gdSdO->GetYaxis()->SetTitle("Counts / msr");
+  gdSdO->GetYaxis()->SetTitleOffset(1.2);
+  gdSdO->GetYaxis()->SetTitleSize(0.04);
+  gdSdO->Draw();
+  c_dSdO->Update();
+
+///* TWOFNR diff. cross section, in mb/msr */ 
+//double meanTWOFNR = means.at(indexE);
+//if(meanTWOFNR > SnTWOFNR){meanTWOFNR = SnTWOFNR-0.001;}
+//TCanvas* c_TWOFNR = new TCanvas("c_TWOFNR","c_TWOFNR",500,500);
+//c_TWOFNR->SetLogy();
+//
+//TGraph* TheoryDiffCross;  TGraph* TheoryDiffCross2; 
+//TGraph* TDCS_s;  TGraph* TDCS_p;  TGraph* TDCS_d;  TGraph* TDCS_f;  TGraph* TDCS_g;  TGraph* TDCS_h;
+//if(comparingTWOFNRs==0){ //normal state
+//  TheoryDiffCross = TWOFNR(meanTWOFNR, Spin, nodes, spdf, angmom, J0); 
+//  TheoryDiffCross->GetYaxis()->SetTitle("d#sigma/d#Omega [mb/msr]"); //msr set in func above
+//  TheoryDiffCross->GetXaxis()->SetTitle("ThetaCM [deg]");
+//  TheoryDiffCross->Draw();
+
+//  if(doMix){
+//    TheoryDiffCross2 = TWOFNR(meanTWOFNR, Spin, nodes2, spdf2, angmom2, J0); 
+//    TheoryDiffCross2->SetLineColor(kBlue);
+//    TheoryDiffCross2->Draw("same");
+//  }
+
+//  /** TEMP **/
+//  if(loud){
+//    cout << "UNSCALED THEORY DIFF CROSS SECTION EVALUATED AT DATA POINTS:::" << endl;
+//    cout << setprecision(6);
+//    for(int i=0; i<numAngleBins; i++){
+//      cout << anglecentres.at(i) << "\t" << TheoryDiffCross->Eval(anglecentres.at(i)) << endl;
+//    }
+//    cout << setprecision(3);
+//    cout << "......................" << endl;
+//  }
+//} else { // running for ALL ell-transfers, to compare shape
+//  cout << " TWOFNR s-wave..." << endl;  TDCS_s = TWOFNR(meanTWOFNR, 2, 1, 0, 0.5, 2.5);  TDCS_s->SetTitle("TDCS_s");
+//  cout << " TWOFNR p-wave..." << endl;  TDCS_p = TWOFNR(meanTWOFNR, 0, 0, 1, 0.5, 0.5);  TDCS_p->SetTitle("TDCS_p");
+//  cout << " TWOFNR d-wave..." << endl;  TDCS_d = TWOFNR(meanTWOFNR, 0, 0, 2, 2.5, 2.5);  TDCS_d->SetTitle("TDCS_d");
+//  cout << " TWOFNR f-wave..." << endl;  TDCS_f = TWOFNR(meanTWOFNR, 1, 0, 3, 3.5, 2.5);  TDCS_f->SetTitle("TDCS_f");
+//  cout << " TWOFNR g-wave..." << endl;  TDCS_g = TWOFNR(meanTWOFNR, 2, 0, 4, 4.5, 2.5);  TDCS_g->SetTitle("TDCS_g");
+//  cout << " TWOFNR h-wave..." << endl;  TDCS_h = TWOFNR(meanTWOFNR, 3, 0, 5, 5.5, 2.5);  TDCS_h->SetTitle("TDCS_h");
+//}
+///** **** **/
+
+
+  // TESTING USING DWUCK4!
+  TCanvas* c_Thry = new TCanvas("c_Thry","c_Thry",500,500);
+  c_Thry->SetLogy();
+  
+  TGraph* TheoryDiffCross;  TGraph* TheoryDiffCross2; 
+  TheoryDiffCross = PullDWUCK4(means.at(indexE), Spin, nodes, spdf, angmom, J0, inPot, outPot); 
+  TheoryDiffCross->SetTitle("TheoryDiffCross");
+  TheoryDiffCross->SetName("TheoryDiffCross");
+  TheoryDiffCross->GetYaxis()->SetTitle("d#sigma/d#Omega [mb/sr]"); //DWUCK4 output coverted to mb/sr by qwackConvert
+  TheoryDiffCross->GetXaxis()->SetTitle("ThetaCM [deg]");
+  TheoryDiffCross->Draw();
+  if(doMix){
+    TheoryDiffCross2 = PullDWUCK4(means.at(indexE), Spin, nodes2, spdf2, angmom2, J0, inPot, outPot); 
+    TheoryDiffCross2->SetTitle("TheoryDiffCross2");
+    TheoryDiffCross2->SetName("TheoryDiffCross2");
+    TheoryDiffCross2->SetLineColor(kBlue);
+    TheoryDiffCross->Draw();  TheoryDiffCross2->Draw("same");
+  }
+
+  /* Using Chi2 minimizaiton */
+  if(loud){cout << "USING CHI2 MINIMIZAITON..." << endl;}
+  TCanvas* c_Chi2Min = new TCanvas("c_Chi2Min","c_Chi2Min",500,500);
+  gStyle->SetPadLeftMargin(0.12);
+  gStyle->SetPadRightMargin(0.03);
+
+  TPad *pad1 = new TPad("pad1","pad1",0,0,1,1);
+  pad1->SetTopMargin(0.1);
+  pad1->SetBottomMargin(0.1);
+  pad1->SetBorderMode(0);
+  pad1->SetLogy();
+  pad1->SetTickx();
+  pad1->SetTicky();
+  pad1->Draw();
+  pad1->cd();
+//TPad *pad1 = new TPad("pad1","pad1",0,0.25,1,1);
+//TPad *pad2 = new TPad("pad2","pad2",0,0,1,0.25);
+//pad1->SetTopMargin(0.1);
+//pad1->SetBottomMargin(0.00001);
+//pad1->SetBorderMode(0);
+//pad1->SetLogy();
+//pad1->SetTickx();
+//pad1->SetTicky();
+//pad2->SetTopMargin(0.00001);
+//pad2->SetBottomMargin(0.3);
+//pad2->SetBorderMode(0);
+//pad2->SetTickx();
+//pad2->SetTicky();
+//pad1->Draw();
+//pad2->Draw();
+//pad1->cd();
+
+  TGraph* Final;
+  TGraph* Fs; TGraph* Fp; TGraph* Fd; TGraph* Ff; TGraph* Fg; TGraph* Fh;
+//if(comparingTWOFNRs==0){ //normal state
+    TGraphErrors* gdSdO2 = new TGraphErrors(*gdSdO);
+    gdSdO2->SetName("gdSdO2");
+    gdSdO2->SetTitle("gdSdO2");
+
+
+    if(doMix){
+      Final = FindNormalisation(TheoryDiffCross,TheoryDiffCross2,gdSdO);
+    } else {
+      Final = FindNormalisation(TheoryDiffCross,gdSdO);
+    }
+
+    Final->SetName("Final");
+    Final->SetTitle("Final");
+
+    gdSdO->SetLineColor(kRed);
+    gdSdO->SetMarkerColor(kRed);
+    gdSdO->SetMarkerStyle(21);
+//} else { // running for ALL ell-transfers, to compare shape
+//  Fs = FindNormalisation(TDCS_s,gdSdO);
+//  Fp = FindNormalisation(TDCS_p,gdSdO);
+//  Fd = FindNormalisation(TDCS_d,gdSdO);
+//  Ff = FindNormalisation(TDCS_f,gdSdO);
+//  Fg = FindNormalisation(TDCS_g,gdSdO);
+//  Fh = FindNormalisation(TDCS_h,gdSdO);
+//  Fs->SetLineColor(kViolet);  
+//  Fp->SetLineColor(kRed);     
+//  Fd->SetLineColor(kGreen);   
+//  Ff->SetLineColor(kBlue);    Ff->SetLineStyle(7);
+//  Fg->SetLineColor(kCyan);    Fg->SetLineStyle(7);
+//  Fh->SetLineColor(kOrange);  Fh->SetLineStyle(7);
+//
+//  gdSdO->SetLineColor(kBlack);
+//  gdSdO->SetMarkerColor(kBlack);
+//  gdSdO->SetMarkerStyle(21);
+//}
+
+  /* Construct file name string */
+  /**/  ostringstream tempstream;
+  /**/  if(means.at(indexE)<1.0){tempstream << 0;}
+  /**/  tempstream << (int) (means.at(indexE)*1000);
+  /**/  tempstream << "_" << orbital; 
+  /**/  tempstream << "_spin" << Spin;
+  /**/  string tempstr = tempstream.str();
+  /* Construct hist title string */
+  /**/  ostringstream textstream;
+  /**/  textstream << std::fixed << setprecision(3);
+  /**/  textstream << "   " << means.at(indexE);
+  /**/  textstream << " MeV, ";
+  /**/  textstream <<  orbitalname;
+  /**/  textstream << ", spin " << (int)Spin;
+  /**/	textstream << " --> scale (not norm.) = " << globalS 
+  /**/	           << " +- " << globalSerr;
+  /**/	if(doMix){
+  /**/	  textstream << " & " << globalS2 
+  /**/	             << " +- " << globalSerr2;
+  /**/  }	
+  /**/  string textstring = textstream.str(); 
+
+  gdSdO->SetTitle(textstring.c_str());
+  gdSdO->GetYaxis()->SetTitleOffset(1.3);
+  gdSdO->GetYaxis()->SetTitleSize(0.042);
+  gdSdO->GetXaxis()->SetRangeUser(CSangleL,CSangleH); 
+  gdSdO->GetYaxis()->SetRangeUser(CSvertL,CSvertH); 
+  gdSdO->GetXaxis()->SetNdivisions(512,kTRUE);
+  gdSdO->GetXaxis()->CenterTitle();
+  gdSdO->GetYaxis()->CenterTitle();
+  gdSdO->Draw("AP");
+
+//if(comparingTWOFNRs==0){ //normal state
+    Final->Draw("SAME");
+//} else {
+//  Fs->Draw("SAME");
+//  Fp->Draw("SAME");
+//  Fd->Draw("SAME");
+//  Ff->Draw("SAME");
+//  Fg->Draw("SAME");
+//  Fh->Draw("SAME");
+//}
+
+//pad2->cd();
+//if(comparingTWOFNRs==0){ //normal state
+//  GenerateResidual(gdSdO,Final);
+//}
+
+  string savestring1 = "./C2S_Outputs/"+tempstr+".root";
+  string savestring2 = "./C2S_Outputs/"+tempstr+".pdf";
+  c_Chi2Min->SaveAs(savestring1.c_str());
+  c_Chi2Min->SaveAs(savestring2.c_str());
+
+  cout << YELLOW
+       << " -----  C2S = (2J+1)S = (2*" << (int)Spin << "+1)S = (" 
+       << (int)((2.*Spin)+1.) << ")S = " 
+       << ((2.*Spin)+1.) * globalS << "  ----- " 
+       << RESET << endl;
+
+
+  //delete c_AoSA;
+  //delete c_dSdO;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+// For simple states, don't require detailed choices
+void C2S(double Energy, double Spin, double spdf, double angmom, double binning, string option){
+  C2S(Energy, Spin, spdf, angmom, binning, option, 2.5, 19, 2.0, 106.0);
+}
+
+////////////////////////////////////////////////////////////////////////////////
+// Comparing one state to many TWOFNRs
+void C2S_CompareTWOFNRs(double Energy, double Spin, double spdf, double angmom, double binning, string option, double J0, double nAngB, double wAngB, double fAngB ){
+  comparingTWOFNRs = true;
+  C2S(Energy, Spin, spdf, angmom, binning, option, J0, nAngB, wAngB, fAngB);
+  comparingTWOFNRs = false;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+vector<vector<double>> GetExpDiffCross(double Energy){
+  cout << "========================================================" << endl;
+  vector<vector<double>> AllPeaks_OneGate;
+  vector<vector<double>> OnePeak_AllGates;
+  /****CHANGE ANGLE GATING****/
+  //double widthAngleBins = 2.5;
+  //double firstAngle = 105.;
+  /***************************/
+  double x[numAngleBins], y[numAngleBins];
+  //TList* list = new TList();
+
+  double trackScale = 0.0;
+  /* Determine scaling factor for PhaseSpace */
+  TCanvas* c_ExSubPSpace = new TCanvas("c_ExSubPSpace","c_ExSubPSpace",500,500);
+
+  //for(int i=0; i<1; i++){
+  for(int i=0; i<numAngleBins;i++){
+    double min = firstAngle + (i*widthAngleBins);
+    double max = min + widthAngleBins;
+    cout << GREEN << endl;
+    cout << "===================================" << endl;
+    cout << " RUNNING SUB AND FIT " << endl;
+    cout << "min: " << min << " max: " << max << endl;
+  
+    stringstream tmp; tmp << fixed << setprecision(0); 
+    tmp << "c_peakFits_" << min << "_" << max; 
+    string tmp2 = tmp.str();
+    TCanvas* c_peakFits = new TCanvas("c_peakFits",tmp2.c_str(),500,500);
+
+    /* Retrieve theta-gated Ex TH1F from file GateThetaLabHistograms.root */
+    /* To change angle gates, run GateThetaLab_MultiWrite() */
+    TH1F *gate; // HERE< TAKE VERSION WIH PSP ALREADY REMOVED!
+    //gate = PullThetaLabHistSubPSp(i,firstAngle,widthAngleBins,(int) widthAngleBins);
+    gate = PullThetaCMHistSubPSp(i,firstAngle,widthAngleBins,(int) widthAngleBins);
+
+    // Retrieve array containing all fits, for one angle gate. //
+    // Specific peak of interest selected from the vector by   //
+    // global variable indexE                                  //
+    gate->Draw();
+    AllPeaks_OneGate = FitKnownPeaks_RtrnArray(gate); 
+    
+
+    /* Write PS-subtracted spectrum to list */
+    //list->Add(gate);
+    //list->Add(c_peakFits);
+    gate->GetXaxis()->SetRangeUser(-1.0,+10.0);
+    string filename = "./C2S_Outputs/";
+    filename += tmp2 + ".root";
+    c_peakFits->SaveAs(filename.c_str());
+    //auto tempfile = new TFile(filename.c_str(),"UPDATE"); //Reopen newly made file
+    //auto templist = new TList();
+    //templist->Add();
+
+
+    /* Check correct OneGate vector is selected */
+    if(loud){
+      cout << "area of " << means.at(indexE) << " = "
+           << AllPeaks_OneGate[indexE][1] 
+	   << " +- " << AllPeaks_OneGate[indexE][2] 
+	   << endl;
+    }
+cout << "here.... indexE = " << indexE << endl;
+    /* Add min and max angle to end of relevant OneGate vector */
+    AllPeaks_OneGate[indexE].push_back(min);
+    AllPeaks_OneGate[indexE].push_back(max);
+
+cout << "here...." << endl;
+    /* Push relevant OneGate vector to end of AllGates vector */
+    OnePeak_AllGates.push_back(AllPeaks_OneGate[indexE]);
+    //delete c_peakFits; 
+  }
+
+cout << "here...." << endl;
+  /* Write PS-subtracted spectrum to file */
+  //TFile* outfile = new TFile("GateThetaLab_ExMinusGatePhaseSpace.root","RECREATE");
+  //list->Write("GateThetaLab_ExMinusPhaseSpace",TObject::kSingleKey);
+
+cout << "here...." << endl;
+  return OnePeak_AllGates;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+TH1F* PullThetaCMHistSubPSp(int i, double minTheta, double gatesize, int angBinSize){
+  string name = "./C2S_Outputs/GateThetaCMHist_ExpSubPSp_" + to_string(angBinSize) + "deg_0p005.root";
+  TFile* file = new TFile(name.c_str(),"READ");
+  string histname = "TCM" 
+	          + to_string((int)(minTheta+(i*gatesize))) + "to" 
+		  + to_string((int)(minTheta+((i+1)*gatesize)));
+  cout << "Loading " << name << " -> " << histname << endl;
+  
+  TList *list = (TList*)file->Get("GateThetaCMHistograms");
+  TH1F* hist = (TH1F*)list->FindObject(histname.c_str());
+  hist->GetXaxis()->SetRangeUser(-2.,10.);
+
+  double pulledBin = hist->GetBinWidth(10);
+  int ratio = (int)(globalBinning / pulledBin);
+  hist->Rebin(ratio);
+  file->Close();
+
+  return hist;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void Scale(TGraph* g , TGraphErrors* ex){
+  double scale;
+  double mean = 0 ;
+  double* eX = ex->GetX();
+  double* eY = ex->GetY();
+  double totalW = 0;
+  double W = 0;
+  for(int i = 0 ; i < ex->GetN() ; i++){
+    if(eY[i]>1 && eY[i] <1e4){
+      // Incremental Error weighted average
+      W = 1./ex->GetErrorY(i);
+      scale = eY[i]/g->Eval(eX[i]);
+      totalW +=W;
+      mean = mean + W*(scale - mean)/(totalW);
+    }
+  }
+
+  //scaleTWOFNR = mean;
+  if(loud){
+    cout << "SCALED THEORY BY " << mean << endl;
+    cout << " therefore S = " << 1/mean << " ??" << endl;
+  }
+  
+  double* x = g->GetX();
+  double* y = g->GetY();
+  for(unsigned int i = 0 ; i < g->GetN() ; i++)
+    g->SetPoint(i,x[i],y[i]*mean);
+}
+
+////////////////////////////////////////////////////////////////////////////////
+double Chi2(TGraph* theory, TGraphErrors* exper){
+  double Chi2 = 0;
+  double chi = 0;
+
+  //cout << setprecision(8);
+  //for(int i = 1 ; i < exper->GetN() ; i++){
+  for(int i = 0 ; i < exper->GetN() ; i++){
+    if(exper->GetPointY(i)>1.0e-4){//10){ //0){
+//      cout << setprecision(6) 
+//	   << "COMPARE::::: " 
+//	   << exper->GetPointY(i) << " +- " << exper->GetErrorY(1) 
+//	   << " TO " 
+//	   << theory->Eval(anglecentres[i]) 
+//	   << endl;
+    
+      //////////////////////////////////////////////////////////////////////////////////////////
+      // ---------------------------------------------------------------------------------------
+      // | Louis Lyons pg 102:
+      // |   Least squares should minimize sum(y_obs - y_th / err)^2
+      // |   Err SHOULD in principle be error in THEORY
+      // |   However it is common practive to use error in OBS for various reasons (pg 103-104)
+      // ---------------------------------------------------------------------------------------
+      //////////////////////////////////////////////////////////////////////////////////////////
+
+      //Chi2 += pow((exper->GetPointY(i) - theory->Eval(anglecentres[i])), 2 ) / theory->Eval(anglecentres[i]);
+      Chi2 += pow(((exper->GetPointY(i) - theory->Eval(anglecentres[i]))) / exper->GetErrorY(i) , 2 );
+    }
+  }
+  if(loud){cout << setprecision(10) << "Chi2 = " << Chi2 << "  #dof = " << exper->GetN()-1 << "   Chi2/#dof = " << Chi2/(double)exper->GetN()-1 << setprecision(4)<< endl;}
+  return Chi2;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+double ToMininize(const double* parameter){
+  static int f = 0 ;
+  TGraph* g = new TGraph();
+  if(doMix){
+    double* X = currentThry->GetX(); // gets valies from global g1 = tgraph passed to find norm
+    double* Y1 = currentThry->GetY();
+    double* Y2 = currentThry2->GetY();
+    for(int i = 0 ; i < currentThry->GetN() ; i++){
+      g->SetPoint(g->GetN(),X[i],parameter[0]*Y1[i] + parameter[1]*Y2[i]); // scales this tgraph by parameter
+    }
+  } else {
+    double* X = currentThry->GetX(); // gets valies from global g1 = tgraph passed to find norm
+    double* Y = currentThry->GetY();
+    for(int i = 0 ; i < currentThry->GetN() ; i++){
+      g->SetPoint(g->GetN(),X[i],parameter[0]*Y[i]); // scales this tgraph by parameter
+    }
+  }
+
+  double chi2  = Chi2(g,staticExp);  //compares theory tgraph to experimental tgrapherrors by chi2
+  return chi2;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+TGraph* FindNormalisation(TGraph* theory, TGraphErrors* experiment){
+  /* (dSdO)meas = S * (dSdO)calc */
+
+  // Set global variable
+  currentThry = theory;
+  staticExp = experiment;
+
+  // Construct minimiser
+  const char* minName ="Minuit";const char* algoName="Migrad";
+  ROOT::Math::Minimizer* min =
+    ROOT::Math::Factory::CreateMinimizer(minName, algoName);
+  min->SetValidError(true);
+
+  // Number of parameters (should only be 1 for me)
+  int mysize = 1;
+
+  // Create funciton wrapper for minimizer
+  // a IMultiGenFunction type
+  ROOT::Math::Functor f(&ToMininize,mysize);
+  min->SetFunction(f);
+
+  //int SpecFactorUpperLimit = 2;
+  int SpecFactorUpperLimit = 100;
+
+  // Set range of parameter(??)
+  double* parameter = new double[mysize];
+  for(unsigned int i = 0 ; i < mysize ; i++){
+    parameter[i] = 0.5;
+    char name[4];
+    sprintf(name,"S%d",i+1);
+    min->SetLimitedVariable(i,name,parameter[i],0.01,0,SpecFactorUpperLimit);
+  }
+ 
+  //min->SetPrintLevel(3);
+
+  ///// TO IMPROVE: FIND WAY OF OBTAINING NDF AND PRINT CHI2/NDF /////
+
+  // Minimise
+  min->ProvidesError();
+  min->SetValidError(true);
+  min->Minimize();
+  const double *xs = min->X();
+  const double *err = min->Errors(); 
+
+  cout << "IS THE MINIMIZATION GOOD? -> " << min->IsValidError() << endl;
+
+  // Write out
+  for(int i = 0  ; i < mysize ; i++){
+    cout << Form("S%d=",i+1) << xs[i] << "(" << err[i] << ")" << endl;
+  }
+
+  /* Store S value in global variable, to access for drawing on plots */
+  globalS = xs[0];
+  globalSerr = err[0];
+
+  // Return the Fitted CS
+  TGraph* g = new TGraph(); 
+  double* X = theory->GetX();
+  double* Y = theory->GetY();
+  if(loud){
+    cout << setprecision(8);
+    cout << "Start: X[0] = " << theory->GetPointX(4) << " Y[0] = " << theory->GetPointY(4) << endl;
+    cout << "multip by " << xs[0] << endl;
+  }
+  
+  for(int i=0; i<theory->GetN(); i++){ g->SetPoint(i,X[i],xs[0]*Y[i]); }
+
+  if(loud){
+    cout << "End:   X[0] = " << g->GetPointX(4) << " Y[0] = " << g->GetPointY(4) << endl;
+    cout << setprecision(3);
+  }
+
+  return g;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+TGraph* FindNormalisation(TGraph* theory, TGraph* theory2, TGraphErrors* experiment){
+  /* (dSdO)meas = S * (dSdO)calc */
+
+  // Set global variable
+  currentThry = theory;
+  currentThry2 = theory2;
+  staticExp = experiment;
+
+  // Construct minimiser
+  const char* minName ="Minuit";const char* algoName="Migrad";
+  ROOT::Math::Minimizer* min =
+    ROOT::Math::Factory::CreateMinimizer(minName, algoName);
+  min->SetValidError(true);
+
+  // Number of parameters (should only be 1 for me)
+  int mysize = 1;
+  if(doMix){mysize=2;}
+
+  // Create funciton wrapper for minimizer
+  // a IMultiGenFunction type
+  ROOT::Math::Functor f(&ToMininize,mysize);
+  min->SetFunction(f);
+ 
+  // Set range of parameter(??)
+  double* parameter = new double[mysize];
+  for(unsigned int i = 0 ; i < mysize ; i++){
+    //parameter[i] = 0.8;
+    parameter[i] = 10.;
+    char name[4];
+    sprintf(name,"S%d",i+1);
+    //min->SetLimitedVariable(i,name,parameter[i],0.01,0,10);
+    min->SetLimitedVariable(i,name,parameter[i],0.01,0,20);
+  }
+ 
+  // Minimise
+  min->Minimize();
+  const double *xs = min->X();
+  const double *err = min->Errors(); 
+
+  // Write out
+  for(int i = 0  ; i < mysize ; i++){
+    cout << Form("S%d=",i+1) << xs[i] << "(" << err[i] << ")" << endl;
+  }
+
+  /* Store S value in global variable, to access for drawing on plots */
+  globalS = xs[0];
+  globalSerr = err[0];
+  globalS2 = xs[1];
+  globalSerr2 = err[1];
+
+  // Return the Fitted CS
+  TGraph* g = new TGraph(); 
+  double* X = theory->GetX();
+  double* Y1 = theory ->GetY();
+  double* Y2 = theory2->GetY();
+  if(loud){
+    cout << setprecision(8);
+    cout << "Start: X[0] = " << theory->GetPointX(4) << " Y[0] = " << theory->GetPointY(4) << endl;
+    cout << "multip by " << xs[0] << endl;
+    cout << "Start: X[1] = " << theory2->GetPointX(4) << " Y[0] = " << theory2->GetPointY(4) << endl;
+    cout << "multip by " << xs[1] << endl;
+  }
+  
+  for(int i=0; i<theory->GetN(); i++){
+    g->SetPoint(i, X[i], xs[0]*Y1[i] + xs[1]*Y2[i]); 
+  }
+
+  if(loud){
+    cout << "End:   X    = " << g->GetPointX(4) << " Y    = " << g->GetPointY(4) << endl;
+    cout << setprecision(3);
+  }
+
+  return g;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void C2S(double Energy, double Spin, double spdf, double angmom, double binning, double GammaGateEnergy){
+  GammaGate=true;
+  globGammaGate = GammaGateEnergy;
+
+  C2S(Energy, Spin, spdf, angmom, binning, "");
+}
diff --git a/Projects/e775s/analysis/Plots_ConvoluteBreitWignerGaus.h b/Projects/e775s/analysis/Plots_ConvoluteBreitWignerGaus.h
new file mode 100644
index 0000000000000000000000000000000000000000..1d746a0a23acd58aef716a008ed3036824003a5d
--- /dev/null
+++ b/Projects/e775s/analysis/Plots_ConvoluteBreitWignerGaus.h
@@ -0,0 +1,84 @@
+
+//RIPPED FROM : https://roottalk.root.cern.narkive.com/416EXmkI/root-breit-wigner-convoluted-with-a-gaussian
+
+
+Double_t breitgausfun(Double_t *x, Double_t *par)
+{
+  //Fit parameters:
+  //par[0]=Width (scale) Breit-Wigner
+  //par[1]=Most Probable (MP, location) Breit mean
+  //par[2]=Total area (integral -inf to inf, normalization constant)
+  //par[3]=Width (sigma) of convoluted Gaussian function
+  //
+  //In the Landau distribution (represented by the CERNLIB approximation),
+  //the maximum is located at x=-0.22278298 with the location parameter=0.
+  //This shift is corrected within this function, so that the actual
+  //maximum is identical to the MP parameter.
+  
+  // Numeric constants
+  Double_t invsq2pi = 0.3989422804014; // (2 pi)^(-1/2)
+  Double_t twoPi = 6.2831853071795;//2Pi
+  
+  // Control constants
+  Double_t np = 100.0; // number of convolution steps
+  Double_t sc = 4; // convolution extends to +-sc Gaussian sigmas
+  
+  // Variables
+  Double_t xx;
+  Double_t fland;
+  Double_t sum = 0.0;
+  Double_t xlow,xupp;
+  Double_t step;
+  Double_t i;
+  
+  
+  // Range of convolution integral
+  xlow = x[0] - sc * par[3];
+  xupp = x[0] + sc * par[3];
+  
+  step = (xupp-xlow) / np;
+  
+  // Convolution integral of Breit and Gaussian by sum
+  for(i=1.0; i<=np/2; i++) {
+  xx = xlow + (i-.5) * step;
+  fland = TMath::BreitWigner(xx,par[1],par[0]);
+  sum += fland * TMath::Gaus(x[0],xx,par[3]);
+  
+  xx = xupp - (i-.5) * step;
+  fland = TMath::BreitWigner(xx,par[1],par[0]);
+  sum += fland * TMath::Gaus(x[0],xx,par[3]);
+  }
+  
+  return (par[2] * step * sum * invsq2pi / par[3]);
+}
+
+
+void Generate_BreitWignerGaus()
+{
+  TH1F *bwgauss = new TH1F("bwgaus","", 15000, -2, 13);
+  TF1 *f = new TF1("f",breitgausfun, 0, 130 ,4);
+  
+  double resonanceWidth = 0.22;
+  //double gaussianResolution = 0.11;
+  double gaussianResolution = 0.00001;
+  double centroidEnergy = 8.561;
+  double areaToSim = 500000;
+
+  Double_t par[4];
+  par[0] = resonanceWidth;     // Resonance width = 220 keV
+  par[1] = centroidEnergy;     // State mean
+  par[2] = areaToSim;          // Total area
+  par[3] = gaussianResolution; // Resolution = 0.11 MeV
+  
+  f->SetParameters(par);
+  f->FixParameter(0, resonanceWidth);
+  f->FixParameter(1, centroidEnergy);
+  f->FixParameter(3, gaussianResolution);
+  
+  
+  bwgauss->FillRandom("f", (int)areaToSim);
+  bwgauss->Fit(f, "RBO");
+
+}
+//////////////////////////////////////////////////////////////////////
+
diff --git a/Projects/e775s/analysis/Plots_Experiment.C b/Projects/e775s/analysis/Plots_Experiment.C
index 660a60ce3bb2af2e9e9afe31b827e6524c4b3332..8f4f538691b4a2bd910717bfe2c3519659c46fe6 100644
--- a/Projects/e775s/analysis/Plots_Experiment.C
+++ b/Projects/e775s/analysis/Plots_Experiment.C
@@ -1,30 +1,54 @@
 #include "Plots_Functions.h"
-#include "Plots_C2SFunctions.h"
+//#include "Plots_C2SFunctions.h"
+#include "Plots_C2SFunctions_ThetaCM.h"
 #include "Plots_ParryFunctions.h"
 #include "Plots_ConvoluteBreitWignerGaus.h"
 
+//void C2S(){
+//  cout << "======================================" << endl;
+//  cout << " Run C2S:" << endl;
+//  cout << " C2S( Ex, Spin, L, J, ExBin, \"option\", SpinIn, nAngB, wAngBin, fAngBin) " << endl;
+//  cout << "   standard values:                      2.5,    25,    2,       106  " << endl;
+//  cout << "======================================" << endl;
+//  cout << " -- 0.000 MeV, 0+, d5/2:  C2S(0.000,0,2,2.5,0.02,\"     \",2.5,17,2,116)  low&high angs bad" << endl;
+//  cout << " -- 1.675 MeV, 2+, d5/2:  C2S(1.675,2,2,2.5,0.02,\"     \",2.5,21,2,106)  high angs bad" << endl;
+//  cout << " -- 3.572 MeV, 4+, d5/2:  C2S(3.572,4,2,2.5,0.02,\"     \",2.5,24,2,106)  " << endl;
+//  cout << " -- 4.071 MeV, 2+, sdmx:  C2S(4.071,2,0,0.5,0.02,\"mixed\",2.5,24,2,106)" << endl;
+//  cout << " -- 4.456 MeV, 0+, xx/2:  C2S(4.456,0,2,2.5,0.02,\"     \",2.5, 7,6,106)   6p-2h state" << endl;
+//  cout << " -- 5.004 MeV, ?+, xx/2:  C2S(5.004,2,2,2.5,0.02,\"     \",2.5, 8,6,106)   " << endl;
+//  cout << " -- 5.228 MeV, ?+, s1/2:  C2S(5.228,2,0,0.5,0.02,\"mixed\",2.5,24,2,106)" << endl;
+//  cout << " -- 5.629 MeV, ?+, xx/2:  C2S(5.629,2,2,2.5,0.02,\"mixed\",2.5,24,2,106)" << endl;
+//  cout << " -- 7.252 MeV, 5-? xx/2:  C2S(7.252,5,2,1.5,0.02,\"     \",1.0,12,2,106)   Tilley: h-wave, but we pop via d-wave! 3/2 or 5/2?" << endl;
+//  cout << " -- 7.622 MeV, 4+? xx/2:  C2S(7.622,4,2,1.5,0.02,\"     \",2.5,11,2,106)" << endl;
+//  cout << " -- 7.855 MeV, 5-? xx/2:  C2S(7.855,2,0,0.5,0.02,\"     \",2.5,11,2,106) looks s-wave?? how?? 5- accoring to LaFrance" << endl;
+//  cout << " -- 8.313 MeV, ??? xx/2:  C2S(8.313,4,2,1.5,0.02,\"     \",2.5, 5,4,106)" << endl;
+//  cout << " -- 8.561 MeV, ??? xx/2:  C2S(8.561,4,2,1.5,0.02,\"     \",2.5, 9,2,106)" << endl;
+//  cout << "======================================" << endl;
+//}
+
 void C2S(){
   cout << "======================================" << endl;
   cout << " Run C2S:" << endl;
   cout << " C2S( Ex, Spin, L, J, ExBin, \"option\", SpinIn, nAngB, wAngBin, fAngBin) " << endl;
   cout << "   standard values:                      2.5,    25,    2,       106  " << endl;
   cout << "======================================" << endl;
-  cout << " -- 0.000 MeV, 0+, d5/2:  C2S(0.000,0,2,2.5,0.02,\"     \",2.5,17,2,116)  low&high angs bad" << endl;
-  cout << " -- 1.675 MeV, 2+, d5/2:  C2S(1.675,2,2,2.5,0.02,\"     \",2.5,21,2,106)  high angs bad" << endl;
-  cout << " -- 3.572 MeV, 4+, d5/2:  C2S(3.572,4,2,2.5,0.02,\"     \",2.5,24,2,106)  " << endl;
-  cout << " -- 4.071 MeV, 2+, sdmx:  C2S(4.071,2,0,0.5,0.02,\"mixed\",2.5,24,2,106)" << endl;
-  cout << " -- 4.456 MeV, 0+, xx/2:  C2S(4.456,0,2,2.5,0.02,\"     \",2.5, 7,6,106)   6p-2h state" << endl;
-  cout << " -- 5.004 MeV, ?+, xx/2:  C2S(5.004,2,2,2.5,0.02,\"     \",2.5, 8,6,106)   " << endl;
-  cout << " -- 5.228 MeV, ?+, s1/2:  C2S(5.228,2,0,0.5,0.02,\"mixed\",2.5,24,2,106)" << endl;
-  cout << " -- 5.629 MeV, ?+, xx/2:  C2S(5.629,2,2,2.5,0.02,\"mixed\",2.5,24,2,106)" << endl;
-  cout << " -- 7.252 MeV, 5-? xx/2:  C2S(7.252,5,2,1.5,0.02,\"     \",1.0,12,2,106)   Tilley: h-wave, but we pop via d-wave! 3/2 or 5/2?" << endl;
-  cout << " -- 7.622 MeV, 4+? xx/2:  C2S(7.622,4,2,1.5,0.02,\"     \",2.5,11,2,106)" << endl;
-  cout << " -- 7.855 MeV, 5-? xx/2:  C2S(7.855,2,0,0.5,0.02,\"     \",2.5,11,2,106) looks s-wave?? how?? 5- accoring to LaFrance" << endl;
-  cout << " -- 8.313 MeV, ??? xx/2:  C2S(8.313,4,2,1.5,0.02,\"     \",2.5, 5,4,106)" << endl;
-  cout << " -- 8.561 MeV, ??? xx/2:  C2S(8.561,4,2,1.5,0.02,\"     \",2.5, 9,2,106)" << endl;
+  cout << " -- 0.000 MeV, 0+, d5/2:  C2S(0.000,0,2,2.5,0.02,\"     \",2.5,21,1,12)" << endl;
+  cout << " -- 1.675 MeV, 2+, d5/2:  C2S(1.675,2,2,2.5,0.02,\"     \",2.5,25,1,14)" << endl;
+  cout << " -- 3.572 MeV, 4+, d5/2:  C2S(3.572,4,2,2.5,0.02,\"     \",2.5,27,1,10)" << endl;
+  cout << " -- 4.071 MeV, 2+, sdmx:  C2S(4.071,2,0,0.5,0.02,\"mixed\",2.5,26,1,10)" << endl;
+  cout << " -- 4.456 MeV, 0+, xx/2:  C2S(4.456,0,2,2.5,0.02,\"     \",2.5,12,2,12)   6p-2h state" << endl;
+  cout << " -- 5.004 MeV, ?+, xx/2:  C2S(5.004,2,2,2.5,0.02,\"     \",2.5,24,1,11)" << endl;
+  cout << " -- 5.228 MeV, ?+, s1/2:  C2S(5.228,2,0,0.5,0.02,\"     \",2.5,24,1,10)" << endl;
+  cout << " -- 5.629 MeV, ?+, xx/2:  C2S(5.629,2,2,2.5,0.02,\"mixed\",2.5,23,1,10)" << endl;
+  cout << " -- 7.252 MeV, 5-? xx/2:  C2S(7.252,5,2,1.5,0.02,\"     \",1.0,14,1,16)   Tilley: h-wave, but we pop via d-wave! 3/2 or 5/2?" << endl;
+  cout << " -- 7.622 MeV, 4+? xx/2:  C2S(7.622,4,2,1.5,0.02,\"     \",2.5,13,1,16)" << endl;
+  cout << " -- 7.855 MeV, 5-? xx/2:  C2S(7.855,2,0,0.5,0.02,\"     \",2.5,11,1,18) 5- accoring to LaFrance" << endl;
+  cout << " -- 8.313 MeV, ??? xx/2:  C2S(8.313,4,2,1.5,0.02,\"     \",2.5, 5,2,14)" << endl;
+  cout << " -- 8.561 MeV, ??? xx/2:  C2S(8.561,4,2,1.5,0.02,\"     \",2.5,10,1,16)" << endl;
   cout << "======================================" << endl;
 }
 
+
 void Plots_Experiment(){
 
   //Load in files
diff --git a/Projects/e775s/analysis/Plots_Functions.h b/Projects/e775s/analysis/Plots_Functions.h
index 2e707ab4b1e0a81b3740d929078478bbad32b41c..3e808ef5a60375a127eb2ad66417ff5a76371472 100644
--- a/Projects/e775s/analysis/Plots_Functions.h
+++ b/Projects/e775s/analysis/Plots_Functions.h
@@ -1262,6 +1262,63 @@ void GateThetaLab_MultiWrite_SubPSp(double startTheta, int numGates, double gate
   file->ls();
 }
 
+//////////////////////////////////////////////////////////////////////////////////////
+void GateThetaCM_MultiWrite_SubPSp(double startTheta, int numGates, double gatesize, double ExBinsize)
+{
+  double finishTheta = startTheta + (numGates * gatesize);
+
+  LoadChain_PhaseSpace();
+  TChain* treePSp = tree_PSp00;
+
+  string drawbase = to_string(numGates) 
+		    + "," + to_string(startTheta) + "," + to_string(finishTheta) + ","
+		    + to_string(20.0/ExBinsize)
+		    + ",-5,15)";
+  string drawgood = "Ex:ThetaCM>>hGood(" + drawbase;
+  string drawbad  = "Ex:ThetaCM>>hBad("  + drawbase;
+  string drawpsp  = "Ex:ThetaCM>>hPSp("  + drawbase;
+		    
+  tree_both->Draw(drawgood.c_str(),"abs(T_FPMW_HF-13300)<1500 && Mugast.TelescopeNumber<9","colz");
+  TH2F* hGood = (TH2F*) gDirectory->Get("hGood");
+  
+  tree_both->Draw(drawbad.c_str(), "abs(T_FPMW_HF-10300)<1500 && Mugast.TelescopeNumber<9","colz");
+  TH2F* hBad  = (TH2F*) gDirectory->Get("hBad");
+
+  TH2F* hClean = (TH2F*) hGood->Clone();
+  hClean->SetTitle("hClean");
+  hClean->SetName("hClean");
+  hClean->Add(hBad,-1);
+  hClean->Draw("colz");
+  
+  treePSp->Draw(drawpsp.c_str(),"EventWeight*(Mugast.TelescopeNumber<10)","colz");
+  TH2F* hPSp  = (TH2F*) gDirectory->Get("hPSp");  hPSp->SetTitle("hPSp");  hPSp->SetName("hPSp");
+//double scale = 0.134256; cout << GREEN << " USING SCALING FROM DrawEx_SubPSp, SCALE =  " << scale << RESET << endl;
+//double scale = 0.00113356; cout << GREEN << " USING SCALING FROM DrawEx_SubPSp, SCALE =  " << scale << RESET << endl;
+  double scale = 0.00216125; cout << GREEN << " USING SCALING FROM DrawEx_SubPSp, SCALE =  " << scale << RESET << endl;
+  
+  hClean->Add(hPSp, -scale);
+
+  string ytitle = "Counts / " + to_string(ExBinsize) + " MeV";
+  TList* list = new TList();
+
+  for (int i=0; i<numGates; i++){
+    cout << "Writing gate " << i+1 << "/" << numGates << endl;
+    double minTheta = startTheta + (i * gatesize);
+    string title = "TCM"+to_string((int) minTheta)+"to"+to_string((int) (minTheta+gatesize));
+
+    TH1F* Ex_ThetaCMGate = (TH1F*) hClean->ProjectionY(title.c_str(), i, i+1, "");
+    Ex_ThetaCMGate->GetXaxis()->SetTitle("Ex [MeV]");
+    Ex_ThetaCMGate->GetYaxis()->SetTitle(ytitle.c_str());
+    Ex_ThetaCMGate->Sumw2();
+    Ex_ThetaCMGate->SetTitle(title.c_str());
+    list->Add(Ex_ThetaCMGate);
+  }
+
+  TFile* file = new TFile("./C2S_Outputs/GateThetaCMHist_Experiment.root","RECREATE");
+  list->Write("GateThetaCMHistograms",TObject::kSingleKey);
+  file->ls();
+}
+
 //////////////////////////////////////////////////////////////////////////////////////
 void GatePhaseSpace_MultiWrite(double startTheta, int numGates, double gatesize, double ExBinsize)
 {
diff --git a/Projects/e775s/analysis/Plots_KnownPeakFitter.h b/Projects/e775s/analysis/Plots_KnownPeakFitter.h
index b7e965cb54b413d6c87a44cbf9f7934c4371289d..87cd091fd4f963b2ac91af6e73df15838ae8ad9e 100644
--- a/Projects/e775s/analysis/Plots_KnownPeakFitter.h
+++ b/Projects/e775s/analysis/Plots_KnownPeakFitter.h
@@ -107,7 +107,7 @@ vector<vector<double>> FitKnownPeaks_RtrnArray(TH1F* hist){
                     + to_string(3*numGauss + i + 2) 
 		    + "])";
   }
-  cout << s_full << endl;
+//cout << s_full << endl;
   TF1 *full = new TF1("fitAllPeaks",s_full.c_str(),minfit, maxfit);
   full->SetLineColor(kRed);
   full->SetNpx(500);
@@ -126,14 +126,14 @@ vector<vector<double>> FitKnownPeaks_RtrnArray(TH1F* hist){
     full->SetParLimits((3*numGauss)+i+2, 0.0,1.0);
     full->SetParameter((3*numGauss)+i+3, 1e2);
     full->SetParLimits((3*numGauss)+i+3, 0.0,1e8);
-    cout << "fixing " << (3*numGauss)+i+ 0 << " to " << meansVoigt.at(i) << " and " << (3*numGauss)+i+1 << " to " << GetSigmaFromFunction(meansVoigt.at(i)) << endl;
+    //cout << "fixing " << (3*numGauss)+i+ 0 << " to " << meansVoigt.at(i) << " and " << (3*numGauss)+i+1 << " to " << GetSigmaFromFunction(meansVoigt.at(i)) << endl;
   }
 
 
-cout << " BEFORE FIT" << endl;
+//cout << " BEFORE FIT" << endl;
   // Fit full function
   hist->Fit(full, "RWQB", "", minfit, maxfit);
-cout << " AFTER FIT" << endl;
+//cout << " AFTER FIT" << endl;
   
   // Extract parameters
   const Double_t* finalPar = full->GetParameters();
@@ -144,7 +144,7 @@ cout << " AFTER FIT" << endl;
 			       finalPar[2+(i*3)]);
     allPeaks[i]->SetLineColor(kOrange);
   }
-cout << " MID EXTRACTION" << endl;
+//cout << " MID EXTRACTION" << endl;
   for(int i=0; i<numVoigt; i++){
     allPeaks[numGauss+i]->SetParameters(finalPar[0+i+(numGauss*3)],
                                         finalPar[1+i+(numGauss*3)],
@@ -152,7 +152,7 @@ cout << " MID EXTRACTION" << endl;
 			                finalPar[3+i+(numGauss*3)]);
 //  allPeaks[i]->SetLineColor(kOrange);
   }
-cout << " AFTER EXTRACTION" << endl;
+//cout << " AFTER EXTRACTION" << endl;
  
   //Draw all peaks
   hist->Draw();
@@ -161,8 +161,8 @@ cout << " AFTER EXTRACTION" << endl;
   }
 
   //Write to screen
-  cout << "===========================" << endl;
-  cout << "== PEAK =========== AREA ==" << endl;
+  //cout << "===========================" << endl;
+  //cout << "== PEAK =========== AREA ==" << endl;
   
   //Loop over every peak
   vector<vector<double>> allpeaks;
@@ -171,40 +171,40 @@ cout << " AFTER EXTRACTION" << endl;
     double A = (finalPar[0+(i*3)] * finalPar[2+(i*3)] * sqrt(2*pi)) / binwidth;
 
     double deltaA = A * sqrt( pow( finalErr[0+(i*3)]/finalPar[0+(i*3)] ,2) + pow( finalErr[2+(i*3)]/finalPar[2+(i*3)] ,2) );
-    cout << "DELTAAREA = " 
-	 << finalErr[0+(i*3)] << " / " 
-	 << finalPar[0+(i*3)] << " and "
-	 << finalErr[2+(i*3)] << " / " 
-	 << finalPar[2+(i*3)] << " = " 
-	 << deltaA << endl;
-
-    cout << fixed << setprecision(3) 
-	 << " #" << i << "  " 
-	 << finalPar[(i*3)+1] << "\t" << setprecision(0)
-	 << A << "\t+- " 
-	 << deltaA << setprecision(3);
-    cout << "    SQRT: " << sqrt(A) << endl;
+    //cout << "DELTAAREA = " 
+    //     << finalErr[0+(i*3)] << " / " 
+    //     << finalPar[0+(i*3)] << " and "
+    //     << finalErr[2+(i*3)] << " / " 
+    //     << finalPar[2+(i*3)] << " = " 
+    //     << deltaA << endl;
+    //
+    //cout << fixed << setprecision(3) 
+    //     << " #" << i << "  " 
+    //     << finalPar[(i*3)+1] << "\t" << setprecision(0)
+    //     << A << "\t+- " 
+    //     << deltaA << setprecision(3);
+    //cout << "    SQRT: " << sqrt(A) << endl;
 
     vector<double> onepeak; //energy, area and error for one peak
     onepeak.push_back(finalPar[(i*3)+1]);
     onepeak.push_back(A);
     onepeak.push_back(deltaA);
     allpeaks.push_back(onepeak);
-    cout << "-------------" << endl;
+    //cout << "-------------" << endl;
   }
   for(int i=0; i<numVoigt; i++){
     //For AREA = ?????????????????
     //double A = 
 
-    cout << "voigt funciton is area of unity" << endl;
-    cout << "therefore area of peaks is multiplier/binwidth = " << finalPar[(numGauss*3)+i+3]/binwidth << endl;
-
-    cout << fixed << setprecision(3) 
-	 << " #" << numGauss+i << "  " 
-	 << finalPar[(numGauss*3)+i+0] << "\t" << setprecision(0)
-	 << finalPar[(numGauss*3)+i+3] / binwidth << "\t+- " 
-	 << finalErr[(numGauss*3)+i+3] / binwidth << setprecision(3);
-    cout << "    SQRT: " << sqrt(finalPar[(numGauss*3)+i+3]) << endl;
+    //cout << "voigt funciton is area of unity" << endl;
+    //cout << "therefore area of peaks is multiplier/binwidth = " << finalPar[(numGauss*3)+i+3]/binwidth << endl;
+    // 
+    //cout << fixed << setprecision(3) 
+    //     << " #" << numGauss+i << "  " 
+    //     << finalPar[(numGauss*3)+i+0] << "\t" << setprecision(0)
+    //     << finalPar[(numGauss*3)+i+3] / binwidth << "\t+- " 
+    //     << finalErr[(numGauss*3)+i+3] / binwidth << setprecision(3);
+    //cout << "    SQRT: " << sqrt(finalPar[(numGauss*3)+i+3]) << endl;
 
     vector<double> onepeak; //energy, area and error for one peak
     onepeak.push_back(finalPar[(numGauss*3)+i+0]);
@@ -212,14 +212,14 @@ cout << " AFTER EXTRACTION" << endl;
     onepeak.push_back(finalErr[(numGauss*3)+i+3]/binwidth);
     allpeaks.push_back(onepeak);
 
-    cout << " VOIGT PEAK #" << i << " FUNCTION VALUES: [0] =" << finalPar[(numGauss*3)+i+0] << " , [1] = "
-                                                              << finalPar[(numGauss*3)+i+1] << " , [2] = " 
-                                                              << finalPar[(numGauss*3)+i+2] << " , [3] = " 
-                                                              << finalPar[(numGauss*3)+i+3] << endl; 
-    cout << "-------------" << endl;
+    //cout << " VOIGT PEAK #" << i << " FUNCTION VALUES: [0] =" << finalPar[(numGauss*3)+i+0] << " , [1] = "
+    //                                                          << finalPar[(numGauss*3)+i+1] << " , [2] = " 
+    //                                                          << finalPar[(numGauss*3)+i+2] << " , [3] = " 
+    //                                                          << finalPar[(numGauss*3)+i+3] << endl; 
+    //cout << "-------------" << endl;
   }
 
-  cout << "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! " << allpeaks.size() << endl;
+  //cout << "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! " << allpeaks.size() << endl;
 
   //if(removing){
   //  for(int b=1; b<hist->GetNbinsX()-1; b++){
diff --git a/Projects/e775s/analysis/Plots_TWOFNR.h b/Projects/e775s/analysis/Plots_TWOFNR.h
index 10b315e913a1af9bf250ee1fc140c1575c500526..4ceca3fd808386f9ea09e4a7f8e533c408ac59fe 100644
--- a/Projects/e775s/analysis/Plots_TWOFNR.h
+++ b/Projects/e775s/analysis/Plots_TWOFNR.h
@@ -162,7 +162,6 @@ TGraph* TWOFNR(double Ex, double Jf, double particleN, double particleL, double
 
 }
 
-
 TGraph* TWOFNR(double Ex, double Jf, double particleN, double particleL, double particleJ, double Ji){
 //int model_in_A = 1;  //LohrHaeberli
   int model_in_A = 2;  //PereyPerey
diff --git a/Projects/e870/Analysis.cxx b/Projects/e870/Analysis.cxx
index 30b63ee0c7c0ecdc5a5854a8383e78d7d15a47f9..489202305782a2bd00dc18e71bc981d08f5e4040 100644
--- a/Projects/e870/Analysis.cxx
+++ b/Projects/e870/Analysis.cxx
@@ -185,6 +185,7 @@ void Analysis::TreatEvent() {
     Ex.push_back(reaction.ReconstructRelativistic(Energy, Theta));
     ExNoCATS.push_back(reaction2.ReconstructRelativistic(Energy, Theta));
     ELab.push_back(Energy);
+    ThetaCM.push_back(reaction.EnergyLabToThetaCM( Energy , Theta)/deg);
 
     /************************************************/
 
@@ -200,7 +201,7 @@ void Analysis::InitOutputBranch() {
   RootOutput::getInstance()->GetTree()->Branch("ELab", &ELab);
   RootOutput::getInstance()->GetTree()->Branch("ThetaLab", &ThetaLab);
   RootOutput::getInstance()->GetTree()->Branch("PhiLab", &PhiLab);
-  RootOutput::getInstance()->GetTree()->Branch("ThetaCM", &ThetaCM, "ThetaCM/D");
+  RootOutput::getInstance()->GetTree()->Branch("ThetaCM", &ThetaCM);
   RootOutput::getInstance()->GetTree()->Branch("Run", &Run, "Run/I");
   RootOutput::getInstance()->GetTree()->Branch("X", &X);
   RootOutput::getInstance()->GetTree()->Branch("Y", &Y);
@@ -228,13 +229,13 @@ void Analysis::ReInitValue() {
   ExNoBeam = ExNoProton = -1000;
   EDC = -1000;
   BeamEnergy = -1000;
-  ThetaCM = -1000;
   X.clear();
   Y.clear();
   Z.clear();
   dE = -1000;
   ELab.clear();
   ThetaLab.clear();
+  ThetaCM.clear();
   PhiLab.clear();
   Ex.clear();
   ExNoCATS.clear();
diff --git a/Projects/e870/Analysis.h b/Projects/e870/Analysis.h
index fcf71b91ab7a3e667b769772378c57750ceac521..e5442f9acef64f4fa7b32b2c2ff9f16d7301acf2 100644
--- a/Projects/e870/Analysis.h
+++ b/Projects/e870/Analysis.h
@@ -60,7 +60,7 @@ class Analysis : public NPL::VAnalysis {
   std::vector<double> ELab;
   std::vector<double> ThetaLab;
   std::vector<double> PhiLab;
-  double ThetaCM;
+  std::vector<double> ThetaCM;
   double OriginalELab;
   double OriginalThetaLab;
 
diff --git a/Projects/nptuto_gdr/Analysis.cxx b/Projects/nptuto_gdr/Analysis.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..c71f7c79de96f97faecbbd846234cdea4bed1972
--- /dev/null
+++ b/Projects/nptuto_gdr/Analysis.cxx
@@ -0,0 +1,242 @@
+/*****************************************************************************
+ * 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: Adrien MATTA  contact address: a.matta@surrey.ac.uk      *
+ *                                                                           *
+ * Creation Date  : march 2025                                               *
+ * Last update    :                                                          *
+ *---------------------------------------------------------------------------*
+ * Decription:                                                               *
+ * Class describing the property of an Analysis object                       *
+ *                                                                           *
+ *---------------------------------------------------------------------------*
+ * Comment:                                                                  *
+ *                                                                           *
+ *                                                                           *
+ *****************************************************************************/
+#include <iostream>
+using namespace std;
+
+#include "Analysis.h"
+#include "NPAnalysisFactory.h"
+#include "NPDetectorManager.h"
+#include "NPFunction.h"
+#include "NPOptionManager.h"
+// #include <unistd.h>
+////////////////////////////////////////////////////////////////////////////////
+Analysis::Analysis() {}
+////////////////////////////////////////////////////////////////////////////////
+Analysis::~Analysis() {}
+
+////////////////////////////////////////////////////////////////////////////////
+void Analysis::Init() {
+  if (NPOptionManager::getInstance()->HasDefinition("simulation")) {
+    cout << "Considering input data as simulation" << endl;
+    simulation = true;
+  }
+  else {
+    cout << "Considering input data as real" << endl;
+    simulation = false;
+  }
+  simulation = true;
+
+  // initialize input and output branches
+  if (simulation) {
+    Initial = new TInitialConditions();
+    ReactionConditions = new TReactionConditions();
+  }
+
+  InitOutputBranch();
+  InitInputBranch();
+  // get MUST2 objects
+  M2 = (TMust2Physics*)m_DetectorManager->GetDetector("M2Telescope");
+
+  // get reaction information
+  reaction.ReadConfigurationFile(NPOptionManager::getInstance()->GetReactionFile());
+  OriginalBeamEnergy = reaction.GetBeamEnergy();
+  // target thickness
+  TargetThickness = m_DetectorManager->GetTargetThickness();
+  string TargetMaterial = m_DetectorManager->GetTargetMaterial();
+
+  // energy losses
+  string light = NPL::ChangeNameToG4Standard(reaction.GetNucleus3()->GetName());
+  string beam = NPL::ChangeNameToG4Standard(reaction.GetNucleus1()->GetName());
+  cout << light << " " << beam << " " << TargetMaterial << " " << TargetThickness << endl;
+  LightTarget = NPL::EnergyLoss(light + "_" + TargetMaterial + ".G4table", "G4Table", 100);
+  LightAl = NPL::EnergyLoss(light + "_Al.G4table", "G4Table", 100);
+  LightSi = NPL::EnergyLoss(light + "_Si.G4table", "G4Table", 100);
+  BeamTarget = NPL::EnergyLoss(beam + "_" + TargetMaterial + ".G4table", "G4Table", 100);
+
+  FinalBeamEnergy = BeamTarget.Slow(OriginalBeamEnergy, TargetThickness * 0.5, 0);
+  // FinalBeamEnergy = OriginalBeamEnergy;
+  // cout << "Original beam energy: " << OriginalBeamEnergy << " MeV      Mid-target beam energy: " << FinalBeamEnergy
+  //      << "MeV " << endl;
+  reaction.SetBeamEnergy(FinalBeamEnergy);
+
+  // initialize various parameters
+  Rand = TRandom3();
+  DetectorNumber = 0;
+  ThetaNormalTarget = 0;
+  ThetaM2Surface = 0;
+  Si_E_M2 = 0;
+  CsI_E_M2 = 0;
+  Energy = 0;
+  ThetaGDSurface = 0;
+  X = 0;
+  Y = 0;
+  Z = 0;
+  dE = 0;
+  BeamDirection = TVector3(0, 0, 1);
+  nbTrack = 0;
+
+  sleep(5);
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void Analysis::TreatEvent() {
+  // Reinitiate calculated variable
+  ReInitValue();
+  double XTarget, YTarget;
+  TVector3 BeamDirection;
+  XTarget = 0;
+  YTarget = 0;
+  BeamDirection = TVector3(0, 0, 1);
+  BeamImpact = TVector3(XTarget, YTarget, 0);
+
+  // determine beam energy for a randomized interaction point in target
+  // 1% FWHM randominastion (E/100)/2.35
+  // reaction.SetBeamEnergy(Rand.Gaus(BeamEnergy, BeamEnergy * 1. / 100. / 2.35));
+  // reaction.SetBeamEnergy(BeamEnergy);
+
+  ////////////////////////////////////////////////////////////////////////////
+  //////////////////////////////// LOOP on MUST2  ////////////////////////////
+  ////////////////////////////////////////////////////////////////////////////
+  for (unsigned int countMust2 = 0; countMust2 < M2->Si_E.size(); countMust2++) {
+    /************************************************/
+    // Part 0 : Get the usefull Data
+    //  MUST2
+    int TelescopeNumber = M2->TelescopeNumber[countMust2];
+
+    /************************************************/
+    // Part 1 : Impact Angle
+    ThetaM2Surface = 0;
+    ThetaNormalTarget = 0;
+    TVector3 HitDirection = M2->GetPositionOfInteraction(countMust2) - BeamImpact;
+    ThetaLab = HitDirection.Angle(BeamDirection);
+
+    X = M2->GetPositionOfInteraction(countMust2).X();
+    Y = M2->GetPositionOfInteraction(countMust2).Y();
+    Z = M2->GetPositionOfInteraction(countMust2).Z();
+
+    ThetaM2Surface = HitDirection.Angle(-M2->GetTelescopeNormal(countMust2));
+    ThetaNormalTarget = HitDirection.Angle(TVector3(0, 0, 1));
+
+    /************************************************/
+
+    /************************************************/
+    // Part 2 : Impact Energy
+    Energy = ELab = 0;
+    Si_E_M2 = M2->Si_E[countMust2];
+    CsI_E_M2 = M2->CsI_E[countMust2];
+
+    // if CsI
+    if (CsI_E_M2 > 0) {
+      // The energy in CsI is calculate form dE/dx Table because
+      Energy = CsI_E_M2;
+      Energy = LightAl.EvaluateInitialEnergy(Energy, 0.4 * micrometer, ThetaM2Surface);
+      Energy += Si_E_M2;
+    }
+    else {
+      Energy = Si_E_M2;
+      Energy = LightAl.EvaluateInitialEnergy(Energy, 0.4 * micrometer, ThetaM2Surface);
+    }
+
+    // Evaluate energy using the thickness
+    ELab = Energy;
+
+    // Target Correction
+    ELab = LightTarget.EvaluateInitialEnergy(ELab, TargetThickness * 0.5, ThetaNormalTarget);
+
+    /************************************************/
+    // Part 3 : Excitation Energy Calculation
+    // Ex = reaction.ReconstructRelativistic(ELab, ThetaLab);
+    // reaction.SetBeamEnergy(Initial->GetIncidentFinalKineticEnergy());
+    Ex = reaction.ReconstructRelativistic(ELab, ThetaLab);
+    // ExNoBeam = reaction.ReconstructRelativistic(ELab, ThetaLab);
+    // reaction.SetBeamEnergy(FinalBeamEnergy);
+    // ExNoProton = reaction.ReconstructRelativistic(ReactionConditions->GetKineticEnergy(0),
+    //                                               ReactionConditions->GetParticleDirection(0).Angle(TVector3(0, 0,
+    //                                               1)));
+    ThetaLab = ThetaLab / deg;
+
+    /************************************************/
+
+    /************************************************/
+    // Part 4 : Theta CM Calculation
+    ThetaCM = reaction.EnergyLabToThetaCM(ELab, ThetaLab) / deg;
+    /************************************************/
+  } // end loop MUST2
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void Analysis::End() {}
+////////////////////////////////////////////////////////////////////////////////
+void Analysis::InitOutputBranch() {
+  RootOutput::getInstance()->GetTree()->Branch("Ex", &Ex, "Ex/D");
+  RootOutput::getInstance()->GetTree()->Branch("ELab", &ELab, "ELab/D");
+  RootOutput::getInstance()->GetTree()->Branch("ThetaLab", &ThetaLab, "ThetaLab/D");
+  RootOutput::getInstance()->GetTree()->Branch("ThetaCM", &ThetaCM, "ThetaCM/D");
+  RootOutput::getInstance()->GetTree()->Branch("Run", &Run, "Run/I");
+  RootOutput::getInstance()->GetTree()->Branch("X", &X, "X/D");
+  RootOutput::getInstance()->GetTree()->Branch("Y", &Y, "Y/D");
+  RootOutput::getInstance()->GetTree()->Branch("Z", &Z, "Z/D");
+  RootOutput::getInstance()->GetTree()->Branch("dE", &dE, "dE/D");
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void Analysis::InitInputBranch() {
+  // RootInput:: getInstance()->GetChain()->SetBranchAddress("GATCONF",&vGATCONF);
+  if (!simulation) {
+  }
+  else {
+    RootInput::getInstance()->GetChain()->SetBranchStatus("InitialConditions", true);
+    RootInput::getInstance()->GetChain()->SetBranchStatus("fIC_*", true);
+    RootInput::getInstance()->GetChain()->SetBranchAddress("InitialConditions", &Initial);
+    RootInput::getInstance()->GetChain()->SetBranchStatus("ReactionConditions", true);
+    RootInput::getInstance()->GetChain()->SetBranchStatus("fRC_*", true);
+    RootInput::getInstance()->GetChain()->SetBranchAddress("ReactionConditions", &ReactionConditions);
+  }
+}
+////////////////////////////////////////////////////////////////////////////////
+void Analysis::ReInitValue() {
+  Ex = -1000;
+  ELab = -1000;
+  ThetaLab = -1000;
+  ThetaCM = -1000;
+  X = -1000;
+  Y = -1000;
+  Z = -1000;
+  dE = -1000;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+//            Construct Method to be pass to the AnalysisFactory              //
+////////////////////////////////////////////////////////////////////////////////
+NPL::VAnalysis* Analysis::Construct() { return (NPL::VAnalysis*)new Analysis(); }
+
+////////////////////////////////////////////////////////////////////////////////
+//            Registering the construct method to the factory                 //
+////////////////////////////////////////////////////////////////////////////////
+extern "C" {
+class proxy_analysis {
+ public:
+  proxy_analysis() { NPL::AnalysisFactory::getInstance()->SetConstructor(Analysis::Construct); }
+};
+
+proxy_analysis p_analysis;
+}
diff --git a/Projects/nptuto_gdr/Analysis.h b/Projects/nptuto_gdr/Analysis.h
new file mode 100644
index 0000000000000000000000000000000000000000..f314fb353d1faae7ca8ba4c63f9536243880dd03
--- /dev/null
+++ b/Projects/nptuto_gdr/Analysis.h
@@ -0,0 +1,114 @@
+#ifndef Analysis_h
+#define Analysis_h
+/*****************************************************************************
+ * 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: Adrien MATTA  contact address: a.matta@surrey.ac.uk      *
+ *                                                                           *
+ * Creation Date  : march 2025                                               *
+ * Last update    :                                                          *
+ *---------------------------------------------------------------------------*
+ * Decription:                                                               *
+ * Class describing the property of an Analysis object                       *
+ *                                                                           *
+ *---------------------------------------------------------------------------*
+ * Comment:                                                                  *
+ *                                                                           *
+ *                                                                           *
+ *****************************************************************************/
+#include "NPEnergyLoss.h"
+#include "NPReaction.h"
+#include "NPVAnalysis.h"
+#include "RootInput.h"
+#include "RootOutput.h"
+#include "TCATSPhysics.h"
+#include "TInitialConditions.h"
+#include "TMust2Physics.h"
+#include "TReactionConditions.h"
+#include <TMath.h>
+#include <TRandom3.h>
+#include <TVector3.h>
+
+class Analysis : public NPL::VAnalysis {
+ public:
+  Analysis();
+  ~Analysis();
+
+ public:
+  void Init();
+  void TreatEvent();
+  void End();
+
+  void InitOutputBranch();
+  void InitInputBranch();
+  void ReInitValue();
+  static NPL::VAnalysis* Construct();
+
+ private:
+  double Ex;
+  double ELab;
+  double ThetaLab;
+  double ThetaCM;
+
+  double TargetThickness;
+  NPL::Reaction reaction;
+  //	Energy loss table: the G4Table are generated by the simulation
+  NPL::EnergyLoss LightTarget;
+  NPL::EnergyLoss LightAl;
+  NPL::EnergyLoss LightSi;
+  NPL::EnergyLoss BeamTarget;
+
+  // Beam Energy
+  double OriginalBeamEnergy; // AMEV
+  double FinalBeamEnergy;
+
+  // intermediate variable
+  TVector3 BeamDirection;
+  TVector3 BeamImpact;
+  TRandom3 Rand;
+  int Run;
+  int DetectorNumber;
+  double ThetaNormalTarget;
+  double ThetaM2Surface;
+  double Si_E_M2;
+  double CsI_E_M2;
+  double Energy;
+  double BeamEnergy;
+
+  double ThetaGDSurface;
+  double X;
+  double Y;
+  double Z;
+  // Vamos Branches
+  unsigned long long int LTS;
+
+  // Agata branches
+  double agata_zShift;
+  unsigned long long int TStrack;
+  int nbHits;
+  int nbTrack;
+  float* trackE = new float(100);
+  float* trackX1 = new float(100);
+  float* trackY1 = new float(100);
+  float* trackZ1 = new float(100);
+  float* trackT = new float(100);
+  int* trackCrystalID = new int(100);
+  int nbCores;
+  int* coreId = new int(100);
+  ULong64_t* coreTS = new ULong64_t(100);
+  float* coreE0 = new float(100);
+  //
+  double dE;
+  double dTheta;
+  // Branches and detectors
+  TMust2Physics* M2;
+  bool simulation;
+  TInitialConditions* Initial;
+  TReactionConditions* ReactionConditions;
+};
+#endif
diff --git a/Projects/nptuto_gdr/CMakeLists.txt b/Projects/nptuto_gdr/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..22c74affdfc45019bdda2594f8439c52d4ab97ec
--- /dev/null
+++ b/Projects/nptuto_gdr/CMakeLists.txt
@@ -0,0 +1,5 @@
+cmake_minimum_required (VERSION 2.8) 
+# Setting the policy to match Cmake version
+cmake_policy(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION})
+# include the default NPAnalysis cmake file
+include("../../NPLib/ressources/CMake/NPAnalysis.cmake")
diff --git a/Projects/nptuto_gdr/configs/ConfigMust2.dat b/Projects/nptuto_gdr/configs/ConfigMust2.dat
new file mode 100644
index 0000000000000000000000000000000000000000..216b16b66a665ababbd3ffe819626fbe65c5e89e
--- /dev/null
+++ b/Projects/nptuto_gdr/configs/ConfigMust2.dat
@@ -0,0 +1,5 @@
+ConfigMust2
+ CSI_SIZE 40
+ CAL_PIXEL
+ PIXEL_SIZE 8
+ MAX_STRIP_MULTIPLICITY 10
diff --git a/Projects/nptuto_gdr/detector/MUGAST_LISE.detector b/Projects/nptuto_gdr/detector/MUGAST_LISE.detector
new file mode 100644
index 0000000000000000000000000000000000000000..f03211b192acbea5191614709a79dcb4569db21b
--- /dev/null
+++ b/Projects/nptuto_gdr/detector/MUGAST_LISE.detector
@@ -0,0 +1,56 @@
+%%%%%%%%%%Detector%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%1
+Target
+ THICKNESS= 50 micrometer
+ ANGLE= 0 deg
+ RADIUS= 25 mm
+ MATERIAL= CH2
+ X= 0
+ Y= 0
+ Z= 0
+
+%%%%%%% Telescope 1 %%%%%%%
+M2Telescope
+ X128_Y128=  115.88  9.61  154.54 mm
+ X128_Y1=  104.8  101.89  125.09 mm 
+ X1_Y1=  14.55  102.4  160.63 mm
+ X1_Y128=  25.63  10.12  190.08 mm
+ SI=  1.00
+ SILI= 0.00
+ CSI= 1.00
+ VIS= all
+
+%%%%%%% Telescope 2 %%%%%%%
+M2Telescope
+ X128_Y128=  -11.23  102.42  160.87 mm
+ X128_Y1=  -101.39  102.39  124.37 mm
+ X1_Y1=  -113.17  10.36  153.56 mm
+ X1_Y128=  -23.03  10.38  190.05 mm
+ SI=  1.00
+ SILI= 0.00
+ CSI= 1.00
+ VIS= all
+
+%%%%%%% Telescope 3 %%%%%%%
+M2Telescope
+ X128_Y128=  -113.28  -12.52  153.32 mm
+ X128_Y1=  -101.58  -104.77  124.82 mm
+ X1_Y1=  -11.39  -104.58  161.48 mm
+ X1_Y128=  -23.1  -12.34  189.98 mm
+ SI= 1.00
+ SILI= 0.00
+ CSI= 1.00
+ VIS= all
+
+%%%%%%% Telescope 4 %%%%%%%
+M2Telescope
+ X128_Y128=  13.82  -104.92  160.72 mm
+ X128_Y1=  104.3  -104.95  125.08 mm
+ X1_Y1=  115.75  -12.73  153.76 mm
+ X1_Y128=  25.23  -12.65  189.43 mm
+ SI= 1.00
+ SILI= 0.00
+ CSI= 1.00
+ VIS= all
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/Projects/nptuto_gdr/reactions/48Crpd.reaction b/Projects/nptuto_gdr/reactions/48Crpd.reaction
new file mode 100644
index 0000000000000000000000000000000000000000..ef5c42de50074fa865e5825f3a9630e28eb0722c
--- /dev/null
+++ b/Projects/nptuto_gdr/reactions/48Crpd.reaction
@@ -0,0 +1,32 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+Beam
+  Particle= 48Cr 
+  Energy=  1440 MeV
+  SigmaEnergy= 40 MeV
+  ExcitationEnergy= 0 MeV
+  SigmaThetaX= 0 mrad
+  SigmaPhiY= 0 mrad
+  SigmaX= 1 mm
+  SigmaY= 1 mm
+  MeanThetaX= 0 mrad
+  MeanPhiY= 0 mrad
+  MeanX= 0 mm
+  MeanY= 0 mm
+  %EnergyProfilePath= eLise.txt EL
+  %XThetaXProfilePath=
+  %YPhiYProfilePath=
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+TwoBodyReaction
+ Beam= 48Cr
+ Target= 1H
+ Light= 2H
+ Heavy= 47Cr
+ ExcitationEnergyLight= 0.0 MeV
+ ExcitationEnergyHeavy= 0.0 MeV
+ CrossSectionPath= flat.txt
+ ShootLight= 1
+ ShootHeavy= 1
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ 
+ 
diff --git a/Projects/s455/macro/beam/DrawID.C b/Projects/s455/macro/beam/DrawID.C
new file mode 100644
index 0000000000000000000000000000000000000000..fc4fd789c3f3b961185ca145cbd8f05a3c589fd4
--- /dev/null
+++ b/Projects/s455/macro/beam/DrawID.C
@@ -0,0 +1,141 @@
+TFile* file_197At;
+TFile* file_199At;
+TFile* file_207Fr;
+TFile* file_204Fr;
+TFile* file_175Pt;
+TFile* file_184Hg;
+TFile* file_182Hg;
+TFile* file_180Hg;
+TFile* file_187Pb;
+TFile* file_189Pb;
+TFile* file_216Th;
+TFile* file_221Pa;
+
+TH2F* h2_197At;
+TH2F* h2_199At;
+TH2F* h2_207Fr;
+TH2F* h2_204Fr;
+TH2F* h2_175Pt;
+TH2F* h2_184Hg;
+TH2F* h2_182Hg;
+TH2F* h2_180Hg;
+TH2F* h2_187Pb;
+TH2F* h2_189Pb;
+TH2F* h2_216Th;
+TH2F* h2_221Pa;
+
+void DrawID()
+{
+  gROOT->SetStyle("pierre_style");
+
+  file_189Pb = new TFile("root/hBeamID_189Pb.root");
+  file_182Hg = new TFile("root/hBeamID_182Hg.root");
+  file_197At = new TFile("root/hBeamID_197At.root");
+  file_199At = new TFile("root/hBeamID_199At.root");
+  file_207Fr = new TFile("root/hBeamID_207Fr.root");
+  file_204Fr = new TFile("root/hBeamID_204Fr.root");
+  file_175Pt = new TFile("root/hBeamID_175Pt.root");
+  file_184Hg = new TFile("root/hBeamID_184Hg.root");
+  file_187Pb = new TFile("root/hBeamID_187Pb.root");
+  file_180Hg = new TFile("root/hBeamID_180Hg.root");
+  file_216Th = new TFile("root/hBeamID_216Th.root");
+  file_221Pa = new TFile("root/hBeamID_221Pa.root");
+
+  h2_189Pb = (TH2F*) file_189Pb->FindObjectAny("hbid");
+  h2_182Hg = (TH2F*) file_182Hg->FindObjectAny("hbid");
+  h2_197At = (TH2F*) file_197At->FindObjectAny("hbid");
+  h2_199At = (TH2F*) file_199At->FindObjectAny("hbid");
+  h2_207Fr = (TH2F*) file_207Fr->FindObjectAny("hbid");
+  h2_204Fr = (TH2F*) file_204Fr->FindObjectAny("hbid");
+  h2_175Pt = (TH2F*) file_175Pt->FindObjectAny("hbid");
+  h2_184Hg = (TH2F*) file_184Hg->FindObjectAny("hbid");
+  h2_187Pb = (TH2F*) file_187Pb->FindObjectAny("hbid");
+  h2_180Hg = (TH2F*) file_180Hg->FindObjectAny("hbid");
+  h2_216Th = (TH2F*) file_216Th->FindObjectAny("hbid");
+  h2_221Pa = (TH2F*) file_221Pa->FindObjectAny("hbid");
+
+
+  h2_189Pb->Add(h2_180Hg);
+  h2_189Pb->Add(h2_182Hg);
+  h2_189Pb->Add(h2_184Hg);
+  h2_189Pb->Add(h2_187Pb);
+  h2_189Pb->Add(h2_175Pt);
+  h2_189Pb->Add(h2_204Fr);
+  h2_189Pb->Add(h2_207Fr);
+  h2_189Pb->Add(h2_199At);
+  h2_189Pb->Add(h2_197At);
+  h2_189Pb->Add(h2_216Th);
+  h2_189Pb->Add(h2_221Pa);
+  
+
+  TCanvas* c1 = new TCanvas("c1","c1",2000,1600);
+  c1->SetLogz();
+  c1->SetGridx();
+  c1->SetGridy();
+
+  h2_189Pb->SetMinimum(3);
+  h2_189Pb->GetXaxis()->SetTitle("Mass-to-charge ratio");
+  h2_189Pb->GetYaxis()->SetTitle("Proton number Z");
+
+  h2_189Pb->GetXaxis()->SetRangeUser(2.22,2.50);
+  h2_189Pb->GetYaxis()->SetRangeUser(76.5,91);
+
+  h2_189Pb->GetXaxis()->SetTitleSize(0.03);
+  h2_189Pb->GetXaxis()->SetLabelSize(0.03);
+  h2_189Pb->GetXaxis()->SetTitleOffset(1.2);
+  
+  h2_189Pb->GetYaxis()->SetTitleSize(0.03);
+  h2_189Pb->GetYaxis()->SetLabelSize(0.03);
+  h2_189Pb->GetYaxis()->SetTitleOffset(1.2);
+  
+  h2_189Pb->Draw("col");
+
+
+  // Draw cuts
+  TCutG* cut_beam[12];
+  double Q[12] = {78,80,80,80,82,82,85,85,87,87,90,91};
+  double A[12] = {175,180,182,184,187,189,197,199,204,207,216,221};
+  double AoQ[12];
+  for(int i=0; i<12; i++){
+    AoQ[i] = A[i]/Q[i];
+
+    cut_beam[i] = new TCutG(Form("cut_beam%i",i+1));
+    cut_beam[i]->SetName(Form("cut_beam%i",i+1));
+    cut_beam[i]->SetVarX("fBeam_AoQ");
+    cut_beam[i]->SetVarY("fBeam_Z");
+  }
+
+  double x, y;
+  double Rx = 0.005;
+  double Ry = 0.55;
+  for(int i=0; i<12; i++){
+    for(int j=0; j<360; j++){
+      x = AoQ[i] + Rx*cos(j*TMath::Pi()/180.);
+      y = Q[i] + Ry*sin(j*TMath::Pi()/180.);
+
+      cut_beam[i]->SetPoint(j,x,y);
+    }
+    cut_beam[i]->SetLineColor(2);
+    cut_beam[i]->SetLineWidth(2);
+  
+    //cut_beam[i]->Draw("lsame");
+  }
+
+  TLatex t_elt;
+  t_elt.SetTextSize(0.032);
+  t_elt.DrawLatex(2.34,77-0.1,"^{172-175}Ir");
+  t_elt.DrawLatex(2.35,78-0.1,"^{174-178}Pt");
+  t_elt.DrawLatex(2.36,79-0.1,"^{176-182}Au");
+  t_elt.DrawLatex(2.38,80-0.1,"^{180-186}Hg");
+  t_elt.DrawLatex(2.39,81-0.1,"^{183-188}Tl");
+  t_elt.DrawLatex(2.39,82-0.1,"^{186-194}Pb");
+  t_elt.DrawLatex(2.40,83-0.1,"^{189-197}Bi");
+  t_elt.DrawLatex(2.41,84-0.1,"^{192-201}Po");
+  t_elt.DrawLatex(2.42,85-0.1,"^{196-203}At");
+  t_elt.DrawLatex(2.43,86-0.1,"^{200-206}Rn");
+  t_elt.DrawLatex(2.45,87-0.1,"^{203-211}Fr");
+  t_elt.DrawLatex(2.455,88-0.1,"^{209-214}Ra");
+  t_elt.DrawLatex(2.455,89-0.1,"^{212-218}Ac");
+  t_elt.DrawLatex(2.455,90-0.1,"^{216-220}Th");
+
+}
diff --git a/Projects/s455/macro/plot/MakePlot.C b/Projects/s455/macro/plot/MakePlot.C
new file mode 100644
index 0000000000000000000000000000000000000000..800eba51ba88f4f062ad7a8edad3d7158f752912
--- /dev/null
+++ b/Projects/s455/macro/plot/MakePlot.C
@@ -0,0 +1,42 @@
+void MakePlot()
+{
+  gROOT->SetStyle("pierre_style");
+
+  TFile* ifile = new TFile("../root/charge_dist_190Pb.root");
+
+  TH1F* hsumpb = (TH1F*) ifile->FindObjectAny("hsumpb");
+  hsumpb->GetXaxis()->SetTitle("Z_{sum}=Z_{1}+Z_{2} ");
+  hsumpb->GetXaxis()->CenterTitle();
+  hsumpb->SetLineColor(kAzure+7);
+  hsumpb->SetFillColor(kAzure+7);
+  TH1F* hsumcscaled = (TH1F*) ifile->FindObjectAny("hsumcscaled");
+  hsumcscaled->SetLineColor(2);
+  hsumcscaled->SetLineWidth(2);
+
+  TH1F* hzpb = (TH1F*) ifile->FindObjectAny("hzpb");
+  hzpb->GetXaxis()->SetTitle("Z");
+  hzpb->GetXaxis()->CenterTitle();
+  hzpb->SetLineColor(kAzure+7);
+  hzpb->SetFillColor(kAzure+7);
+  TH1F* hzcscaled = (TH1F*) ifile->FindObjectAny("hzcscaled");
+  hzcscaled->SetLineColor(2);
+  hzcscaled->SetLineWidth(2);
+
+  TH1F* hzsub = (TH1F*) ifile->FindObjectAny("hzsub");
+  hzsub->GetXaxis()->SetTitle("Z");
+  hzsub->GetXaxis()->CenterTitle();
+ 
+  TCanvas* c1 = new TCanvas("c1","c1",600,600);
+  hsumpb->Draw("hist");
+  hsumcscaled->Draw("histsame");
+
+  TCanvas* c2 = new TCanvas("c2","c2",600,600);
+  hzpb->Draw("hist");
+  hzcscaled->Draw("histsame");
+
+  TCanvas* c3 = new TCanvas("c3","c3",600,600);
+  hzsub->Rebin(2);
+  hzsub->SetMinimum(0);
+  hzsub->Draw("hist");
+ 
+}