First of all check the internal namesinternal names and data types of your fields you are using in your CAML query, Accordingly your queries will change.
If all your internal names are correct then try using below queries:
<Where>
<And>
<Or>
<Eq>
<FieldRef Name="Header1Ref"/><Value Type="Text">H1</Value>
</Eq>
<Eq>
<FieldRef Name="Header1Ref"/><Value Type="Text">H2</Value>
</Eq>
</Or>
<Neq>
<FieldRef Name ="ContentType"/><Value Type="Text">Document</Value>
</Neq>
</And>
</Where>
This will return the results when:
Header1Ref is equal to "H1" or "H2" AND ContentType is not be equal to "Document".
official documentation: Query Schema.
Update:
If you are using OOTB ContentType field then you need to query on it like below:
- Using Content Type Name:
<Neq>
<FieldRef Name="ContentType"/><Value Type="Computed">Document</Value>
</Neq>
- Using Content Type ID:
<BeginsWith>
<FieldRef Name="ContentTypeId"/><Value Type="ContentTypeId">YourContentTypeIdHere</Value>
</BeginsWith>