The oriented Grassmannian forms a double cover of the un-oriented Grassmannian $\pi\colon BSO\rightarrow BO$. 
We say that a vector bundle $E\rightarrow B$ is orientable if every fibre has an orientation and for any $b\in B$ there is a neighborhood $U$ with a local trivialization that preserves the orientation of $\mathbb R^n$ fibrewise. 

Let $E\rightarrow B$ be a vector bundle with classifying map $f\colon B\rightarrow BO$. I want to show that $E$ is orientable if and only if the map $f$ factors through $\pi$.

Intuitively I think it is enough to show that $E$ is orientable if and only if it has a classifying map $f\colon E\rightarrow BSO$, but I am struggling to do this precisely.