The construction of $L[A]$ can be considered for the case when $A$ is a class of ordinals. We simply consider things which are definable over the language $\{\in, A\}$ instead of just $\{\in\}$.


Originally I thought that $L[Ord]=HOD$, but was told that actually $L[Ord]=L$. 


Denote $\mathcal P(Ord) = \bigcup\_{\alpha\in Ord}\mathcal P(\alpha)$, all the sets of ordinals in $V$. I then figured that perhaps $L[\mathcal P(Ord)]=HOD$, but that too I was told is not true.


In fact, as the conversation continued, $HOD$ is the second-order $L$, that is we construct $L$ as usual (in $V$), only defining it with second-order logic instead.


If this is the case, what is $L[\mathcal P(Ord)]$?



What does $L[\mathcal P(Ord)]$ look like?
One should make a distinction between two kinds of relative constructibility. Traditionally, one uses the square bracket notation $L[A]$ to indicate the result of constructing as you said where one allows $A$ as a predicate, so that $L\_{\alpha+1}[A]$ consists of the definable subsets of the structure $\langle L\_\alpha[A],{\in},A\rangle$. The alternative round-bracket structure $L(A)$ is obtained by throwing in (the transitive closure of) $A$ wholesale, and then constructing just in the language of $\in$. (Some accounts add only $\text{TC}(A)\cap V\_\alpha$ at stage $\alpha$, rather than all of it at the beginning, and this is more sensible when $A$ is a class.) 


The difference is that in $L[A]$, you are only able to ask queries about membership-in-$A$ for objects that you can construct, whereas in $L(A)$ you are given all of $A$ and its transitive closure at the outset. In particular, a set $A$ is always in $L(A)$, but it may not actually be an element of $L[A]$. 


For example, $L[\mathbb{R}]=L$, even when there are non-constructible reals, since having a predicate for $\mathbb{R}$ is not helpful; we can already recognize when an object is a real number without having a predicate for $\mathbb{R}$. But in most of the interesting cases, $L(\mathbb{R})\neq L$. 


The same analysis applies to $L[\text{Ord}]=L=L(\text{Ord})$, where the former equality holds since we don't need a special predicate to recognize an ordinal, and the latter equality holds since $L$ already has all the ordinals. 


In the case of $P(\text{Ord})$ as you have defined it, Andreas has given you the answer actually for $L(P(\text{Ord}))$, which is all of $V$ precisely because every set in $V$ is coded by a set of ordinals, which is available in $L(P(\text{Ord}))$. And probably this is the case that you intended to ask about.


But meanwhile, for the case you actually asked about, $L[P(\text{Ord})]=L$, since having a predicate for $P(\text{Ord})$ is not so helpful, as we are already able to recognize whether a set is a set of ordinals without having a predicate for $P(\text{Ord})$. So this case is just like $L[\mathbb{R}]=L$. 


Finally, I should mention that although the square-bracket and round-bracket notation is fairly standard in most of the set-theoretic community, nevertheless I have heard that some quarters use the notation with exactly the opposite meaning.


Finally, I point you to the Chang model, which is the result of doing the $L$ construction in the infinitary logic $L\_{\omega\_1,\omega}$, and there are analogous higher versions.


