get_header action not working

You can use a conditional logic. E.G.

<?php
if ( is_home() ) :
    get_header( 'home' );
elseif ( is_404() ) :
    get_header( '404' );
else :
    get_header();
endif;
?>

The file names for the home and 404 headers should be header-home.php and header-404.php respectively.

So in your page-template just add

        get_header( 'newtmpl' );

dunno why you should use a function for that.