Make it Simple, Make a function to check if any process is running :
public bool IsProcessOpen(string name)
{
foreach (Process process in Process.GetProcesses())
{
if (process.ProcessName.Contains(name))
{
return true;
}
}
return false;
}
Now use this function where you want to check for the process :
if (!IsProcessOpen("calc"))
System.Diagnostics.Process.Start("calc.exe");
Update
The process of calculator in newer version of Windows is replaced with Calculator.exe you trying to check if process exist using calc.exe will always fail you need to check for both calc and calculator.
Here is screen shot

Code
//If calc.exe or Calculator.exe not exist then start the calculator
if (!IsProcessOpen("calc")|| !IsProcessOpen("Calculator"))
System.Diagnostics.Process.Start("calc.exe");