diff --git a/NPAnalysis/Gaspard/include/ObjectManager.hh b/NPAnalysis/Gaspard/include/ObjectManager.hh
index 488ccb7a32543ee71990fedcf42d3730a7c81e58..467f5e45e5248c2a7560cd7747a42c2904d5951c 100644
--- a/NPAnalysis/Gaspard/include/ObjectManager.hh
+++ b/NPAnalysis/Gaspard/include/ObjectManager.hh
@@ -107,11 +107,19 @@ namespace ENERGYLOSS
    // Declare your Energy loss here
 //   EnergyLoss LightTargetCD2 = EnergyLoss("proton_cd2.txt", 100, 1, 1); // LISE++
    // For 132Sn(d,p)
+   // CD2
 //   EnergyLoss LightTarget = EnergyLoss("proton_CD2.G4table", "G4Table", 1000);		// G4
 //   EnergyLoss BeamTarget  = EnergyLoss("Sn132[0.0]_CD2.G4table", "G4Table", 1000);	// G4
+   // solid D2
+//   EnergyLoss LightTarget = EnergyLoss("proton_D2_solid.G4table", "G4Table", 1000);		// G4
+//   EnergyLoss BeamTarget  = EnergyLoss("Sn132[0.0]_D2_solid.G4table", "G4Table", 1000);	// G4
    // For 134Sn(p,t)
-   EnergyLoss LightTarget = EnergyLoss("triton_CH2.G4table", "G4Table", 1000);		// G4
-   EnergyLoss BeamTarget  = EnergyLoss("Sn134[0.0]_CH2.G4table", "G4Table", 1000);	// G4
+   // CH2
+//   EnergyLoss LightTarget = EnergyLoss("triton_CH2.G4table", "G4Table", 1000);		// G4
+//   EnergyLoss BeamTarget  = EnergyLoss("Sn134[0.0]_CH2.G4table", "G4Table", 1000);	// G4
+   // solid H2
+   EnergyLoss LightTarget = EnergyLoss("triton_H2_solid.G4table", "G4Table", 1000);		// G4
+   EnergyLoss BeamTarget  = EnergyLoss("Sn134[0.0]_H2_solid.G4table", "G4Table", 1000);	// G4
    // For 132Sn(d,t)
 //   EnergyLoss LightTarget = EnergyLoss("triton_CD2.G4table", "G4Table", 1000);		// G4
 //   EnergyLoss BeamTarget  = EnergyLoss("Sn132[0.0]_CD2.G4table", "G4Table", 1000);	// G4
diff --git a/NPAnalysis/Gaspard/src/Analysis.cc b/NPAnalysis/Gaspard/src/Analysis.cc
index 6740890e6b4a480f4c3c9f20c910d409f839c6b2..8162feff58c6a792513052f34f76118579d00000 100644
--- a/NPAnalysis/Gaspard/src/Analysis.cc
+++ b/NPAnalysis/Gaspard/src/Analysis.cc
@@ -149,8 +149,8 @@ int main(int argc,char** argv)
 //         if (Theta/deg < 60 && ThetaCM/deg < 90) {
 //         if (Theta/deg > 35 && Theta/deg < 45 && E/MeV < 17) {
 //         if (Theta/deg < 45) {
-         if (E/MeV < 38) {
-//         if (Theta/deg > 90) {
+         if (E/MeV < 38) {		// for (p,t) reaction
+//         if (Theta/deg > 90) {	// for (d,p) reaction
             ExNoStrips = myReaction->ReconstructRelativistic(E, Theta / rad);
             Ex         = myReaction->ReconstructRelativistic(E, ThetaStrip);
          }
diff --git a/NPAnalysis/macros/GeometricalEfficiency.C b/NPAnalysis/macros/GeometricalEfficiency.C
index 3062f9bd40c3fdb64df0eadd0cb57243af9e6faf..fed847d8c3c780e8d9b2248eb12cd5c62049a2c3 100644
--- a/NPAnalysis/macros/GeometricalEfficiency.C
+++ b/NPAnalysis/macros/GeometricalEfficiency.C
@@ -78,11 +78,20 @@ void GeometricalEfficiency(const char * fname = "mySimul")
          hDetecTheta->Fill(interCoord->GetDetectedAngleTheta(0));
    }
 
+   TCanvas *c1 = new TCanvas("c1", "c1");
+   c1->Draw();
    // Compute relative efficiency in %
    TH1F *efficiency = new TH1F("hEfficiency", "Efficiency", 180, 0, 180);
-   efficiency->SetTitle("Efficiency GASPARD (Spheric version);#Theta [deg];#epsilon [%]");
-//   efficiency->SetTitle("Efficiency e530;#Theta [deg];#epsilon [%]");
+//   efficiency->SetTitle("Efficiency GASPARD (Spheric version);#Theta [deg];#epsilon [%]");
+   efficiency->SetTitle("Efficiency GASPARD;#Theta [deg];#epsilon [%]");
    efficiency->Divide(hDetecTheta,hEmittTheta,100);
    efficiency->SetMaximum(110);
    efficiency->Draw();
+
+
+   TCanvas *c2 = new TCanvas("c2", "c2");
+   c2->Draw();
+   hEmittTheta->Draw();
+   hDetecTheta->SetLineColor(kRed);
+   hDetecTheta->Draw("same");
 }
diff --git a/NPLib/GASPARD/GaspardTracker.cxx b/NPLib/GASPARD/GaspardTracker.cxx
index ee430b6cd09f6f03198c8e9429eff559047ded2f..7c8aa36ebd1cf849dae9f0fbce6216dbe06987d6 100644
--- a/NPLib/GASPARD/GaspardTracker.cxx
+++ b/NPLib/GASPARD/GaspardTracker.cxx
@@ -802,7 +802,7 @@ void GaspardTracker::AddModuleDummyShape(double theta,
    V.Rotate( beta_w * Pi/180. , W ) ;
 
    double Face = 50; // mm
-   double NumberOfStrip = 25;
+   double NumberOfStrip = 100;
    double StripPitch = Face/NumberOfStrip; // mm
 
    vector<double> lineX;
diff --git a/NPSimulation/include/GaspardTrackerDummyShape.hh b/NPSimulation/include/GaspardTrackerDummyShape.hh
index 7c5fc84872c32fe4fb68c2128e5bbb8149ba15a9..aafc1c50503b4e01502ccfb5b20800400d428fc8 100644
--- a/NPSimulation/include/GaspardTrackerDummyShape.hh
+++ b/NPSimulation/include/GaspardTrackerDummyShape.hh
@@ -165,8 +165,8 @@ namespace GPDDUMMYSHAPE
 //   const G4int NumberOfStrips	       = 10; // 5 mm strip pitch
 //   const G4int NumberOfStrips	       = 25; // 2 mm strip pitch
 //   const G4int NumberOfStrips	       = 50; // 1 mm strip pitch
-//   const G4int NumberOfStrips	       = 100; // 0.5 mm strip pitch
-   const G4int NumberOfStrips	       = 500; // 0.1 mm strip pitch
+   const G4int NumberOfStrips	       = 100; // 0.5 mm strip pitch
+//   const G4int NumberOfStrips	       = 500; // 0.1 mm strip pitch
 
    // Second stage
    const G4double SecondStageFace      = FirstStageFace;
diff --git a/NPSimulation/include/GaspardTrackerTrapezoid.hh b/NPSimulation/include/GaspardTrackerTrapezoid.hh
index c7224df3b91d120b7e23ea7bfbcb0c737b080bff..05bf5bef1a4a9c3d220ad3be5a6b5d6cc497e2fc 100644
--- a/NPSimulation/include/GaspardTrackerTrapezoid.hh
+++ b/NPSimulation/include/GaspardTrackerTrapezoid.hh
@@ -155,18 +155,29 @@ namespace GPDTRAP
    const G4double ResoTimePPAC    = 0.106382979    ;// = 250ps                 //   Unit is  ns/2.35
 
    // Geometry
-   const G4double Height    = 90*mm;
+   // gaspard Trapezoid
+/*   const G4double Height    = 90*mm;
    const G4double BaseLarge = 85*mm;
    const G4double BaseSmall = 35*mm;
-   const G4double Length    = 20*mm;
+   const G4double Length    = 20*mm;*/
+   // gaspHyde
+   const G4double Height    = 115*mm;
+   const G4double BaseLarge =  98*mm;
+   const G4double BaseSmall =  30*mm;
+   const G4double Length    =  20*mm;
 
    // First stage
 //   const G4double AluStripThickness = 0.00000001*micrometer;
    const G4double AluStripThickness   = 0.4*micrometer;
    const G4double FirstStageThickness = 300*micrometer;
-   const G4double FirstStageHeight    = 81*mm;
+   // gaspard Trapezoid
+/*   const G4double FirstStageHeight    = 81*mm;
    const G4double FirstStageBaseLarge = 78*mm;
-   const G4double FirstStageBaseSmall = 29*mm;
+   const G4double FirstStageBaseSmall = 29*mm;*/
+   // gaspHyde
+   const G4double FirstStageHeight    = 113.5*mm;
+   const G4double FirstStageBaseLarge =  97.5*mm;
+   const G4double FirstStageBaseSmall =  28.5*mm;
 //   const G4double VacBoxThickness   = 3*cm           ;
    const G4double VacBoxThickness     = 0.5*cm;
    const G4int    NumberOfStripsX     = 128;
diff --git a/NPSimulation/src/GaspardTrackerAnnular.cc b/NPSimulation/src/GaspardTrackerAnnular.cc
index 64693c36fb2e6979df99edd208bea0064fa2219d..9e00cbe189133cd2c8b5bd81e467555bf3fa00cb 100644
--- a/NPSimulation/src/GaspardTrackerAnnular.cc
+++ b/NPSimulation/src/GaspardTrackerAnnular.cc
@@ -290,7 +290,7 @@ void GaspardTrackerAnnular::VolumeMaker(G4int TelescopeNumber   ,
 
       ///Visualisation of Silicon Strip
 //      G4VisAttributes* SiliconVisAtt = new G4VisAttributes(G4Colour(0.5, 0.5, 0.5)) ;
-      G4VisAttributes* SiliconVisAtt = new G4VisAttributes(G4Colour(0.0, 0.0, 0.9)) ;
+      G4VisAttributes* SiliconVisAtt = new G4VisAttributes(G4Colour(0.0, 0.0, 0.9)) ;	// bleu
       logicSilicon->SetVisAttributes(SiliconVisAtt)                        ;
    }
 
@@ -319,7 +319,7 @@ void GaspardTrackerAnnular::VolumeMaker(G4int TelescopeNumber   ,
       PVPBuffer = new G4PVPlacement(0, positionThirdStage, logicThirdStage, Name + "_ThirdStage", logicMM, false, 0);
 
       ///Visualisation of Third Stage
-      G4VisAttributes* ThirdStageVisAtt = new G4VisAttributes(G4Colour(0.0, 0.9, 0.)) ;
+      G4VisAttributes* ThirdStageVisAtt = new G4VisAttributes(G4Colour(0.0, 0.9, 0.)) ;	// green
       logicThirdStage->SetVisAttributes(ThirdStageVisAtt)                        ;
 //      logicThirdStage->SetVisAttributes(G4VisAttributes::Invisible);
 
diff --git a/NPSimulation/src/Target.cc b/NPSimulation/src/Target.cc
index bce572dc1ebee8f3e1c55fcd1e2d1a789669bb75..b8d5ef2c33790050ca93a519616e65bae609935b 100644
--- a/NPSimulation/src/Target.cc
+++ b/NPSimulation/src/Target.cc
@@ -130,7 +130,19 @@ G4Material* Target::GetMaterialFromLibrary(G4String MaterialName, G4double Tempe
       return(myMaterial);
    }
 
+   else if (MaterialName == "D2_solid") {
+      G4Element* D           = new G4Element("Deuteron", "D", 1., 2.0141*g / mole);
+      G4Material* myMaterial = new G4Material("D2_solid", 0.0715*g/cm3, 1);
+      myMaterial->AddElement(D, 2);
+      return(myMaterial);
+   }
 
+   else if (MaterialName == "H2_solid") {
+      G4Element* H           = new G4Element("Hydrogen", "H", 1., 1.01*g / mole);
+      G4Material* myMaterial = new G4Material("H2_solid", 0.0715*g/cm3, 1);
+      myMaterial->AddElement(H, 2);
+      return(myMaterial);
+   }
 
    else if (MaterialName == "Mylar") {
       G4cout << "Mylar Material" << G4endl ;