status of a.l.i.c.e. simulation

24
Status of A.L.I.C.E. Simulation 25/11/2003 @ NIKHEF ! by Emanuele Simili

Upload: luka

Post on 13-Jan-2016

53 views

Category:

Documents


0 download

DESCRIPTION

Status of A.L.I.C.E. Simulation. 25/11/2003 @ NIKHEF ! by Emanuele Simili. Summary. What I’m doing here . And why. What is AliRoot. Generators & “virtual events”. Some plots & results. Impact Parameter & Reaction Plane. Flow & Fourier Analysis. Next steps …. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Status of  A.L.I.C.E.  Simulation

Status of A.L.I.C.E. Simulation

25/11/2003 @ NIKHEF !

by Emanuele Simili

Page 2: Status of  A.L.I.C.E.  Simulation

Summary

• What I’m doing here . And why .

• What is AliRoot .

• Generators & “virtual events” .

• Some plots & results .

• Impact Parameter & Reaction Plane .

• Flow & Fourier Analysis .

• Next steps …

Page 3: Status of  A.L.I.C.E.  Simulation

Basic IdeaThe basic idea of my PhD is to study Flow from high energy heavy ion collision in the next to come A.L.I.C.E. experiment (Au+Au

~5.5 TeV) .• What’s Flow:

• Why Flow:

Particle squeeze out from the collision region with a non-spherical momenta distribution .

Flow gives us informations about the Thermo-Dynamical state in the collision region .

EQUATION OF STATE

Page 4: Status of  A.L.I.C.E.  Simulation

How to … Up to 2007 (when A.L.I.C.E. experiment is planned to

start at LHC) our study is limited to MC simulations .

Monte Carlo generators

…that’s all we need to build Virtual Datas

Well known ROOT’s analysis tools

(Pythia, GeVSim, etc…)

Virtual DetectorsVirtual Interactions & HitsVirtual Reconstruction & Tracking

(Geometry, Material, etc…)

(Geant3, etc…)

(macros)

(& more…)

! constantly under development !

In A.L.I.C.E. the simulation has gone so far that the entire experiment is “stored” in ~180 Mb of C++ code :

+

Page 5: Status of  A.L.I.C.E.  Simulation

AliRoot Configuration AliRoot (as Root) is entirely based on C++ : • Functions, Macros and Commands must

follow the standard C++ sintax (Cint) . • The event generation is handled via a configuration file (that is also a C++ script) .

Config.C

Initialize Geant3

Initialize Pythia

Initialize the Generator

Switch on/off detectors and mag. fieldSet detectors parameters . . .

*

Page 6: Status of  A.L.I.C.E.  Simulation

Generators & GeVSim AliRoot can generate events using different kind of particle generators . We can choose the one that best fits our needs :• Hijing : p-p collision (Pythia) + Glauber model .• Shaker : random phase space distribution .• GeVSim : user defined PT, Y, Φ distributions .• Other external generators …

Best to study Flow : GeVSimGeVSim (by S.Radomski) is the evolution, up to A.L.I.C.E. energies, of the MeVSim generator used in S.T.A.R. .

*

Page 7: Status of  A.L.I.C.E.  Simulation

Why GeVSim (1) Particles’ Flow is a fenomenon not completly understood microscopically (i.e.

from basic principles) . It means that we do not have a theoretical model to simulate Flow during the collision .

Flow must be added externally to simulated datas ! …and GeVSim does it .

boost

Page 8: Status of  A.L.I.C.E.  Simulation

Why GeVSim (2) Possibility to generate arbitrary distribution of the physical variables, particle type, etc . 4 different analytical d2N/dPTdY distribution (built from four different expansion model of a thermal source), or user-defined ones .

For more information see :http://radomski.home.cern.ch/radomski

…yes, this is MapleV running under Windows98, under VMware, under Linux RH7.2 .

Page 9: Status of  A.L.I.C.E.  Simulation

GeVSim ConfigurationConstructor

GeVSim does NOT simulate Real Physics !

AliGenGeVSim *gener = new AliGenGeVSim(0); // 0 = reaction plane angle

AliGeVSimParticle *piPlus = new AliGeVSimParticle(kPiPlus, 2, 100, 0.18) ;AliGeVSimParticle *piMinus = new AliGeVSimParticle(kPiMinus, 2, 100, 0.18) ;// AliGeVSimParticle *KPlus = new AliGeVSimParticle(kKPlus, 2, 500, 0.16) ;// AliGeVSimParticle *KMinus = new AliGeVSimParticle(kKMinus, 2, 500, 0.16) ;

piPlus->SetEllipticSimple(0.12) ; gener->AddParticleType(piPlus) ;piMinus->SetEllipticSimple(0.12) ; gener->AddParticleType(piMinus) ;

gener->SetMomentumRange(0., 999.) ;gener->SetPtRange(0., 10.) ;gener->SetPhiRange(0, 360) ;gener->SetOrigin(0, 0, 0) ; // vertex positiongener->SetYRange(-4, 4) ;

gener->SetTrackingFlag(0); // no transport

gener->Init();…

Particle typesBoost (Flow)

Initialization

Physical limits &

Settings

…but (warning!) :

Config.C

Page 10: Status of  A.L.I.C.E.  Simulation

Example of Event (the Event Display )

Some thousands of π, no flow .

Page 11: Status of  A.L.I.C.E.  Simulation

Event Structure

TTree

Kinematics(produced particles)

Detectors Parameters

This is the output file gAlice.root

each version of each detector requires his

own TTree of hits

Hits for each detector

Page 12: Status of  A.L.I.C.E.  Simulation

Event Reconstruction Each detector involved in the event (i.e. switched on in

Config.C) requires it’s own external reconstruction routines ( ! ) . The path is :

TTreeH (hits) digits clusters tracks

From gAlice.root

The output of each detector is a TTree containing the reconstructed Tracks as C++ objects…

TPC (the only one I use at the moment) : Class AliTPCtrack .

…of a different Class for each detector .

Page 13: Status of  A.L.I.C.E.  Simulation

Angular Distributions (No Flow)MC

TPC

10.000 π , GeVSim model 2 , T=0.18, Ev.Plane=0° , elliptic simple=0 .

Page 14: Status of  A.L.I.C.E.  Simulation

Angular Distributions (Elliptic Flow)MC

TPC

10.000 π , GeVSim model 1 , T=0.18 , σ=0.6 , Ev.Plane=0° , elliptic simple=0.2 .

Page 15: Status of  A.L.I.C.E.  Simulation

Pt-Y Distributions

10.000 π , GeVSim model 2 , T=0.18 .

Page 16: Status of  A.L.I.C.E.  Simulation

(Transverse) Momentum Spectra

dN/dP dN/dPT 1/PT dN/dPT dN/dMT 1/MT dN/dMT

MC

TPC

10.000 π , GeVSim model 1 , T=0.18 , σ=0.6 .

Page 17: Status of  A.L.I.C.E.  Simulation

Fits (p1 ~ T = 0.18 GeV)

slope ~ -1/T = 5.555

MC

TPC

10.000 π , GeVSim model 2 , T=0.18 .

…fit functions…

…rapidity win…

Page 18: Status of  A.L.I.C.E.  Simulation

Reaction Plane

xy

z

bb

Reaction

Plane

b (distance between nuclei

centers) is a vector in the xy-plane x

y

bb

b and the z-axis define the :

z

P distribution is approximately symmetric with respect to the Reaction Plane .

LHC = z

Page 19: Status of  A.L.I.C.E.  Simulation

Plane angle calculation

2

22

1

22

1

)()()(

a

papppD

yv

xvy

v

Nxv

N

vjv

iv

ji mppF1

, 2

There are a lot of different methods to find out Φ : the angle of vector b . x

y

I mostly use 3 (4) of them, event by event :

bb

ΦΦ

#3 Azimuthal Correlation :

#2 Transverse Momentum Analysis :

#1 Kinetic Sphericity Tensor :

(#4) First Fourier Angle : …ψ1 should be Φ ± π …

…direction of b = eigenvector with the greatest eigenvalue .

…direction of b = direction of Q .

N

vpwQ1

…angle of b = parameter a that minimizes the function D2 .

Page 20: Status of  A.L.I.C.E.  Simulation

Implementation// #1 Kinetic Sphericity Tensor -----------------------------------------Double_t KSphT(TTree* TT, Bool_t ptrl=0) { TMatrix F(3,3) ; TParticle* tp ; ... for(Int_t vv=0; vv<numerodientries; vv++) { TT->GetEntry(vv) ; if(CutP(tp)) { P[0] = tp->Px() ; P[1] = tp->Py() ; P[2] = tp->Pz() ; mass = tp->GetCalcMass() ; for(Int_t ii=0; ii<3; ii++) { for(Int_t jj=0; jj<3; jj++) { F(ii,jj) += (P[ii] * P[jj]) / (2 * mass) ; } } } } eigenv = F->EigenVectors(eigvals) ; TVector v1= TMatrixColumn(eigenv,0) ; Rangle = atan2(v1[2],v1[1]) ; return Rangle ;}

// #2 Transverse Momentum Analysis --------------------------------------Double_t TrMan(TTree* TT, Bool_t ptrl=0) { TVector Q(2) ; TParticle* tp ; ... for(Int_t vv=0; vv<numerodientries; vv++) { TT->GetEntry(vv) ; w = (tp->Pz())/((fabs(tp->Pz()))*(tp->Pt())) ; Q[0] += w*(tp->Px()) ; Q[1] += w*(tp->Py()) ; } Rangle = atan2(Q[1],Q[0]) ; return Rangle ;}

// #3 Azimuthal Correlation --------------------------------------------Double_t AzCorr(TTree* TT, Bool_t ptrl=0) { Double_t Parametro[2] ; TVector P(2) ; TParticle* tp ; ... for(Int_t vv=0; vv<numerodientries; vv++) { TT->GetEntry(vv) ; P[0] = tp->Px() ; P[1] = tp->Py() ; sx += P[0]*P[0] ; sy += P[1]*P[1] ; sxy += P[0]*P[1] ; } Parametro[0] = 1/2*(sy -sx +sqrt(sx*sx -2*sx*sy +sy*sy +4*sxy*sxy)) / sxy ; Parametro[1] = 1/2*(sy -sx -sqrt(sx*sx -2*sx*sy +sy*sy +4*sxy*sxy)) / sxy ; a = Parametro[0] ; Double_t D20 = sx = sy - (sx + a*sy + a*sxy)/(1-a*a) ; a = Parametro[1] ; Double_t D21 = sx = sy - (sx + a*sy + a*sxy)/(1-a*a) ; ... if(D20>D21) { a = Parametro[1] ; } else { a = Parametro[0] ; } return a ;}

#1

#3

#2

For reconstructed tracks, TParticle* becomes AliTPCtrack* .

Page 21: Status of  A.L.I.C.E.  Simulation

Results (MC only)Reaction Plane fixed (0°)

Reaction Plane rotating (0°→360°)

#1 #2

#3 #4

#1 #2

#3 #4

…but I work out .

Ok! ~

under development wrong!

Ok! ~

under development wrong!

Page 22: Status of  A.L.I.C.E.  Simulation

Fourier Analysis

1

0 )sin()cos(1

2

)(

nnn

T nynxx

d

dp

)sin(

)cos(

vv v

Tn

vv v

Tn

nd

dpy

nd

dpx

Since the distribution dpT(Φ)/dΦ is a periodical funcion, it can be written in the form of fourier expansion :

Where the Fourier Coefficient (xn , yn) are integrals of dpT(Φ)/dΦ weighted by cos(nΦ) & sin(nΦ)

respectively . From datas we can estrapolate (event by event) :

n

nn

nnn

x

yTg

yxV

1

22

…in polar cords :

There’s Flow if V2 ≠ 0 .

Page 23: Status of  A.L.I.C.E.  Simulation

Fourier Routine & Results// Fourier analysis -----------------------------------------------------TVector FourCoff(TTree* TT, Int_t N, Double_t RapWin=.9) { Double_t pT, Y, phi ; TParticle* tp ; … for(Int_t vv=0;vv<numerodientries;vv++) { TT->GetEntry(vv) ; if(CutP(tp)) { pT = tp->Pt() ; phi = tp->Phi() ; Y = Ycalc(tp) ; XX += pT*cos(N*phi) ; YY += pT*sin(N*phi) ; } } VPsi[0] = sqrt(XX*XX + YY*YY) ; VPsi[1] = atan2(YY,XX) ; return VPsi ;} // ----------------------------------------------------------------------)

ψ1‘s values distribution over 100 events

ψi evolution (i=0..4) over the same set of 100 events…

!

Should be a gaussian centered on 0° (angle of the

reaction plane) .

Should be exactly 0°, it

is!

Should fluctuate

around 0° .

. . .

Wro

ng !?!

Page 24: Status of  A.L.I.C.E.  Simulation

Going On …

• Fix GeVSim’s details about PT distribution and Slope Parameter (Radomski is coming from Germany…) .

• Develop & debug the Fourier Analysis routines (…or grab them somewere else) .

• Start with the “Cumulants Method” .

• …and, of course, hope for a more stable release of AliRoot !

to be continued…