Dariusz Miskowiec - CERES analysis page


2000 data - general

  • List of runs taken in 1999 (text file)
  • List of runs taken in 2000 (text file)
  • List of bursts taken in 2000 (text file, 6.7 MB)

  • 2000 data - trigger

  • Grillage hardware: scalers, ADCs, TDCs, etc. in 2000 (text file)
  • Description of trigger software 2000 (text file)
  • How to cut a (step2) tree - tree analysis example:
  • CRTrig* trig=event->getTrig();
      if (trig.getPattern()&4 &&        // central trigger
          trig.getNevadc()==1 &&        // only one ADC gate in this event
          trig.getNevtdc()==1 &&        // only one TDC stop in this event
          fabs(trig.getBC1Adc())<3 &&         // BC1 ADC in peak within 3 sigma
          fabs(trig.getBC2Adc())<3) {         // BC2 ADC in peak within 3 sigma
        // before/after protection
        int nhit = 0;
        for (i=0; i<trig.getNBC1(); i++) { // loop over BC1 hits
          if (trig.getTimeBC1(i)>-2000 && trig.getTimeBC1(i)<2000) nhit++;
        }
        if (nhit>1) {
          cout<<"This event had additional beam particle(s)";
        } else {
          // do here your cleanest, most advanced, amazing analysis
        }
      }

    As of September 2004, things evolved a little. A circular cut is better for BC1 and BC2, and Oliver discovered that the before/after protection in the form shown above under some circumstances removes good events, and sometimes accepts bad ones. (This is because the TDC can store only 8 hits, and if 8 hits occur before the good one, i.e. the one that made the reaction, then the good one is absent in the data and the idea of having exactly one in the window does not work.) The correct way is as given below, sorry!

    CRTrig* trig=event->getTrig();
      if (trig.getPattern()&4 &&        // central trigger
          trig.getNevadc()==1 &&        // only one ADC gate in this event
          trig.getNevtdc()==1 &&        // only one TDC stop in this event
          trig.getBC1Adc()*trig.getBC1Adc()+trig.getBC2Adc()*trig.getBC2Adc()<16 && // BC1 and BC2 ADC values in peak within 4 sigma
        // before/after protection
        int nhit = 0;
        for (i=0; i<trig.getNBC1(); i++) { // loop over BC1 hits
          if (trig.getTimeBC1(i)>-2000 && trig.getTimeBC1(i)<-20) nhit++;
          if (trig.getTimeBC1(i)>20 && trig.getTimeBC1(i)<2000) nhit++;
        }
        if (nhit>0) {
          cout<<"This event had additional beam particle(s)";
        } else {
          // do here your cleanest, most advanced, amazing analysis
        }
      }

    The variable names refer to step2-output format. To analyze step3c output they need to be substituted with the corresponding CSEvent data member names. It should be straightforward to anybody.

    Not included above but recommended for RICH analysis are the RICH recovery cuts.


    2000 data - laser

  • Laser user manual
  • Laser history (text file)
  • Laser trigger timing in 2000 (text file)
  • Position of laser rays in the absolute runs 2000  (text file)
  • Laser smile (text file)
  • Laser event in 1999 (gif or eps)

  • TPC electric field

    The 3-d electric field was first calculated by ShinIchi using Mafia and Maxwell. The field could not explain the observed curvature (in radius vs z) of the laser tracks (laser smile). I started calculating the TPC electric field in the hope that a careful implementation of geometry and boundary conditions would help - but it did not. A break-through was the discovery that some of the field cage resistors were changing resistance under applied voltage. The effect was approximately R=R0(1-0.3 U) with U being in kV. A calculation with the resistances modified according to this formula nearly straightened the laser tracks.

    Maxwell
    Since I thought that  a precise implementation of geometry and the boundary conditions was essential I first decided to use Maxwell. A screen shot of a half-a-chamber calculation (geometry + equipotential lines) is here.

    mymax
    After we solved the problem of the smile, however,  we noticed that the accuracy of the maxwell calculation was not good enough, and that it cannot be easily improved. I then tried to smooth the bumps in the Maxwell potential. Of course, linear smoothing would be not acceptable because the potential is a non-linear function of the coordinates. Thus, I implemented a smoothing which obeys the Poisson equation. Also, I thought I should make sure the smoothing fulfills the boundary conditions. When I implemented this I noticed that the code worked so well that I did not need Maxwell field at all. I could start from ANY potential and the smoothing would ultimately bring me to the proper solution. I called the code mymax. One mymax run gives a potential of half-a-chamber, i.e. 1/32 of the TPC. It is orders of magnitude faster than Maxwell and it has no bumps, see the comparison.

    data format
    The results of the Maxwell and the mymax calculations are saved as potential on grid in the following format. The grid is
    grid3: (r 486..1350 by 1 mm, phi 11.25..22.50 by 0.25 deg, z -1100..1100 by 20 mm)
    grid4: (r 486..1350 by 2 mm, phi 11.25..22.50 by 0.50 deg, z -1100..1100 by 50 mm)
    R=486 is the HV cylinder. Phi=11.25 is the center of chamber 0. Z=0 is the middle of the TPC. Only potential values, not the grid, are saved on file. One number per line. The z-index is changing fastest, i.e. the first number is potential at (r,phi,z) = (486,11.25,-1100), the second at (486,11.25,-1080), etc. The files are stored locally on lxial15.gsi.de in /work/misko/ceres/field.
    Different files correspond to different geometries, boundary conditions, etc.
    The most prominent ones are:

    Using the seven laser rays in the special sector of the TPC, located at the same phi and different radii, and the electrons knocked out of the inner electrode cylinder at R=486 mm, the electron drift velocity can be determined as a fuction of the electric field. This figure shows
    1) the drift time measured for the seven rays and the cylinder as a function of z
    2) the mobility, i.e. ratio between drift velocity and electric field, versus electric field; points are from Magboltz;
    solid black line is from the fit to laser data
    3) radius reconstructed using TPC data vs z,  compared to the known position of the laser rays (lines)
    4) one ray zoomed

    mymax2d
    Now that the smile and the bumps were gone, we tried to take into account the small corrections of the readout chamber positions. The calculation was done in two dimensions only. The pages of this file demonstrate 1) calculated potential, 2) agreement with the 3-dimensional mymax calculation, 3) potential with tilted chambers, and 4) potential with a displaced inner cylinder.

    This internal note from 2006 describes my calculation of the electric field in some detail.


     go back to my homepage