You can also do:
for(int nbfile=0; nbfile<nfile; nbfile++){
for(int nbdir=0; nbdir<ndir; nbdir++){
hmupt[nbfile][nbdir]->SetLineColor(2+nbfile);
if (nbfile == 0 && nbdir == 0)
hmupt[nbfile][nbdir]->Draw("hist");
else
hmupt[nbfile][nbdir]->Draw("hist same");
}
}