How to add a signature to a transaction which I can broadcast I am using ledger and multi sig to sign a transaction I got signature hash where both party signed the transaction. How can I attached this signature to the transaction so that I can broadcast it to network?
any code reference will be welcome. Currently I am referencing electrum code.
How can I attached this signature to the transaction so that I can
  broadcast it to network?


This is more agnostic to any particular wallet software, but I hope it's helpful. When you sign a transaction, you then put the signatures in the scriptSig field of the input it corresponds to (the tx may have multiple inputs).

For a m-of-n multisig transaction, the scriptSig format is:

0 &lt;sig1&gt; ... OP_m &lt;pubKey1&gt; ... OP_n OP_CHECKMULTISIG

To broadcast it to the network, you can use the broadcast command in electrum:

cat signed.txn | electrum broadcast -

If successful, the command will return the ID of the transaction.


Alternatively you can use the sendrawtransaction RPC on a node running Bitcoin core.

sendrawtransaction "hexstring" ( allowhighfees )

Submits raw transaction (serialized, hex-encoded) to local node and network.

Also see createrawtransaction and signrawtransaction calls.

Arguments:
1. "hexstring"    (string, required) The hex string of the raw transaction)
2. allowhighfees    (boolean, optional, default=false) Allow high fees

Result:
"hex"             (string) The transaction hash in hex

Examples:

Create a transaction
&gt; bitcoin-cli createrawtransaction "[{\"txid\" : \"mytxid\",\"vout\":0}]" "{\"myaddress\":0.01}"
Sign the transaction, and get back the hex
&gt; bitcoin-cli signrawtransaction "myhex"

Send the transaction (signed hex)
&gt; bitcoin-cli sendrawtransaction "signedhex"

As a json rpc call
&gt; curl --user myusername --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "sendrawtransaction", "params": ["signedhex"] }' -H 'content-type: text/plain;' http://127.0.0.1:8332/