This i have some trouble understanding
if (tempC != DEVICE_DISCONNECTED) {If tempC not equal to what?
Look in the DallasTemperature.h file you pasted and you will see on line 55/56 this
// Error Codes
#define DEVICE_DISCONNECTED -127
It is a value returned if the device does not exits that you can check for so you don't start doing stuff based on duff temperature data.