How to pass TH1Fs with MPI commands?

I would like parallelize my monte carlo simulation to generate parallel TH1F* objects, and then use TH1F:Add to add them all together at the end. To do this, I have to pass the TH1F* through MPI, but I am not sure how to do this.

Is it necessary to read every bin of every TH1F[i] and pass those individually, or is it possible to send a larger object?

I already have the serial code. This seems like the simplest way to parallelize since each node will take the same time to execute. Is there a better way to construct the calculation?

Anyone know the fastest method of sending a TH1D with MPI?

I have tried sending it as a 1-D array with large memory and it doesn’t work.

How do you pass a TH1 object?

    TH1D* hist = new TH1D("name","title",100,-1,1);
    MPI_Send(&(hist[0]), 100, MPI_DOUBLE, 0, 1, MPI_COMM_WORLD);

This doesn’t work. I have tried using larger numbers instead of 100 (in this example) without success.

Nobody has combined these before?