<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _setup(self):
 """Prepare for code generation by setting up root clock nodes. These nodes are subsequently used as the basis for all clock operations. """


        # Create a root system ticks and user configurable ticks
        systick = self.allocator.allocate_stream(DataStream.CounterType, attach=True)
        fasttick = self.allocator.allocate_stream(DataStream.CounterType, attach=True)
        user1tick = self.allocator.allocate_stream(DataStream.CounterType, attach=True)
        user2tick = self.allocator.allocate_stream(DataStream.CounterType, attach=True)

        self.sensor_graph.add_node("({} always) => {} using copy_all_a".format(system_tick, systick))
        self.sensor_graph.add_node("({} always) => {} using copy_all_a".format(fast_tick, fasttick))
        self.sensor_graph.add_config(SlotIdentifier.FromString('controller'), config_fast_tick_secs, 'uint32_t', 1)

        self.sensor_graph.add_node("({} always) => {} using copy_all_a".format(tick_1, user1tick))
        self.sensor_graph.add_node("({} always) => {} using copy_all_a".format(tick_2, user2tick))
        self.system_tick = systick
        self.fast_tick = fasttick
        self.user1_tick = user1tick
        self.user2_tick = user2tick