 		int ndata = Daug.GetNdata();
 		h_logdens.resize(ndata);
 		d_logdens = h_logdens;
-
-		decay_rate = 2.0 / 3.0;
 
 		// place array size constant memory
         CUDA_CHECK_RETURN(cudaMemcpyToSymbol(&c_dim_theta, &dim_theta, sizeof(dim_theta)));

	dim3& nThreads;
	// MCMC parameters
	int naccept;
	double target_rate; // target acceptance rate for metropolis algorithm
	double decay_rate; // decay rate for robust metropolis algorithm, gamma in notation of Vihola (2012)
	int current_iter;
};



public:
	// constructor
	PopulationPar(DataAugmentation<ChiType>& D, dim3& nB, dim3& nT) :
		Daug(D), nBlocks(nB), nThreads(nT)
	{
		h_theta.resize(dim_theta);
		d_theta = h_theta;
