Analysis Tools

From Hall A Wiki
Revision as of 12:13, 11 January 2013 by Flay (Talk | contribs) (InSANE)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Software

InSANE

InSANE is a set of libraries for handling general physics calculations from models (cross sections, asymmetries, unpolarized and polarized structure functions and PDFs, etc.) and more focused analyses for the SANE experiment. If one navigates to the Modules page, information concerning such models may be found. InSANE is fully compatible with ROOT and takes advantage of the various classes like TF1 and TF2 to evaluate models for an arbitrary dependent variable like x and/or Q2, for example.

InSANE utilizes the CLHEP libraries for physical constants and follows the Geant4 methodology concerning units. See the Packages page for more information, in addition to useful namespaces for kinematical calculations in particular.

Currently, POLRAD, used for radiative corrections to the asymmetries A1 and A2, is being developed into the framework. It takes advantage of the existing classes for the various models. It will be available on the website for viewing soon.

Cut Glossary

Below, a glossary of cuts used in the d2n analysis for both the LHRS and BigBite detectors is given. By utilizing these cuts, one may reproduce our analysis of the data. The processed data files---ROOT files--- are located on the d2n machine (at JLab) in the following locations:

  • LHRS data: /data1/flay/ROOTfiles/20110404/SkimROOTfiles/Skim1/
    • LHRS file names: e06014_det_L_skim1_run.root (e06014_det_L_skim1_run_i.root),
  • BigBite data: /w/halla/e06014/20101118/SkimROOTfiles/
    • BigBite file names: e06014_skim_BB_run.root (e06014_skim_BB_run_i.root),

where run = run number. The file name in parentheses is that for which a run has multiple files (for i=1,...,n).

LHRS

The list of cuts below are presented in the form in which they are used in ROOT macros when carrying out calculations. These variable names are compatible with the Hall A Analyzer. Note that all the cuts listed below are valid for both the 4- and 5-pass running.

The acceptance cuts on the target variables have not been included below as they are currently being studied.

Electron Cuts

Cut Description
(DL.edtpl==0)&&((DL.evtypebits&(1<<3))==(1<<3)) Taken as a whole, this is the good electron trigger (T3) cut. The first component of the cut removes the dead-time pulse trigger. The latter requires that a good trigger from the LHRS was generated (that is, a coincidence between the S1 and S2m scintillating planes). The efficiency of the T3 trigger is discussed here. NOTE: Be careful concerning the use of the parentheses!
L.tr.n==1 The one-track event cut. We choose only those particles for which the VDCs have assigned one good track to. The efficiency of this cut is discussed here.
L.vdc.i.nclust==1 The VDC one-cluster reconstruction cut. This is to be applied for i VDC planes, where i = u1, u2, v1 and v2 (lowercase letters are to be used in the code). This ensures that one cluster has fired in each of the VDC planes when a track for a particle is reconstructed by the VDC software. See the previously mentioned technical note for the VDCs for more information.
L.cer.asum_c>400 The gas Cherenkov ADC cut. The gas Cherenkov was calibrated so that the one photoelectron peak is centered at 200 ADC channels. PID cut efficiency studies show that the optimal cut position is at 400 ADC channels (2 photoelectrons). This is due to the fact that pions will primarily show up in the one photoelectron peak, while good electrons will yield roughly 6--7 photoelectrons in the gas Cherenkov ADC spectum.
abs(L.cer.t[i]-mean)<lim The gas Cherenkov TDC cut. This cut is to accompany the above ADC cut. Note that this is a sum over i PMTs from 0 to 9. 'mean' is the mean TDC peak position, while 'lim' is the cut window (in TDC channels). It is best to determine each of the i PMT mean peak positions for each run.
(prl_E_P>0.54)&&(L.prl1.e>200) The pion rejector E/p and first pion rejector layer cut. This cut removes pions from our sample. The first cut is on the pion rejector's E/p distribution, while the second requires that the energy deposited by the particle in the first pion rejector layer is greater than 200 MeV. Pions typically deposit less than 200 MeV in this pion rejector layer, so this cut is further reinforcement of the E/p cut. The cut efficiency study relating to the pion rejector may be found in the previously mentioned technical note for PID studies.
L.tr.beta>-0.15 The beta distribution cut. The particle's speed is determined from its corresponding TDC distribution in the S1 and S2m scintillating planes. This distribution is typically centered on 1 for good particles (e.g. not cosmics). In this way, we ensure the removal of cosmic particles, which typically have a beta distribution centered on -1, indicating that they travel backwards through our detectors. The choice of -0.15 is due to the way the software handles multihit events in the various PMTs of the scintillators. It turns out that these events that show up as a large spike at -0.15 in the beta distribution are in fact good events. For more details, please see this talk (slides 14--18).
(ExTgtCor_L.p>0)&&(ExTgtCor_L.p<10) Reasonable reconstructed momentum cut. There are instances when the software will fail to reconstruct a track for a particle, in which case the momentum of the particle is set to a very large, unrealistic value. Such events are not desirable and are removed. The units of this variable is GeV, so we require the modest range of 0 to 10 GeV in momentum for a reconstructed track. We use this variable for the momentum, since it incorporates corrections to the reconstructed momentum and out-of-plane angle that are due to a finite x-position of the reaction point at the target. See the THaExtTarCor.C source code of the Hall A Analyzer for further details.
skim_beam_trip==0 The beam-trip removal cut. Ideally during data taking, the beam current remains very steady. Sometimes problems may arise where the beam will trip, causing the current to drop to very low values. The data during such trips where the current is changing is not desirable. We have encoded into our ROOT files a variable which removes these bad segments of data. Setting this variable to 0 removes beam trips. Setting it to 1 removes good data, leaving only the tripped data. Please see this talk (slides 3--6) for more information.

BigBite

4.734 GeV Electron Cuts

Data Quality Cuts

Cut Description
skim.beam_trip==0 During the coarse of the experiment, the electron beam trips resulting in a loss of incident electrons on the target. In order to keep the incident electron flux to the target constant, beam trips were removed. setting beam_trip = 0 removes the beam trips and beam_trip = 1 shows the beam tripped events. Here we accept the black events as "good" events.

Black events are good beam events and red events are beam tripped events for a particular run.
BB.tr.n > 0 This cut requires that the MWDC hardware is able to reconstruct a track from a given event. For a given event, there could be more than one track, so all non-zero tracks are considered and only those that satisfy all other cuts are kept.
skim.p[]>0 && skim.p[]<10 A cut is applied to the momentum in order to select a reasonable momentum range. Here we accept everything in between the red lines.

momentum with no other cuts.
TMath::Abs(BB.ts.sh.x-1.01134e-2-BB.tr.x[]-1.28*BB.tr.th[])<0.1 To make sure that we have a reconstructed momentum and the deposited energy in the calorimeter belong to the same particle, we require the particle (x,y) locations found from the calorimeter to match the particle location found by projecting the reconstructed (x,y) tracks to the calorimeter in question. We have a pre-shower and shower to match tracks to. This totals four calorimeter-track matching cuts. The first is the shower X position to match the projected X track. Here we accept everything in between the red lines.

Shower X - Projected track X (no cuts applied).
TMath::Abs(BB.ts.sh.y+6.4908e-3-BB.tr.y[]-1.28*BB.tr.ph[])<0.1 The second calorimeter-track matching cut is shower Y - projected track Y. Here we accept everything in between the red lines.

Shower Y - Projected track Y (no cuts applied).
TMath::Abs(BB.tr.x[]+0.97*BB.tr.th[]-BB.ts.ps.x+7.8303e-3)<0.2 The third calorimeter-track matching cut involves the pre-shower, projected X track - Pre-shower X. Here we accept everything in between the red lines.

Projected track X - Pre-shower X (no cuts applied).
TMath::Abs(BB.tr.y[]+0.97*BB.tr.ph[]-BB.ts.ps.y-0.01)<0.19 The fourth calorimeter-track matching cut is, projected Y track - Pre-shower Y. Here we accept everything in between the red lines.

Projected track Y - Pre-shower Y (no cuts applied).
BB.tr.chi2[]/BB.tr.ndof[]<5 We also make a cut on the quality of the track. <math>\frac{\chi^2}{N} = \frac{1}{N}\sum\limits_{i=0}\frac{(x_{reconstructed}-x_{track})^2}{R^2_i}</math>. Where the x values represent the track and hit positions of the <math>i^{th}</math> plane and <math>R_i</math> is the resolution of that plane found in the tracking software. Our cut uses the quantity <math>\frac{\chi^2}{N}</math>, where N is the number of degrees freedom, where <math> N=N_{planes}-4 </math>, which is the number of MWDC planes - the number of fit parameters (four independent variables per track). Normally the closer <math>\frac{\chi^2}{N}</math> is to one the better the fit. However in our case, the plane resolution is set too high leading to a <math>\frac{\chi^2}{N}</math> less than 1. But a cut on this quantity can still be used to select quality tracks.Here we accept everything to the left of the red line.
,<math>\chi^2/N</math>.(no cuts applied).

Acceptance Cuts

Cut Description
TMath::Abs(BB.tr.vz[])<0.17 This is a cut on reconstructed vertex position. This cut is used to select scattered electrons that are incident on the 40cm <math>^3</math>He target. Here we accept everything in between the red lines.

Z-vetrex with no other cuts.
(BB.optics.vzflag[]==1)&&(BB.tr.tg_th[]<0.2) Two geometrical cuts were used to select electrons from the target that passed through the BigBite magnet. The first cut was developed by Xin Quian during E06-010. It is based on the position where the projected front and back tracks intersect the bend plane which bisects the magnet. If the particle falls on an undesirable location in the bend plane, it is assumed that the particle passed through an undesirable magnet location. This cut is refereed to as the vz-flag cut. The second geometrical cut is a cut on the vertical slope of the front track, (see geometry 2 cut Superelastics section for more info, *note BB.tr.tg_th[] definition was changed to -1*BB.tr.tg_th[] after this talk) was applied to further remove faulty optics reconstruction. Here we accept every thing below the red line.

Plots only have z-vertex cut applied
(BB.optics.bendx + 0.23*BB.tr.ph)>-0.097 && (BB.optics.bendx + 0.23*BB.tr.ph)<0.13 In order to remove scattering from electrons form obstructions, such as iron pole faces and coil housings. Since these particles will deposit lower energy in the calorimeter, we look at low energy, high momentum particles projected on 0.23m upstream from the bend plane and determine where to place the cut. Here we accept every thing in between the two red lines.For more information slides 4-7

All cuts are used, with the exception of E/p. Two additional cuts used here are E<1 GeV and p > 1.5 GeV

Particle ID Cuts

Cut Description
(DBB.evtypebits&(1<<2))==(1<<2) This cut is used to select T2 events, which is the main electron trigger for the d2n experiment. The T2 trigger is a geometrical over lap between 4 of the the BigBite Cerenkov mirrors and a cluster of Shower+Preshower blocks. See trigger set-up and trigger note for more information.
BB.optics.charge[]==(1,-1) The charge type of each particle can be specified by a charge cut of, +1 for particles bending down in BigBite magnet or -1 for particles bending up in BigBite magnet. When The BigBite magnet is set to negative polarity, this corresponds to charge=1 for positive charge and charge=-1 for negative charge. When the magnet is in positive polarity setting, charge=1 corresponds to negative charge (bend down in magnet) and charge =-1 for positive charge (bend up in magnet). Because the charge selection cut uses the bend direction of the track on the first wire chamber, the higher momentum particles are discarded. This is because at high momentum the particles will not be bent by the magnet.

Charge selection cut, Red is charge =+1, blue is charge = -1 and black is all particles no charge cut applied. No other cuts are applied other than charge.
0.5*BB.ts.ps.e The main background contamination is due to pion production. Because low energy deposition in the pre-shower is characteristic of non showering particles such as pions. We can make a cut to remove most of these non-showering events. All events to the right of the red line are accepted.

Pre-shower energy (no cuts applied).
(0.5*BB.ts.ps.e + BB.ts.sh.e)/(1000*skim.p[]) > 0.833 && (0.5*BB.ts.ps.e + BB.ts.sh.e)/(1000*skim.p[]) < 1.158 The mass of the scattered electron compared to it's momentum is negligible, the electron will deposit most of it's energy in the calorimeters. Because of this, it's energy should be about the same as it's momentum. We can therefore use E/p to select good electrons. Here all events in between the red lines are accepted.

E/p electron selection (pre-shower energy cut applied).
Ndata.DBB.BBcerT%02d>0 && (TMath::Abs(DBB.BBcerT%02d[Ndata.DBB.BBcerT%.2d - Ndata.DBB.BBcerT%.2d] - offset)<width) Another cut that is used to select electron is the BigBite Cerenkov TDC cut. The Cerenkov consists of 20 PMTs, each with a TDC assosiated with it. These TDCs are multi-hit TDCs and so we first require that the TDC has a non-zero hit, this is done with Ndata.DBB.BBcerT%02d, which is an integer count of how many hists TDC %02d has. If there is a hit on the TDC, we then also require that event falls within the correct timing widow of the TDC. This is done by aligning the electron peak of the TDC to TDC channel 0, by subtracting an offset. We then require that the particle falls with in a window of +/- 50 TDC channels of the electron peak, given by width in the above cut. The TDC cuts are shown below. All events that all in between the two red lines are accepted.During the analysis, it was found that only the 1st hit fell within the timing window of the electron peak. So in order to select the first hit of the TDC, we index the TDC being used by Ndata.BBcerT%02d - Ndata.BBcerT%02d, this assures that we only use the 1st TDC hit of TDC %02d. It was also discovered that the beam-line side of the Cerenkov had higher rates than that of the RHRS-side of the Cerenkov. As a result the RHRS-side TDCs are cleaner than the beam-line side TDCs.

Beam-side BB Cerenkov TDC electron selection (cuts applied: vertex,fiducial and charge).
RHRS-side BB Cerenkov TDC electron selection (cuts applied: vertex,fiducial and charge).
((BB.tr.x[] + dist*BB.tr.th[])>low_x) && ((BB.tr.x[] + dist*BB.tr.th[])<hi_x) In addition to the BigBite Cerenkov TDC cuts, we also require the tracks to align with the Cerenkov mirrors. This is done by requiring a projected x track to align with one of the 20 vertical Cerenkov mirrors positions. In this cut the dist variable is the distance from the first MWDC to the Cerenkov plane. The low_x and hi_x are the lower and upper vertical positions that the projected track must pass through. There is a low_x and hi_x position for each mirror. The plot below shows this cut for each mirror, all events falling in-between teh two red lines are accepted. It should also be noted that there are almost no events in mirrors 9,10,19 and 20 because these are out of the acceptance of the 4.7GeV electrons with the BigBite magnet in negative polarity.

Beam-side BB Cerenkov vertical mirror track alignment (cuts applied: vertex,fiducial, cer TDC and charge).
RHRS-side BB Cerenkov vertical mirror track alignment (cuts applied: vertex,fiducial, cer TDC and charge).