So, physicists like to attach a mysterious extra cohomology class in H^2(X;C^\*) to a Kahler (or hyperkahler) manifold called a "B-field." The only concrete thing I've seen this B-field do is change the Fukaya category/A-branes: when you have a B-field, you shouldn't take flat vector bundles on a Lagrangian subvariety, but rather ones whose curvature is the B-field. How should I think about this gadget?



How should I think about B-fields?
Let me add a few words of explanation to Aaron's comment. Perturbative string theory is (at least at the level of caricature) concerned with describing small corrections to classical gravitational physics on the spacetime X. So, to do perturbative string theory on X, you need to choose a "background" metric on X. You might need to choose other fields as well, but we can assume for now that those are all set to zero. 


Having chosen a metric, you can talk about strings moving in X. In the limit where the string length goes to zero, a single string will look like a particle. What sort of particle it looks like will depend on how it's vibrating inside X. In particular, a closed string has a set of vibrational states which a) appear massless in this limit, and b) fill out a representation R of the Lorentz group. Specifically, R is the representation induced from the tensor square V (x) V, where V is the standard representation of the little group that fixes some light-like vector. You can decompose V into a sum of traceless symmetric square, trace, and antisymmetric traceless square. The states in the first summand are states of the graviton, representing tiny quantum excitations of the metric in X. The states in the last summand, the antisymmetric representation, are tiny excitations of the B-field, which we set equal to zero. (The states in the trace representation are quanta of the "dilaton" field.)


So, we didn't give the B-field any respect when we started, but it turns out to part of the definition of a string background. And once you know about the B-field, it's easy to include it in the action for the sigma model to X: Add to your action the term i<[S],f\*B>, where [S] is the fundamental class of the Riemann surface, and f: S -> X is the function embedding your string's worldsheet into X. Edit: Forgot a factor of i=root(-1), which is necessary to make the action real. 


And I forgot to mention that Aaron's H is dB. 


