This page provides information on the alignment procedure of the SVT tracker for the 2019 data.

 

Data Samples

We start with elastically-scattered, full-energy electrons from the early calibration runs employing the Full Energy Electron (FEE) trigger.

For the field-off, straight track analysis we use run 10101.

For field-on data we use runs 10103 and 10104.

For V0 skims we use run 10031. We use this run to get a decent sample of positrons to illuminate the "slot" sensors.

More details about the run can be found at 2019 Run Spreadsheet.

Event Reconstruction

Preliminary reconstruction was performed with a snapshot of the hps-java master using the HPS-PhysicsRun2019-v2-4pt5.

Event Selection

Since we are starting with an unaligned detector, and pattern recognition may be affected, we make rather tight selection cuts on the event as a whole to get a good quality sample of tracks. We start with an FEE sample of roughly 600k events in which one and only one high energy cluster was found in the electromagnetic calorimeter, and one and only one track was found in the event. The V0 skim requires a cluster to have been associated with both the electron and positron tracks and the time difference between the two clusters to be less than 2ns. They were selected using the following command (in the runDir directory).:

for i in {000..262}; do bsub -W 1:00 -R rhel60 -o /nfs/slac/g/hps_data2/data/physrun2019/skim/v0/alignment/logs/hps_010031.evio.00"$i"_v0skimForAlignment.log java -server -jar hps-distribution-4.5-SNAPSHOT-bin.jar skimV0tight.lcsim -i /nfs/slac/g/hps_data2/data/physrun2019/skim/v0/hps_010031/hps_010031.evio.00"$i"_v0skim.slcio  -DoutputFile=/nfs/slac/g/hps_data2/data/physrun2019/skim/v0/alignment/hps_010031.evio.00"$i"_v0skimForAlignment -e 100; done

Data Samples

We list data samples publicly available at SLAC. Samples can be made available at other locations if need be.

The FEE samples are divided into top (290398 events) and bottom (318450 events) samples to allow calibration and alignment to be targeted.

/nfs/slac/g/hps_data2/data/physrun2019/hps_010103/skim/alignment/hps_010103.evio.00XXX_alignment_YY.slcio  XXX = 000 - 191 YY = top, bottom

/nfs/slac/g/hps_data2/data/physrun2019/hps_010104/skim/alignment/hps_010104.evio.00XXX_alignment_YY.slcio  XXX = 000 - 206 YY = top, bottom

The V0 skims can be found at:

/nfs/slac/g/hps_data2/data/physrun2019/skim/v0/alignment/hps_010031.evio.00XXX_v0skimForAlignment.slcio XXX = 000 - 262

Procedure

The reconstruction needs to be run over the data samples using every new detector.

A combination of output from the GBLRefitterDriver and GBLOutputDriver provides information for the alignment procedure. The former (with the correct steering file settings) will produce the binary output file which is fed to millepede for the alignment (as described in the SVT Detector Alignment page). The latter produces useful diagnostic histograms such as residual plots, which document the quality of the alignment.

Working Directory

The primary working directory for these studies at SLAC is

/nfs/slac/g/hps_data2/data/physrun2019/svtAlignment/

Step-by-step guide

These instructions assume you are in the /nfs/slac/g/hps_data2/data/physrun2019/svtAlignment/runDir directory

  1. Prepare a new detector using the results of a previous alignment.

  2. Rerun the reconstruction over the data sets using this new detector. I suggest creating a new directory for each detector and alignment pass to keep things clean
    1.  For development and testing you may want to run over a single file just to test things.

      java -server -jar hps-distribution-4.5-SNAPSHOT-bin.jar PhysicsRun2019ReReconForAlignment.lcsim -i <inputFileName> -DoutputFile=outputs/DetectorNamePassX/<outputFileName> -d <detectorName> -R 10103
    2.  For production at SLAC you can use the following for FEE 10103:  

      for i in {000..191}; do bsub -W 4:00 -R rhel60 -o outputs/HPS-PhysicsRun2019-v2-4pt5_Pass0/logs/hps_010103.evio.00"$i".log java -server -jar hps-distribution-4.5-SNAPSHOT-bin.jar PhysicsRun2019ReReconForAlignment_multiFiles.lcsim -DinputFileList=inputs/hps_010103.evio.00"$i"_InputFileList.txt -DoutputFile=outputs/HPS-PhysicsRun2019-v2-4pt5_Pass0/hps_010103.evio.00"$i" -d HPS-PhysicsRun2019-v2-4pt5 -R 10103 -e 1000; done

      and similarly for FEE 10104: 

      for i in {000..206}; do bsub -W 4:00 -R rhel60 -o outputs/HPS-PhysicsRun2019-v2-4pt5_Pass0/logs/hps_010104.evio.00"$i".log java -server -jar hps-distribution-4.5-SNAPSHOT-bin.jar PhysicsRun2019ReReconForAlignment_multiFiles.lcsim -DinputFileList=inputs/hps_010104.evio.00"$i"_InputFileList.txt -DoutputFile=outputs/HPS-PhysicsRun2019-v2-4pt5_Pass0/hps_010104.evio.00"$i" -d HPS-PhysicsRun2019-v2-4pt5 -R 10104 -e 1000; done

      Each set of FEE jobs normally finishes within 6 minutes, so the 600k events can be processed in slightly over 10 minutes.

    3.  For production processing of the V0 skims from run 10031: 

      for i in {000..262}; do bsub -W 4:00 -R rhel60 -o outputs/HPS-PhysicsRun2019-v2-4pt5_Pass0/logs/hps_010031.evio.00"$i".log java -server -jar hps-distribution-4.5-SNAPSHOT-bin.jar PhysicsRun2019ReReconForAlignment_multiFiles.lcsim -DinputFileList=inputs/hps_010031.evio.00"$i"_v0skimForAlignmentInputFileList.txt -DoutputFile=outputs/HPS-PhysicsRun2019-v2-4pt5_Pass0/hps_010031.evio.00"$i"_voskimForAlignment -d HPS-PhysicsRun2019-v2-4pt5 -R 10031 -e 100; done



  3.  The resulting root files can be concatenated using the command-line utility: 

    hadd FEE_HPS-PhysicsRun2019-v2-4pt5_Pass0.root outputs/HPS-PhysicsRun2019-v2-4pt5_Pass0/*01010*.root

    and can be analyzed using a standard set of analysis macros to produce a series of canonical plots. Note that root version 6 or above is needed.

  4.  millepede is able to accept multiple input binary files, so there is no need to concatenate them at this time.

  5. Analysis proceeds as described on the SVT Detector Alignment page.

  6. Once a new detector is built incorporating the new alignment proceed to the first step to iterate the procedure or test and validate a final detector.