ALICE Offline Tutorial - PowerPoint PPT Presentation

Loading...

PPT – ALICE Offline Tutorial PowerPoint presentation | free to view - id: ad17d-NjAyN



Loading


The Adobe Flash plugin is needed to view this content

Get the plugin now

View by Category
About This Presentation
Title:

ALICE Offline Tutorial

Description:

Tracks in MUON arm. ESDMuonTrack. Tracks in PMD. ESDPmdTrack. Triggered tracks in TRD ... Exercises. Event merging. May 10, 2007. 30. Event mixing test500 ... – PowerPoint PPT presentation

Number of Views:56
Avg rating:3.0/5.0
Slides: 32
Provided by: obu3
Category:

less

Write a Comment
User Comments (0)
Transcript and Presenter's Notes

Title: ALICE Offline Tutorial


1
ALICE Offline Tutorial
  • Markus Oldenburg CERN
  • Markus.Oldenburg_at_cern.ch
  • May 10, 2007 University of Sao Paulo

2
ALICE Offline Tutorial
based on
  • F.Carminati, P.Christakoglou, J.F.Grosse-Oetringha
    us, P.Hristov, A.Peters, P.Saiz
  • April 13, 2007 v1.3

3
Part II AliRoot Layout, Simulation,
Reconstruction, Visualisation
available online at http//cern.ch/Oldenburg -gt
Seminars
4
cvs structure for AliRoot
cvs -qz9 up -APd
v4-01-00
v4-01-Rev-00
v4-02-00
HEAD
v4-01-01
v4-02-00
v4-01-Release
v4-01-Rev-01
v4-01-Rev-02
cvs -qz9 up -r v4-01-00 -Pd
cvs -qz9 up -r v4-01-Release -Pd
cvs -qz9 up -r v4-01-Rev-01 -Pd
5
Release Policy
  • The code compiles on all the platforms.
  • Extensive tests on Linux (Pentium, Itanium,
    Opteron gcc and icc)
  • Root memory checker no significant memory leaks
  • Tag (no branch) monthly
  • Valgrind fixes for run-time errors
  • Profiling gprof and Vtune
  • Fix algorithms using abnormal quantities of
    memory or CPU
  • Tag with branch gt release every 6 months

6
AliRoot General Layout
7
AliRoot Layout
G3
G4
Fluka
HIJING
PDF
A L I E N
G R I D
VZERO
CRT
STRUCT
Virtual MC
PYTHIA6
HLT
START
DPMJET
EVGEN
RAW
Monit
STEER AliSimulation AliReconstruction ESD classes
PMD
ISAJET
Analysis
HBTAN
JETAN
FMD
ITS
TPC
TRD
TOF
PHOS
EMCAL
RICH
MUON
ZDC
ROOT
CINT
HIST
GRAPH
TREES
CONT
IO
MATH
…
8
AliRoot Execution Flow
Initialization
Event Generation
Particle Transport
Hits
AliSimulation
Event merging
Digits/ Raw digits
Clusters
Summable Digits
AliReconstruction
Tracking
PID
ESD
Analysis
9
Config.C Steering the Simulation
  • Void Config()
  • gRandom-gtSetSeed(123456789)
  • new TGeant3TGeo(Transporter)
  • AliRunLoader rl AliRunLoaderOpen(
    galice.root,defaultFileNames,recreate)
  • gAlice-gtSetRunLoader(rl)
  • TVirtualMCDecayer dec AliDecayerPythia()
  • dec-gtInit()
  • gMC-gtSetExternalDecayer(dec)
  • …
  • gMC-gtSetCut(CUTGAM,1.e-3)
  • …
  • AliGenHIJINGpara gen new AliGenHIJINGpara(100)
  • gen-gtInit() // Registers its self to gAlice
  • gAlice-gtSetField(new AliMagFMaps(…)
  • AliBody BODY new AliBODY(BODY,Alice
    envelope)
  • // Registers itself to gAlice
  • Sets random seed
  • Creates transporter
  • Creates RunLoader
  • Replaces MC particle decay model by Pythia6
  • Set up transporter
  • Creates and sets up event simulator
  • Defines ALICE Magnetic Field
  • Defines All materials and geometries/detectors

10
External Generators HIJING
  • HIJING
  • HIJING (Heavy Ion Jet INteraction Generator)
    combines
  • A QCD-inspired model of jet production with the
    Lund model for jet fragmentation
  • Hard or semi-hard parton scatterings with
    transverse momenta of a few GeV are expected to
    dominate high energy heavy ion collisions
  • The HIJING model has been developed with special
    emphasis on the role of mini jets in pp, pA and
    AA reactions at collider energies

11
HIJING
  • Hijing used as
  • Underlying event
  • Realistic fluctuations (N,E) from mini-jets
  • Pessimistic multiplicity (dN/dy 6000)
  • Particle Correlation studies
  • Inclusive
  • And in reconstructed jets
  • Nuclear effects
  • Shadowing
  • Quenching (parton energy loss)

12
Other External Generators
  • DPMJET
  • DPMJET is an implementation of the two-component
    Dual Parton Model for the description of
    interactions involving nuclei based on the
    Glauber-Gribov approach
  • DPMJET treats soft and hard scattering processes
    in an unified way
  • The fragmentation of parton configurations is
    treated by the Lund model PYTHIA
  • SFM (String Fusion Model)
  • The soft interactions are described by the
    Gribov-Regge theory of multipomeron exchange
  • The hard part of the interaction is simulated by
    PYTHIA and the strings formed by gluon splitting
    are fragmented with JETSET
  • Fusion of soft strings is included

13
Ultra-peripheral Collisions
AA ? AA ?? ? AA X
AA ? AA ?? ? AA X
  • K. Hencken et al.
  • TPHIC
  • Massive particle production described in
    Equivalent Photon Approximation
  • TEPEM
  • Electron positron pair production in UPC

AA ? AA ee-
AA ? AA ee-
14
pp
  • Minimum Bias
  • Pythia, Herwig, ISAJET
  • Pythia with ATLAS Tuning
  • Hard Probes
  • Pythia tuned to NLO (MNR)
  • NLO topology
  • Modification of nuclear structure functions via
    EKS in PDFlib

15
PYTHIA preconfigured processes
  • Heavy Flavors (open)
  • kPyCharm, kPyBeauty
  • kPyCharmUnforced, kPyBeautyUnforced
  • kPyCharmPbPbMNR, kPyD0PbPbMNR, kPyDPlusPbPbMNR,
    kPyBeautyPbPbMNR, kPyCharmpPbMNR, kPyD0pPbMNR,
    kPyDPluspPbMNR, kPyBeautypPbMNR, kPyCharmppMNR,
    kPyD0ppMNR, kPyDPlusppMNR, kPyBeautyppMNR
  • Heavy Flavor (resonances)
  • kPyJpsi, kPyJpsiChi
  • Minimum Bias
  • kPyMb, kPyMbNonDiffr
  • Jets and high-pT gammas
  • kPyJets, kPyDirectGamma,
  • W
  • kPyW

16
Event Generator Interfaces
  • Cocktail class to assemble events, for example
  • Underlying event hard process
  • Different muon sources
  • pA slow nucleons

17
Event Generator Interfaces Parameterizations
// The cocktail generator AliGenCocktail gener
new AliGenCocktail() // Phi meson (10
particles) AliGenParam phi new
AliGenParam(10,new AliGenMUONlib(),AliGenMUONlib
kPhi,"Vogt PbPb") phi-gtSetPtRange(0, 100)
phi-gtSetYRange(1., 1.) phi-gtSetForceDecay(kDiE
lectron) // Omega meson (10 particles)
AliGenParam omega new AliGenParam(10,new
AliGenMUONlib(),AliGenMUONlibkOmega,"Vogt
PbPb") omega-gtSetPtRange(0, 100) omega-gtSetYRang
e(-1., 1.) omega-gtSetForceDecay(kDiElectron)
// Adding all the components of the
cocktail gener -gtAddGenerator(phi,"Phi",1) gener
-gtAddGenerator(omega,"Omega",1) // Settings,
common for all components gener -gtSetOrigin(0, 0,
0) // vertex position gener -gtSetSigma(0, 0,
5.3) // Sigma in (X,Y,Z) (cm) on IP
position gener -gtSetCutVertexZ(1.) // Truncate
at 1 sigma gener -gtSetVertexSmear(kPerEvent) gene
r -gtSetTrackingFlag(1) gener gtInit()
18
Example MUON Library
Parameterisations kPhi, kOmega, kEta, kJpsi,
kJpsiFamily, kPsiP, kJpsiFromB, kUpsilon,
kUpsilonFamily, kUpsilonPP, kCharm,
kBeauty, kPion, kKaon
19
Run MC Particle Transport
  • Particles are transported though geometry
  • At each step, a call to StepManager of the class
    whose volume the particle is in
  • Example AliITSvPPRasymmFMDStepManager
  • If not sensitive volume return
  • If not charged return
  • Record Hit, particle Position (start end of
    this step), Momentum, Energy lost during last
    step, Sub-detector in, Time of Flight, Status,
    Charge, and Track Number
  • In the ITS, hits can also be merged
  • Hits are typically are deleted after SDigitization

20
Simulation Summable Digits
  • Apply all detector response simulation which
    allows results to be merged
  • Do not add noise
  • Do not convert AtD
  • Do not apply thresholds
  • Some detectors use hits as SDigits
  • For PHOS, EMCAL the hits are already summed
  • RICH saves rings/photons

21
Digitization
  • Adds noise
  • Random for SPD, SSD
  • Correlated for SDD
  • Applies threshold
  • Simple threshold for SPD,SSD
  • 2 level threshold for SDD
  • Applies ADC-ing
  • 10 bit for SDD, SSD
  • 10?8 conversion for SDD
  • Zero suppression
  • 2 integer coordinates, 1 integer signal
  • Simulation info by detector type

22
Reconstruction
  • Possible inputs
  • DATE DDL files (only for test)
  • RAW DATE file (only for test)
  • RAW rootified file (standard format)
  • MC/Digit files (standard for simulated data)
  • Local/Detector reconstruction (Files
    ltDETgt.RecPoint.root)
  • Calibration
  • Clusterisation
  • Cluster splitting…
  • Vertex finder (Fills ESD)
  • Primary vertex (Z coordinate) found in SPD,
    and/or T0.
  • Tracking (HLT and/or Barrel), filling of ESD
  • Gives final vertex from tracks and secondary
    vertecies.
  • HLT uses Conformal mapping (or similar) or a fast
    Kalman
  • Final tracking is a full Kalman
  • TPC?ITS?TPC ?TRD?TOF ?EMCALHMPIDPHOS?TOF?TR
    D?TPC?ITS)
  • MUON.
  • Combined PID (Fills ESD)

23
ESD classes, ESD shared library
  • AliESD
  • AliExternalTrackParam AliESDtrack
  • AliESDMuonTrack AliESDPmdTrack AliESDHLTtrack
  • AliESDVertex
  • AliESDv0 AliESDV0MI AliESDcascade AliESDkink
  • AliESDpid AliPID
  • AliKalmanTrack AliHelix AliESDV0MIParams
    AliTracker AliCluster AliTrackPointArray
    (reconstruction classes)
  • AliRunTag AliLHCTag AliDetectorTag AliEventTag
    AliTagCreator AliTagAnalysis AliEventTagCuts
  • AliXMLCollection
  • AliLog

Ideally user_at_hostgt root.exe
……………………… root0
gSystem-gtLoad(libESD) root1 .x
AnyAnalysisMacro.C
24
The ESD
25
AliESD and AliESDtrack classes
  • Accumulation and exchange of tracking information
    among the barrel detectors
  • Contained in the ESD and used for physical
    analysis
  • Class AliESDtrack public AliExternalTrackParam
  • final params
  • reconstruction status flags
  • length, time, combined PID
  • vertex constrained params
  • impact parameters cov.matrix
  • params at the outer TPC wall
  • params at the inner TPC wall
  • …
  • detector specific info (chi2, num.of clusters,
    PID…)

26
ESD Example Loop on the tracks
AliESD event… //The reconstructed
events are TTree esdTree … //stored in
TTrees (and so can be chained) Int_t
i0 while (esdTree-gtGetEvent(i)) //loop
over the reconstructed events …

//select run, event
number etc… if (event-gtGetTrigger() ! … )
continue //select the trigger AliESDvertex
primaryevent-gtGetVertex() if (/ some cuts
on the primary vertex /) continue
Int_t ntracksevent-gtGetNumberOfTracks() for
(i0 iltntracks i) //loop over ESD tracks
(or kinks, V0s …) AliESDtrack
trackevent-gtGetTrack(i) if
(track-gtGetStatus()…) //select tracks with the
proper status if (/ any other selection
(quality) criteria /) … //do
whatever with the selected tracks
… AliESDv0 v0event-gtGetV0(13) //retrieve
the 13th V0 Int_t ipv0-gtGetPositiveIndex(),
inv0-gtGetNegativeIndex() //together with
its AliESDtrack ptrackevent-gtGetTrack(ip) /
/positive daughter track AliESDtrack
ntrackevent-gtGetTrack(in) //and negative
daughter track …

27
ESD Example PID
AliESD event… //The reconstructed events
are TTree esdTree … //stored in TTrees (and
so can be chained) Int_t i0 while
(esdTree-gtGetEvent(i) //loop over the
reconstructed events … //event selection…
Double_t priorsAliPIDkSPECIES… //A set
of a priori probabilities AliPIDSetPriors(p
riors) Int_t ntracksevent-gtGetNumberOfTrac
ks() for (i0 iltntracks i) //loop
over ESD tracks (or kinks, V0s …)
AliESDtrack trackevent-gtGetTrack(i)
ULong _t statusAliESDtrackkTPCpid
AliESDtrackkTOFpid if
((track-gtGetStatus()status) ! status)
continue //select tracks with the proper status
if ( … ) continue //some other
selection (quality) criteria
Double_t probDensityAliPIDkSPECIES
track-gtGetESDpid(probDensity) AliPID
pid(probDensity) Double_t
pppid.GetProbablity(AliPIDkProton) //
probability to be a proton Double_t
pkpid.GetProbability(AliPIDkKaon) //
probability to be a kaon …
if (pp gt 1./AliPIDkSPECIES) / this is a
proton /
28
Visualization
  • Usage
  • alieve
  • .x alieve_init.C
  • Use then the macros in the EVE folder in TBrowser

29
Exercises
  • Event merging

30
Event mixing test500
  • You need a Config.C file in your working
    directory.
  • As a start you can copy one from
    ALICE_ROOT/macros/Config.C and rename it to
    Config.C e.g. Config_PDC06.C
  • Generate reconstruct underlying events
    (./backgr)
  • Simulation (full chain up to Digits)
  • AliSimulation sim
  • sim.Run(2)
  • Reconstruction
  • AliReconstruction rec
  • rec.Run()
  • Generate, merge reconstruct signal events
    (./signal)
  • Simulation (with event merging)
  • AliSimulation sim
  • sim.MergeWith(../backr/galice.root,3)
  • sim.Run(6)
  • Reconstruction
  • AliReconstruction rec
  • rec.Run()

Try to run the visualization tool
afterwards! (see slide 27)
31
Event mixing test500
  • void test(const char sdir "signal",
  • const char bdir "backgr")
  • TStopwatch timer
  • timer.Start()
  • TString name
  • // Signal file, tree, and branch
  • name sdir
  • name "/AliESDs.root"
  • TFile fSig TFileOpen(name.Data())
  • TTree tSig (TTree)fSig-gtGet("esdTree")
  • TBranch bSig tSig-gtGetBranch("ESD")
  • AliESD esdSig 0 // The signal ESD object
    is put here
  • bSig-gtSetAddress(esdSig)
  • // Run loader (signal events)
  • name sdir
  • for (Int_t iev0 ievltnevSig iev)
  • cout ltlt "Signal event " ltlt iev ltlt endl
  • Int_t ievUnd iev/nSigPerUnd
  • cout ltlt "Underlying event " ltlt ievUnd ltlt
    endl
  • // Get signal ESD
  • bSig-gtGetEntry(iev)
  • // Get underlying kinematics
  • rlUnd-gtGetEvent(ievUnd)
  • // Particle stack
  • AliStack stackSig rlSig-gtStack()
  • Int_t nPartSig stackSig-gtGetNtrack()
  • AliStack stackUnd rlUnd-gtStack()
  • Int_t nPartUnd stackUnd-gtGetNtrack()
  • Int_t nrec esdSig-gtGetNumberOfTracks()
  • cout ltlt nrec ltlt " reconstructed tracks" ltlt
    endl
About PowerShow.com