It is possible to designate objects to be part of one or many trace sets. The trace_set shader marks specific rays with an inclusive or exclusive trace set. Both geometry and rays can be designated as trace sets: The way those two interact makes it possible to control visibility for specific rays:
With the Arnold Visibility Geometry Properties it is possible to tag objects to be part of one or many trace sets.
Passthrough
The shader that gets called after setting the label.
Trace Set
The string label defining the set of objects to be traced or avoided. Objects are labeled using the Arnold Parameters Tag property.
Inclusive
If on, the tracing works in inclusive mode, else in exclusive, as described above.
trace_set assigned to plane
Example
Below is a shading network for a floor material which segregates shadow and specular rays into two different trace sets:
The sphere objects are then tagged to be part of the shadows or specular or both trace sets: