Multidimensional HBT analysis
Multidimensional HBT analysis is often used to study dimensions of the system formed in high energy collisions along different directions. This twiki gathers the multidimensional HBT results obtained by modifying Padova's code for including different projections of the pair relative momenta. Previous 1-dimensional results can be found
here (0.9 and 2.36 TeV)
and
here (0.9 and 7 TeV)
.
Datasets
The current analysis uses the same dataset used by Padova in the 1-dimensional study:
The full statistics corresponds to 2.7M events from data and 1.5M events from MC (Pythia6-Z2). All plots in this twiki made use of full statistics.
How to run the code
Show details
Hide details
The code that produces multidimensional HBT results is located at Padova:
@gate.pd.infn.it --> @t2
-ui-05.pd.infn.it
in the following directories:
/home/lagana/WorkOn
and
/lustre/cmswork/lagana/7TeV
To run the code, simply make
at /home/lagana/WorkOn
and run the macros ./run_program_data.sh
and ./run_program_MC.sh
at /lustre/cmswork/lagana/7TeV
.
The newer macros to produce histograms are at /home/lagana/7TeV/BecTree
. These macros uses a tree with the following structure to make histograms:
typedef struct
{
float qinv;
float qt;
float qout;
float qlong;
float qside;
float coulomb_same_signal;
int ch1ch2;//charge product
float kT;
int Nch;
} hbt_tree_entry;
The usage of TTree instead of THnSparse is due to problems with memory allocation for THnSparse in the 5-dimensional case (qO vs. qL vs. qS vs. kT vs. Nch).
Additional plots & studies
- Single ratios of data and MC with (++) pairs and (--) pairs considered separately, using SameEvent/!MixedEvent pairs
- Double ratio of the above single ratio plots
- Check normalization issue of plots by extending the plotting region up to 5 GeV/c in both qL and qT
- Data and Monte Carlo Quality Plots
- Pseudorapity
- Phi
- pT
- Multiplicity
- dxy
- ndof
- PID (dE/dx): comparision with current results using the adopted cuts but no PID.
- We might want to perform the analysis in the LCMS reference frame.
qT vs. qL results
This section shows several correlation functions in the transverse and longitudinal component of the 3-momentum difference (qT and qL) obtained in the center-of-mass reference frame. Multiplicity (Nch) and momentum average (kT) studies are presented. Two different ways of combining tracks for constructing the reference sample have been used: event mixing with similar track multiplicity per eta region, and opposite charged tracks from same event. The following legend specifies the combinations used:
- SE = Same Event
- ME = Mixed Event
- AS = All Signs (charges) = [(++),(--),(+-)]
- SS = Same Sign (charge)
- OS = Opposite Sign (charge)
Unless other stated, single and double ratio histograms in (qT,qL) were normalized up to 2 GeV/c.
Nch and kT integrated
1. 2D distributions of
number of pairs in (qT,qL) corresponding to: Signal (Same Event, Same Sign), Background_Mix (Mixed Event, All Signs) and Background_Opp (Same Event, Opposite Sign)
Show plot
Hide plot
- Top: Lego plots of (SE,SS), (ME,AS) and (SE,OS)
- Bottom: Superimposed surface plots of (SE,SS) and (ME,AS) [left and middle], and (SE,SS), (SE,OS) [right plot]
2. 1D distributions of
number of pairs along qT for first qL bin (left) and along qL for first qT bin (right)
Show plot
Hide plot
a. (SE,SS) and (ME,AS):
b. (SE,SS) and (SE,OS):
3. 2D single ratios (
SE,SS)/(
ME,AS) in (qT,qL): Data and MC
Show plot
Hide plot
a. 2D single ratios:
b. 2D single ratios with error bars:
4. 2D double ratios Data[(
SE,SS)/(
ME,AS)]/MC[(
SE,SS)/(
ME,AS)] in (qT,qL):
Show plot
Hide plot
a. 2D double ratios: [ 2.7M data/1.5M MC evts; chi2/ndf = 6542/1596 ]
b. 2D double ratios with error bars:
c. 2D double ratio in (qT,qL):
5. Fitted functions to the 2D double ratios Data[(
SE,SS)/(
ME,AS)]/MC[(
SE,SS)/(
ME,AS)] in (qT,qL)
Show plot
Hide plot
a. 2D double ratio in (qT,qL) with Gaussian fit (and normalization) in the range (qT,qL)<2 GeV/c: [ 2.7M data/1.5M MC evts; chi2/ndf = 6542/1596 ]
b. 2D double ratio in (qT,qL) with Gaussian fit (and normalization) in the range (qT,qL)<5 GeV/c:
- Table : This is the fit parameters for the double ratio in the extended region up to 5 GeV/c.
========================= levy =============================
FCN=67184.8 FROM MIGRAD STATUS=CONVERGED 211 CALLS 212 TOTAL
EDM=1.07999e-07 STRATEGY= 1 ERROR MATRIX ACCURATE
EXT PARAMETER STEP FIRST
NO. NAME VALUE ERROR SIZE DERIVATIVE
1 A 9.96406e-01 9.63276e-05 1.17919e-05 1.88398e-01
2 lambda 6.01941e-01 1.36403e-02 4.62944e-04 1.62719e-02
3 rT 7.62178e-01 1.01102e-02 7.27200e-04 2.68371e-02
4 rL 1.30967e+00 1.93013e-02 7.65773e-04 2.05645e-02
5 alpha 1.29732e+00 1.89508e-02 1.14568e-03 2.66247e-02
========================= gauss =============================
FCN=67943.6 FROM MIGRAD STATUS=CONVERGED 167 CALLS 168 TOTAL
EDM=1.5424e-07 STRATEGY= 1 ERROR MATRIX ACCURATE
EXT PARAMETER STEP FIRST
NO. NAME VALUE ERROR SIZE DERIVATIVE
1 N 9.96641e-01 9.53700e-05 1.18611e-05 1.55992e-01
2 lambda 3.74079e-01 4.29788e-03 2.94035e-04 -1.30118e-02
3 rT 6.48435e-01 6.45172e-03 6.06889e-04 8.92616e-02
4 rL 1.00638e+00 7.18590e-03 5.87569e-04 7.21473e-03
========================= gauss2 =============================
FCN=67927.1 FROM MIGRAD STATUS=CONVERGED 1296 CALLS 1297 TOTAL
EDM=5.15976e-08 STRATEGY= 1 ERROR MATRIX ACCURATE
EXT PARAMETER STEP FIRST
NO. NAME VALUE ERROR SIZE DERIVATIVE
1 A 9.97339e-01 1.96392e-04 1.18680e-05 -2.93886e-01
2 lambda 3.75592e-01 4.34080e-03 2.96579e-04 -1.89226e-02
3 rT 6.52515e-01 6.58415e-03 6.12730e-04 3.22711e-02
4 rL 1.01225e+00 7.37662e-03 5.92636e-04 4.11233e-02
5 delta -6.59857e-05 1.62301e-05 1.00264e-06 2.58126e+00
c. 2D double ratio in (qT,qL) with exponential fit (and normalization) in the range (qT,qL)<2 GeV/c:
d. 2D double ratio in (qT,qL) with Levy-type fit (and normalization) in the range (qT,qL)<2 GeV/c:
6. 1D projections along qT (first qL bin) and along qL (first qT bin)
Show plot
Hide plot
[ chi2/ndf = 6542/1596 (from 2d fit) ]
a. 1D double double Data[(SE,SS)/(ME,AS)]/MC[(SE,SS)/(ME,AS)] versus qL for first bin in qT:
b. 1D double double Data[(SE,SS)/(ME,AS)]/MC[(SE,SS)/(ME,AS)] versus qT for first bin in qL:
c. Single and double ratio projections up to 5 GeV:
7. 2D single ratios and double ratio in (qT,qL) with Background_Opp (SE, OS):
Show plot
Hide plot
- 2D single ratios (SE,SS)/(SE,OS) for data (left) and MC (middle), and double ratio Data[(SE,SS)/(SE,OS)]/MC[(SE,SS)/(SE,OS)] (right):
8. 2D single ratios and double ratio in (qT,qL) for opposite sign as signal, with Background_Mix (
ME,AS):
Show plot
Hide plot
- 2D single ratios (SE,OS)/(ME,OS) in (qT,qL) for data (left) and MC (middle), and double ratio Data[(SE,OS)/(ME,OS)]/MC[(SE,PS)/(SE,OS)] (right)
9. 2D single ratio Data[(
SE,SS)]/MC[(
SE,SS)] in (qT,qL)
Show plot
Hide plot
Nch study
10. 2D single ratios (
SE,SS)/(
ME,AS) in (qT,qL) for Data and MC in 3 Nch bins:
Show plot
Hide plot
a. 2D single ratios for Data and MC in 3 Nch bins:
b. 2D single ratios with error bars for Data and MC in 3 Nch bins:
11. 2D double ratios Data[(
SE,SS)/(
ME,AS)]/MC[(
SE,SS)/(
ME,AS)] in (qT,qL) in 3 Nch bins:
Show plot
Hide plot
[ chi2/ndf (Nch1) = 3661/1596; chi2/ndf (Nch2) = 4940/1596; chi2/ndf (Nch3) = 4665/1596 ]
a. 2D double ratios in 3 Nch bins:
b. 2D double ratios with error bars in 3 Nch bins:
- 2d-opp-charge-double-ratios_Nch.png:
*
kT study
12. 2D single ratios (
SE,SS)/(
ME,AS) for Data and MC in 3 kT bins:
Show plot
Hide plot
a. 2D single ratios for Data (top) and MC (bottom) in 3 kT bins:
b. 2d-data-mc-single-ratio-kT_v3err.png:
13. 2D double ratios Data[(
SE,SS)/(
ME,AS)]/MC[(
SE,SS)/(
ME,AS)] in (qT,qL) in 3 kT bins:
qTqL double ratio divided in kT bins
Show plot
Hide plot
a. 2D double ratios in (qT,qL) in 3 kT bins:
b. 2D double ratios with error bars in 3 kT bins:
14. 2D single ratios in (qT,qL) with Background_Opp (SE, OS) for Data and MC in 3 kT bins:
Show plot
Hide plot
a. 2D single ratios (SE,SS)/(SE,OS) for data (top) and MC (bottom) in (qT,qL) in 3 kT bins:
b. 2d-opp-charge-single-ratios_kT_v3err.png:
15. 2D double ratio with Background_Opp (SE, OS) in 3 kT bins:
Show plot
Hide plot
- 2D double ratios Data[(SE,SS)/(SE,OS)]/MC[(SE,SS)/(SE,OS)] in (qT,qL) in 3 kT bins:
- 2d-opp-charge-double-ratios_kT_v3err.png:
qOut vs. qLong vs. qSid results
This section shows the correlation function obtained for the three independent components of the momentum difference: q_out, q_long and q_side. As statistics is still low for this study, no Nch nor kT study have been performed yet.
Nch and kT integrated
16. 2D single ratios (
SE,SS)/(
ME,AS) in (qO,qL) [first qS bin], in (qS,qO) [first qL bin], and in (qS,qL) [first qO bin]:
Show plot
Hide plot
Back view:
a. 2D single ratios in (qO,qL) [first qS bin] (left), in (qS,qO) [first qL bin] (middle), and in (qS,qL) [first qO bin] (right) for Data (top) and MC (bottom):
b. 2D single ratios with error bars in (qL,qO) [first qS bin] (left), in (qS,qO) [first qL bin] (middle), and in (qL,qS) [first qO bin] (right) for Data (top) and MC (bottom):
Front view: Show plot
Hide plot
c. 2D single ratios in (qO,qL) [first qS bin] (left), in (qS,qO) [first qL bin] (middle), and in (qS,qL) [first qO bin] (right) for Data (top) and MC (bottom):
17. 2D double ratios Data[(
SE,SS)/(
ME,AS)]/MC[(
SE,SS)/(
ME,AS)] in (qO,qL) [first qS bin], in (qS,qO) [first qL bin], and in (qS,qL) [first qO bin]:
Show plot
Hide plot
Back view:
a. 2D double ratios in (qO,qL) [first qS bin] (left), in (qO,qS) [first qL bin] (middle), and in (qL,qS) [first qO bin] (right):
3d-3x2d-double-ratio_v3.png:
b. 2D double ratios with error bars in (qO,qL) [first qS bin] (left), in (qO,qS) [first qL bin] (middle), and in (qL,qS) [first qO bin] (right):
3d-3x2d-double-ratio_v3_err.png:
Front view: Show plot
Hide plot
c. 2D double ratios in (qO,qL) [first qS bin] (left), in (qO,qS) [first qL bin] (middle), and in (qL,qS) [first qO bin] (right):
3d-3x2d-double-ratio_v2.png:
18. 1D single and double ratios (
SE,SS)/(
ME,AS) along qO [first qS & qL bins], along qL [first qO & qS bins], and along qS [first qO & qL bins] for Data and MC:
Show plot
Hide plot
Fit results on TH3 histogram:
(gaussian)
FCN=102698 FROM MIGRAD STATUS=CONVERGED 215 CALLS 216 TOTAL
EDM=6.66544e-07 STRATEGY= 1 ERROR MATRIX ACCURATE
EXT PARAMETER STEP FIRST
NO. NAME VALUE ERROR SIZE DERIVATIVE
1 A 9.94606e-01 1.19551e-04 1.79773e-05 4.44709e+00
2 #lambda 3.59709e-01 4.19717e-03 3.42560e-04 3.09150e-01
3 r_{out} 1.00776e+00 8.44181e-03 1.02888e-03 1.80669e-02
4 r_{long} 6.25623e-01 6.29383e-03 7.16620e-04 -1.02031e-01
5 r_{side} 9.22774e-01 1.09497e-02 1.28068e-03 -2.58040e-02
chi2/ndf=102698/63995
(exponential)
FCN=102371 FROM MIGRAD STATUS=CONVERGED 214 CALLS 215 TOTAL
EDM=5.3958e-07 STRATEGY= 1 ERROR MATRIX ACCURATE
EXT PARAMETER STEP FIRST
NO. NAME VALUE ERROR SIZE DERIVATIVE
1 A 9.93962e-01 1.22222e-04 1.79370e-05 1.32247e+00
2 #lambda 8.62423e-01 1.16002e-02 8.10546e-04 -8.73707e-03
3 r_{out} 1.47726e+00 1.46637e-02 1.63201e-03 3.61240e-02
4 r_{long} 8.62767e-01 1.01834e-02 1.05780e-03 6.84615e-02
5 r_{side} 1.18971e+00 1.69778e-02 1.76234e-03 2.30381e-02
chi2/ndf=102371/63995
a. Normalized up to 5 GeV/c and zoomed up to 2 GeV/c
- 3d-3x1d-single-and-double-ratios_v2.png:
b. Normalized and shown up to 5 GeV/c Show plot
Hide plot
- 3d-3x1d-single-and-double-ratios.png:
Nch study
Statistics is to low for dividing in Nch bins.
19. [To be completed] qOqLqS double ratio vs. multiplicity
Show plot
Hide plot
*
kT study
Statistics is to low for dividing in kT bins.
20. [To be completed] qOqLqS double ratio vs. kT
Show plot
Hide plot
*
Comments
Leave here any comment you would like to make.
- (Caio) Do we understand the increasing value of r_T with increasing kT in bullet 13? It should decrease, as r_L (and r_inv in the q-invariant analysis).
Comparison: Approved/published plots versus plots remade from Trees
This section shows the comparison between the plots I generated after modifying Padova code with the plots of the PAS (Phisics Analysis Summary) in
this link
.
A. Double ratio comparison
Show plot
Hide plot
- qinv_dratio_padova_comparison_v2.png:
Normalization up to 5 GeV Show plot
Hide plot
- Double_ratio-2GeV-5GeV.png:
B. Double ratio for increasing number of events in the sample:
Show plot
Hide plot
- qinv_dif-events_v1.png:
C. Mixing/opposite charge/data over mc
Show plot
Hide plot
- qinv-backgr-comparison_v3.png:
D. qinv data/MC same charge
Show plot
Hide plot
- qinv-data-over-mc-same-charge.png:
E. qinv same charge/opp charge
Show plot
Hide plot
- qinv-same-over-opposite-charge.png:
Code logbook
This section lists the modifications I made in Padova code. All modifications can be found with the tag
Caio
inside each file at
Padova:/home/lagana/WorkOn
.
- EventMixer.c
- line 4 inserted
using namespace ROOT::Math;
- line 6 tree declaration
typedef struct
{
float qinv;
float qt;
float qout;
float qlong;
float qside;
float coulomb_same_signal;
int ch1ch2;//charge product
float kT;
int Nch;
} hbt_tree_entry;
hbt_tree_entry signal_tree_entry;//must be global
hbt_tree_entry backgr_tree_entry;//must be global
-
- line 103 created new histograms
qTqL_SignalHisto_yesCoulomb = new TH2D("qTqL_SignalYesCoulomb", "qTqL_SignalYesCoulomb", 40, 0., 2., 40, 0., 2.);
- line 114-122 create N-Dim histograms (analog
hqschVsKtVsNch->Fill(TMath::Abs(psum1.Pt())/2.,GTVector.size(),q,CoulombW(q));
)
//===========================================================
// 4D histograms (Caio)
//===========================================================
// {qT, qL, kT, Nch}
Int_t bins[4] = {40, 40, 100, 150};
Double_t xmin[4] = {0., 0., 0., 0.};
Double_t xmax[4] = {2., 2., 5., 150.};
qTqL_kT_Nch_SignalHisto_yesCoulomb = new THnSparseF("qTqL_kT_Nch_SignalHisto_yesCoulomb", "...", 4, bins, xmin, xmax);
qTqL_kT_Nch_SignalHisto_noCoulomb = new THnSparseF("qTqL_kT_Nch_SignalHisto_noCoulomb", "...", 4, bins, xmin, xmax);
//===========================================================
// 5D histograms (Caio)
//===========================================================
// {qO, qL, qS, kT, Nch}
Int_t qOqLqS_kT_Nch_bins[5] = {40, 40, 40, 100, 150};
Double_t qOqLqS_kT_Nch_xmin[5] = {0., 0., 0., 0., 0.};
Double_t qOqLqS_kT_Nch_xmax[5] = {.8, .8, .8, 5., 150.};
qOqLqS_kT_Nch_SignalHisto_yesCoulomb = new THnSparseF("qOqLqS_kT_Nch_SignalHisto_yesCoulomb", ..., 5, qOqLqS_kT_Nch_bins, qOqLqS_kT_Nch_xmin, qOqLqS_kT_Nch_xmax);
qOqLqS_kT_Nch_SignalHisto_noCoulomb = new THnSparseF("qOqLqS_kT_Nch_SignalHisto_noCoulomb",..., 5, qOqLqS_kT_Nch_bins, qOqLqS_kT_Nch_xmin, qOqLqS_kT_Nch_xmax);
qOqLqS_kT_Nch_RefHisto = new THnSparseF("qOqLqS_kT_Nch_RefHisto", "qOqLqS_kT_Nch_RefHisto", 5, qOqLqS_kT_Nch_bins, qOqLqS_kT_Nch_xmin, qOqLqS_kT_Nch_xmax);
-
- line 154 and 251 write new histograms to file
qTqL_ReferenceHisto->Write();
- line 156 tree creation
//===========================================================
// HBT trees
//===========================================================
hbt_signal_tree = new TTree("hbt-signal-tree", "hbt-signal-tree");
hbt_backgr_tree = new TTree("hbt-backgr-tree", "hbt-backgr-tree");
//
hbt_signal_tree->Branch("signal-pairs", &signal_tree_entry, "qinv/F:qt/F:qout/F:qlong/F:qside/F:coulomb_ss/F:ch1ch2/I:kT/F:Nch/I");
hbt_backgr_tree->Branch("backgr-pairs", &backgr_tree_entry, "qinv/F:qt/F:qout/F:qlong/F:qside/F:coulomb_ss/F:ch1ch2/I:kT/F:Nch/I");
-
- line 251 and 154 Sumw2 in new histograms
qTqL_SignalHisto_yesCoulomb->Sumw2();
- line 288 delete new histograms
delete qTqL_SignalHisto_yesCoulomb;
- line 494 and 637 declared 3D vectors
XYZVector k1, ...
- line 537 and 654 fill new histograms
qTqL_SignalHisto_yesCoulomb->Fill(sqrt(qT.Mag2()), sqrt(qlon.Mag2()), CoulombW(q));
(analog hqdch->Fill(q,CoulombWpm(q))
)
- line 574-577 fill 4D histograms
Double_t qTqL_kT_Nch_entry[4] = {sqrt(qT.Mag2()), sqrt(qlon.Mag2()), TMath::Abs(psum1.Pt())/2., GTVector.size()};
qTqL_kT_Nch_SignalHisto_yesCoulomb->Fill(qTqL_kT_Nch_entry, CoulombW(q));
qTqL_kT_Nch_SignalHisto_noCoulomb->Fill(qTqL_kT_Nch_entry);
-
- line 585
qlon.SetCoordinates(0, 0, q3D.Z());
and qout = qT.Dot(KT.Unit())*KT.Unit();
and qsid = qT - qout;
- line 598 hbt_tree_entry filling
// qinv, qt, qout, qlong, qside, kT, Nch -- Tree (Caio)======================
signal_tree_entry.qinv = q;
signal_tree_entry.qt = sqrt(qT.Mag2());
signal_tree_entry.qout = sqrt(qout.Mag2());
signal_tree_entry.qlong = sqrt(qlon.Mag2());
signal_tree_entry.qside = sqrt(qsid.Mag2());
signal_tree_entry.coulomb_same_signal = CoulombW(q);
signal_tree_entry.ch1ch2 = GTCharge[ev1] * GTCharge[rev1];
signal_tree_entry.kT = TMath::Abs(psum1.Pt())/2.;
signal_tree_entry.Nch = GTVector.size();
hbt_signal_tree->Fill();
//============================================================================
- line 608 5D entry
Double_t qOqLqS_kT_Nch_entry[5] = {sqrt(qout.Mag2()), sqrt(qlon.Mag2()), sqrt(qsid.Mag2()), TMath::Abs(psum1.Pt())/2., GTVector.size()};
- line 609 5D fill
qOqLqS_kT_Nch_SignalHisto_yesCoulomb->Fill(qOqLqS_kT_Nch_entry, CoulombW(q));
- line 719 5D reference histos filling
//4D reference histos (Caio)==========
Double_t qTqL_kT_Nch_entry[4] = {sqrt(qT.Mag2()), sqrt(qlon.Mag2()), TMath::Abs(psum2.Pt())/2., SizeEv1};
qTqL_kT_Nch_RefHisto->Fill(qTqL_kT_Nch_entry);
// qO vs. qS vs. qL vs. kT vs. Nch (Caio)=====================================
Double_t qOqLqS_kT_Nch_entry[5] = {sqrt(qout.Mag2()), sqrt(qlon.Mag2()), sqrt(qsid.Mag2()), TMath::Abs(psum2.Pt())/2., SizeEv1};
qOqLqS_kT_Nch_RefHisto->Fill(qOqLqS_kT_Nch_entry);
//====================================
- EventMixer.h
- line 4 inserted
#include "Math/Vector3D.h"
- line 5 inserted
#include "THnSparse.h"
- line 132 declared new histograms
TH2D* qTqL_SignalHisto_yesCoulomb;
- line 140 4D histograms
THnSparseF* qTqL_kT_Nch_SignalHisto_yesCoulomb;
- EtaSegMix.c
- line 51 replaced
pow(10,10)
by std::pow(10.,10.)
because of incompatibility with #include "Math/Vector3D.h"
- line 60 replaced
pow(10,maxnbins - mm)
by std::pow(10.,(double)(maxnbins - mm))
because of incompatibility with #include "Math/Vector3D.h"
- EtaSegRotatedMix.c
- line 56 replaced
pow(10,10)
by std::pow(10.,10.)
because of incompatibility with #include "Math/Vector3D.h"
- line 100 replaced
pow(10,maxnbins - mm)
by std::pow(10.,(double)(maxnbins - mm))
because of incompatibility with #include "Math/Vector3D.h"
- /home/lagana/7TeV/Bec2d
- New directory with the following macros to produce data and MC single ratio and double ratio
- produceDataSingleRatio.C
- produceMcSingleRatio.C
- produceDoubleRatio.C
- run2dPlots.sh
- The output files are
2d-data-results.root
, 2d-mc-results.root
and 2d-double-ratio.root
- /home/lagana/7TeV/Bec3d
- New directory to produce qOqLqS results
--
CaioLagana - 05 Apr 2012