Spin PWG

This is a feed of Drupal items targeting the "Spin" Audience.

Polarization

I am using the final polarization numbers from run 6, released by A. Bazilevsky to the spin group on December 4, 2007.  The files can be found below.

Run List

Below you will find the runlist I used for all of the studies leading up to a preliminary result.  For a more detailed look at how I arrived at this runlist please see my run

Updated Charged Pion A_{LL} predictions

Received some new NLO pQCD predictions from Werner incorporating DSS fragmentation functions.  Here's a comparison of these predictions to the old mocked up ones used in the SPIN 2006 preliminary result:




No really dramatic changes here.  The increased asymmetries might mean that g-g scattering is even more important than predicted originally.  Of course, this goes in the wrong direction if we're looking for better agreement with our Pythia.

g-g suppression in Pythia

I'm concerned about an apparent deficit of g-g scattering events in our CDF Tune A Pythia samples.  I first noticed this deficit when I was looking at MC asymmetries for pi-minus production, where the difference between asymmetries from g-g and q-g events is extreme.  For reference, here is Vogelsang's prediction for the subprocess mixture for inclusive pi0 production:

Compare that to the following plot from Pythia for pi-plus production after combining partonic samples starting at 3_4:

If I add 2_3 GeV the gg contribution at low pT gets a boost, but I'm still seeing ~zero pions from g-g scattering at 8 GeV, where Vogelsang predicts 20% g-g. 

Renee suggested skipping the observables and just plotting the event partonic pT.  The turnover from gg to qg occurs at 3 GeV ... seems too low to me.  On the other hand, the mixture is ~20% g-g at 16 GeV, which seems about right.

One other tidbit for any Pythia tuners out there.  When I was running standalone Pythia to get the various partonic xsections for weighting purposes I saw a number of advisory warnings like

Advisory warning: maximum violated by 1.120D+00 in event 625
XSEC(28,1) increased to 5.982D-01

in this case, I was running the 5_7 sample.  The initial max value for the q-g xsec was 5.3392D-01, and the final measured xsec was 1.515D-01.  Not sure if it's significant.

Update 11-19-2007

I looked into the relationship between charged pion p_{T} and event partonic p_{T} in more detail.  Here are plot of charged pion multiplicity and mean pion p_{T} versus event p_{T}:

so g-g events actually produce more charged pions per event, but these pions are all at low p_{T}.  The second conclusion is reinforced by the PDF I've linked at the bottom of the page, which shows pion p_{T} spectra split by subprocess for a range of partonic p_{T} bins.  The g-g events have a much steeper slope.  Those plots are not normalized by the # of events per subprocess, so the conclusion about the number of pions per event is not immediately evident.

Update 11-27-2007

I tried manually rescaling the g-g scattering contribution to the PYTHIA asymmetries; it looks like increasing the g-g by a factor of 5 does a decent job of reproducing the NLO theoretical predictions:

no rescaling

multiply g-g by 3.0

multiply g-g by 5.0

References

Agreement Between "Polarized" Pythia and NLO pQCD
Updated Charged Pion A_{LL} predictions

Agreement Between "Polarized" Pythia and NLO pQCD

We're using an afterburner framework that turns Pythia into something like a LO polarized event generator to study any biases introduced by our triggers on A_LL measurements.  This page compares the asymmetries generated by Pythia to theoretical predictions from GRSV.

Cuts

  • MC and reco vz positions inside 60 cm
  • |eta| of reco primary track < 1.0
  • dca of associated global < 1.0
  • fit points > 25
  • select pions using geant ID 8 (pi-plus) or 9 (pi-minus)

No trigger requirements are imposed.

Weighting

I combined MC samples 3_4 through 55_65 using the following cross sections and event counts

xsec = {
'3_4' : 1.287, 384593
'4_5' : 3.117*10**-1, 586568
'5_7' : 1.360*10**-1, 380791
'7_9' : 2.305*10**-2, 404272
'9_11' : 5.494*10**-3, 413651
'11_15' : 2.228*10**-3, 418547
'15_25' : 3.895*10**-4, 407427
'25_35' : 1.016*10**-5, 99998
'above_35' : 5.299*10**-7, 119995
'45_55' : 2.830*10**-8, 119995
'55_65' : 1.433*10**-9 119998
}

Plots

First off, here are the asymmetries integrated over all subprocesses.  The left column is pi-plus, the right column is pi-minus.  The agreement for postive charges seems basically acceptable to me, but pi-minus is off by quite a lot:

If I restrict to g-g, q-g, and q-q subprocesses individually, the difference between the two is obviously in the q-g subprocess contribution (as expected):

It seems to me that the lack of agreement between our Monte Carlo and the theoretical predictions could be due in part to a lack of gg / over-abundance of qg in the subprocess mix.  Here are plots of the subprocess mix from Pythia:

compare that to the prediction from Vogelsang et al. for inclusive pi0 production, where gg is the primary contributor until ~3 GeV:

In particular, only the 3_4 GeV partonic sample has more g-g than q-g at any pion p_T.  I'm going to try including the 2_3 GeV sample in my studies and see if that bolsters the gg contribution.

Old Studies

Outdated or obsolete studies are archived here

Charged Pions

Charged pion analysis

Di jets

Speaker : Tai Sakuma


Talk time : 09:00, Duration : 00:30

DNP 2007 Inclusive Hadron Talk

Here are the powerpoint and pdf versions of my slides for DNP.

2006 Neutral Pion Update (9/27/07)

Click on the link to download my slides for the PWG meeting.

Presentation

Average Partonic Pt Carried by Charged Pions

Here's a fragmentation study looking at the ratio of reconstructed charged pion p_{T} and the event partonic p_{T} in PYTHIA.  Cuts are

  • fabs(mcVertexZ()) < 60
  • fabs(vertexZ()) < 60
  • geantId() == 8 or 9 (charged pions)
  • fabs(etaPr()) < 1
  • fabs(dcaGl()) < 1
  • fitPts() > 25

fragmentation_parton_reco

Error bars are just the errors on the mean partonic p_{T} in each reconstructed pion p_{T} bin.  Next step is to look at the jet simulations to come up with a plot that is more directly comparable to a real data measurement.

Effect of Triggers on Relative Subprocess Contributions

These histograms plot the fraction of reconstructed charged pions in each pion pT bin arising from gg, qg, and qq scattering.  I use the following cuts:

  • fabs(mcVertexZ()) < 60
  • fabs(vertexZ()) < 60
  • geantId() == 8 or 9 (charged pions)
  • fabs(etaPr()) < 1
  • fabs(dcaGl()) < 1
  • fitPts() > 25

I analyzed Pythia samples from the P05ih production in partonic pT bins 3_4 through 55_65 (excluded minbias and 2_3).  The samples were weighted according to partonic x-sections and numbers of events seen and then combined.  StEmcTriggerMaker provided simulations of the HT1 (96201), HT2 (96211), JP1 (96221), and JP2 (96233) triggers.  Here are the results.  The solid lines are MB and are identical in each plot, while the dashed lines are the yields from events passing a particular software trigger.  Each image is linked to a full-resolution copy:

HT1HT2
JP1JP2

Conclusions

  1. Imposing an EMC trigger suppresses gg events and enhances qq, particularly for transverse momenta < 6 GeV/c.  The effect on qg events changes with pT.  The explanation is that the ratio (pion pT / partonic pT) is lower for EMC triggered events than for minimum bias.
  2. High threshold triggers change the subprocess composition more than low-threshold triggers.
  3. JP1 is the least-biased trigger according to this metric.  There aren't many JP1 triggers in the real data, though, as it was typically prescaled by ~30 during the 2005 pp run.  Most of the stats in the real data are in JP2.

Run 6 Relative Luminosity (Tai Sakuma)

Along with the spin sorted yields and the polarization, the relative luminosity is important piece of the spin asymmetries and is measured by BBC and ZDC.

Run 6 Inclusive Jet Cross Section (Tai Sakuma)

Inclusive Jet Cross Sections in Proton-proton collisions at √s = 200 GeV

Tai Sakuma

How to run the patched PYTHIA 6 in starsim

The most of the MC production jobs that the spin PWG requested for the di-jet analysis didn't finish successfully
Patch for a bug in PYTHIA6
This page explains how to run the patched PYHIA 6 as the event generator for starsim. The starsim has a mechanism where a user can choose a specific version of Pythia to use at run time.This feature will be used.

Pions in Jets study

Jet Pion Study

Procedure

Patch for a bug in PYTHIA6

This patch is included in PYTHIA from PYTHIA 6.412. You don't need to apply this patch if you are using PYTHIA 6.412 or newer.

Download Patch

pythia-6.4.11-t.diff : patch for PYTHIA-6.4.11
pythia-6205-6205t.diff : patch for PYTHIA-6.205

If you need the patch for a different version of PYTHIA, email sakuma@bnl.gov.

Single-Spin Asymmetries

Here’s a quick summary of various single-spin asymmetry sanity checks (yellow, blue, like-sign, unlike-sign) calculated for both types of charged pions in the Run 6 data.

pi^{-}

Pi Minus elb Fill Pi Minus elb pt Pi Minus els Fill Pi Minus els pt Pi Minus eus Fill Pi Minus eus pt

pi^{+}

pi<em>plus</em>ely<em>fillpi</em>plus<em>ely</em>pt Pi Plus elb FillPi Plus elb pt Pi Plus els Fill Pi Plus els pt Pi Plus eus Fill Pi Plus eus pt Every measurement is absolutely consistent with zero, and I don't see a single problematic fill in this list.

Cuts Summary

Here's a list of the cuts applied to the data in the common spin trees.

Run 5

Event
  • standard spinDB requirements
  • production triggers only
ConeJets
  • 0.2 < detEta < 0.8
  • 0.1 < E_neu / E_tot < 0.9
chargedPions
  • pt > 2
  • -1 < eta < 1
  • nFitPoints > 25
  • |DCA_global| < 1
  • -1 < nSigmaPion < 2
bemcPions
  • pt > 3.0
  • photon energies > 0.1
  • asymmetry < 0.8
  • 0.08 < mass < 0.25
  • charged track veto
  • BBC timebin in {7,8,9}

Run 6

Event
  • standard spinDB requirements
  • production triggers + trigId 5 (L2gamma early runs)
ConeJets, ConeJetEMC -- no cuts applied

chargedPions
  • pt > 2
  • -1 < eta < 1
  • nFitPoints > 25
  • |DCA_global| < 1
  • -1 < nSigmaPion < 2
bemcPions
  • pt > 5.2
  • photon energies > 0.1
  • asymmetry < 0.8
  • 0.08 < mass < 0.25
  • charged track veto
  • BBC timebin in {7,8,9} update:  timebin 6 added in 2007-07-18 production
  • both SMD planes good
bemcElectrons added as of 2007-07-18 production
  • hardware or software trigger in (117001, 137213, 137221, 5, 137222, 137585, 137611, 137622)
  • Global dE/dx cut changing with momentum
  • nFitPoints >= 15
  • nDedxPoints >= 10
  • nHits / nPoss >= 0.52
  • track Chi2 < 4
  • DCAGlobal < 2
  • NEtaStrips > 1 && NPhiStrips > 1
  • Primary dE/dx cut changing with momentum
  • 0.3 < P/E < 1.5
  • -0.01287 < PhiDist < 0.01345
  • ZDist in [-5.47,1.796] (West) or [-2.706,5.322] (East)

Common Analysis Trees

The Spin PWG maintains a set of trees connecting datasets from the various inclusive measurements in a way that allows for easy particle correlation studies. This page describes how to access the data in those trees.

Location

RCF:    /star/institutions/mit/common/run6/spinTree/
PDSF:   /auto/pdsfdv34/starspin/common/run6/spinTree/
Anywhere:   root://deltag5.lns.mit.edu//Volumes/scratch/common/run6/spinTree/spinAnalyses_runnumber.tree.root

The last option uses xrootd to access read-only files stored on an MIT server from any computer with ROOT installed.  If you have an Intel Mac note that ROOT versions 5.13.06 - 5.14.00 have a bug (patched in 5.14.00/b) that prevents you from opening xrootd files.

Interactive Mode

The basic trees are readable in a simple interactive ROOT session.  Each particle type is stored in a separate tree, so you need to use TTree::AddFriend to connect things together before you draw.  For example:

root [1] TFile::Open(&quot;root://deltag5.lns.mit.edu//Volumes/scratch/common/run6/spinTree/spinAnalyses_7156028.tree.root&quot;); root [2] .ls TXNetFile** root://deltag5.lns.mit.edu//Volumes/scratch/common/run6/spinTree/spinAnalyses_7156028.tree.root TXNetFile* root://deltag5.lns.mit.edu//Volumes/scratch/common/run6/spinTree/spinAnalyses_7156028.tree.root KEY: TProcessID ProcessID0;1 00013b6e-72c3-1640-a0e8-e5243780beef KEY: TTree spinTree;1 Spin PWG common analysis tree KEY: TTree ConeJets;1 this can be a friend KEY: TTree ConeJetsEMC;1 this can be a friend KEY: TTree chargedPions;1 this can be a friend KEY: TTree bemcPions;1 this can be a friend root [3] spinTree-&gt;AddFriend(&quot;ConeJets&quot;); root [4] spinTree-&gt;AddFriend(&quot;chargedPions&quot;); root [5] spinTree-&gt;Draw(&quot;chargedPions.fE / ConeJets.fE&quot;,&quot;chargedPions.fE&gt;0&quot;) If you have the class definitions loaded you can also access member functions directly in the interpreter:

root [6] spinTree-&gt;Draw(&quot;chargedPions.Pt() / ConeJets.Pt()&quot;,&quot;chargedPions.Pt()&gt;0&quot;)

Batch Mode

The StSpinTreeReader class takes care of all the details of setting branch addresses for the various particles behind the scenes.  It also allows you to supply a runlist and a set of triggers you're interested in, and it will only read in the events that you care about.  The code lives in

StRoot/StSpinPool/StSpinTree

and in the macros directory is an example showing how to configure it.  Let's look at the macro step-by-step:

//create a new reader StSpinTreeReader *reader = new StSpinTreeReader(); //add some files to analyze, one at a time or in a text file reader-&gt;selectDataset(&quot;$STAR/StRoot/StSpinPool/StSpinTree/datasets/run6_rcf.dataset&quot;); //reader-&gt;selectFile(&quot;./spinAnalyses_6119039.tree.root&quot;); Ok, so we created a new reader and told it we'd be using the files from Run 6 stored on RCF.  You can also give it specfic filenames if you'd prefer, but there's really no reason to do so.

//configure the branches you're interested in (default = true) reader-&gt;connectJets = true; reader-&gt;connectNeutralJets = false; reader-&gt;connectChargedPions = true; reader-&gt;connectBemcPions = true; reader-&gt;connectEemcPions = false; reader-&gt;connectBemcElectrons = false; //optionally filter events by run and trigger //reader-&gt;selectRunList(&quot;$STAR/StRoot/StSpinPool/StSpinTree/filters/run6_jets.runlist&quot;); reader-&gt;selectRun(7143025); //select events that passed hardware OR software trigger for any trigger in list reader-&gt;selectTrigger(137221); reader-&gt;selectTrigger(137222); reader-&gt;selectTrigger(137611); reader-&gt;selectTrigger(137622); reader-&gt;selectTrigger(5); //we can change the OR to AND by doing reader-&gt;requireDidFire = true; reader-&gt;requireShouldFire = true; In this block we configured the reader to pick up the jets, chargedPions and BEMC pi0s from the files. We also told it that we only wanted to analyze run 7132001, and that we only cared about events triggered by BJP1, L2jet, or L2gamma in the second longitudinal running period.  Finally, we required that one of those trigIds passed both the hardware and the software triggers.

After that, the reader behaves pretty much like a regular TChain.  The first time you call GetEntries() will be very slow (few minutes for the full dataset) as that's when the reader chains together the files and applies the TEventList with your trigger selection.  Each of the particles is stored in a TClonesArray, and the StJetSkimEvent is accessible via reader->event().

StJetSkimEvent *ev = reader-&gt;event(); TClonesArray *jets = reader-&gt;jets(); TClonesArray *chargedPions = reader-&gt;chargedPions(); TClonesArray *bemcPions = reader-&gt;bemcPions(); long entries = reader-&gt;GetEntries(); for(int i=0; i

What's Included?

Common trees are produced for both Run 5 and the 2nd longitudinal period of Run 6. Here's what available:

Run 5
  1. skimEvent
  2. ConeJets
  3. chargedPions
  4. bemcPions
Run 6
  1. skimEvent
  2. ConeJets12
  3. ConeJetsEMC
  4. chargedPions -- see (Data Collection)
  5. bemcPions
  6. bemcElectrons

Known Issues

The first time you read a charged pion (batch or interactive) you may see some messages like

Error in <tclass::new>: cannot create object of class StHelix</tclass::new>

These are harmless (somehow related to custom Streamers in the StarClassLibrary) but I haven't yet figured out how to shut them up.

42 runs need to be reprocessed for chargedPions in Run 5.  Will do once Andrew gives the OK at PDSF.

40 runs need to be reprocessed for Run 6 because of MuDst problems.  Murad has also mentioned some problems with missing statistics in the skimEvents and jet trees that we'll revisit at a later date.

Future Plans

Including EEMC pi0s and StGammaCandidates remains on my TO-DO list.  I've also added into StJet a vector of trigger IDs fired by that jet.  Of course we also need to get L2 trigger emulation into the skimEvent.  As always, if you have questions or problems please feel free to contact me.