Overview | Releases | Download | Docs | Links | Help | RecentChanges

PhaseMeasurement

This page documents how to make the phase measurement of the cosmic trigger with respect to the 40Mhz clock and also to get the pulse of the signal in the scintillators. It is foreseen that we will have 6 scintillators for the cosmics setup.

Hardware

For this, the LTP VME crate is used as well as a TDC and an ADC.

Software

From the TileCal? detector CVS from TDAQ, get the distribution. This uses RCD.

This distribution is now on /daqsoft/sct/TimingInfo?/detectors/Tile/

You have to be on the SBC to run the test program. So on lnxpool17, in the directory: /daqsoft/sct/TimingInfo?/detectors/Tile/TileVMEboards?/i686-slc3-gcc323-opt

The ADC replies when you do:

./v792_test 0x00200000 1

And the TDC replies when you do:

./v775_test 0x00100000 1

The dip switch on the corbo is set to 0x400000 -- but it replies to 0x600000 from vmescan!

./corbo_test 0x600000 1 30000 15

vmeconfig -a ~sr1daq/temp.cfg

SctRodDaq

What is needed from the SctRodDaq point of view?

OnlineHistogramming

SourceID

Notes

Notes from 2006/02/28

Bilge and Chris tried to get the Corbo+TDQ+QDC modules running in the cosmics environment.

Chris (and also Bilge?) running as sr1daq on srsctdaq1 sourcing /home/sr1daq/setup.SCT.sh which sets TDAQ_DB_DATA to /daqsoft/combined/partitions/part_SCT.xml which is not quite what we need as we use /daqsoft/combined/partitions/part_SCT_withCorboTDCQDCSegment.xml instead. This brings in the segment defined in daqsoft/combined/segments/SctCorboTDCQDC?.data.xml which is the one we want to bring in to play.

Still, it's getting closer. Need to find out why the Corbo is timing out.

Notes from 2006/03/01

Corrected the CORBO channel. Even though the CORBO manual says that the channel counting starts from 1, in software it starts from 0.

The dataout is the crucial thing that links things. The dataout from the Corbo segment is from TCP and of RODfragment type. It does not let us send this directly to the EB as a ROD fragment -- since the EB gets a ROS fragment as well. Then one needs to wrap it up on the ROS... into a ROS fragment. If we try to wrap up this ROD fragment with other ROD fragments coming from the ROD, we get an error saying they are from different type of modules!

So the thing to do is to have a new ROSsegment, building a new ROSfragment and passing that on to the EB....

March 08 Notes

The above solution works. There is a new Sub-detector fragment, which identifies itself as a TDAQ-Beam-Crate, which contains one ROS fragment which contains one ROD fragment which then contains two sub-ROD fragments, one for the ADC and one for the TDC.

The problem: errors in the first 7 events... This is because the trigger is the same for all modules and the new fragment is built faster (150ns or so faster? ) than the ROD-fragments from the modules...

When I changed the trigger so now that LTP controls the whole chain, the TDC exerts a constant BUSY and so no triggers are issued. This is now the new problem!

March 21 Notes

Yesterday the LTP crate and the corresponding NIM crate for trigger logic was moved over to where the cosmics NIM crates are. This should help get the scintillator signals into the TDC/ADC.

March 23 Notes

Bilge's summary e-mail:

Here is a brief summary of what we found out in the last few days with
Dave.
                                                                                
The L1ID problem was solved earlier when Peter was here by issuing an ECR
at the end of the "start" state transition.
                                                                                
The problem then was that occasionaly an BCR (orbit) signal coincided/ was
close to an L1A and then we got "timeout errors" in that event. This event
was followed by events with L1 errors.
                                                                                
It seems that the orbit signal is 1microsecond wide and the only
solutiono seems to be that we veto triggers during the whole duration of
that. We originally thought that suppressing the L1As within 6-8BCs
of the orbit leading edge would be enough but this was proven not to be
the case.
                                                                                
The other problem of the first seven fragments of the TDC/ADC missing was
probably due to getting the trigger from the "L1A out" of the LTP. Getting
it from the "out" of the TTCvi solves this problem. Evidently, it takes a
while for the TTCvi to "wake up" and pass on triggers?
                                                                                
The problem that was then left that either you would have the SCT fragment
or the TDC/ADC fragment in the bytestream but not both.  The cause seems
to be "the Extended L1ID" which in its top two bits uses the ECR count.
When we use a TIM issued ECR to fix the L1ID at the "start" state
transition, the first L1ID is 0x1000000 where as the TDC/ADC fragment gets
its L1ID from the Corbo module and the first L1ID is 0x0. The fix now in
place is to "by hand" add a bit into the TDC/ADC fragment. Clearly, this
is a hack...
                                                                                
This also sheds some light as to why we could not run the TRT and the SCT
together after I had done an ECR by hand. Before the ECR, the eventbuilder
happily accepted building events but afterwards built events with
only with the TRT fragment in it and issued a lot of errors about the SCT
L1ID.
                                                                                
What needs to be done is that the ECR needs to be issued globally from the
Master LTP. Otherwise, we will not be syncronized with the TRT.  Ideally,
we would use another Corbo channel to count the ECRs and to build the
extended L1ID for the TDC/ADC segment, which I think is doable.
                                                                                
Work on this continues, but I think there is progress...

Run 2198 has good data with both the SCT and the TDC/ADC fragment in it.