How do I add objects on selected polygons?
Good reason to use Instancing (DupliFaces in old terms)


Duplicate selected faces and separate it from base object;
Create Cylinder, make it parent of separated faces object and copy location - origins must match each other;


Updated:




In Object properties, on Instancing tab select Faces.




As instance for DupiFace Cylinder will not be rendered!

After that you can Make Duplicates Real for next processing.