rivet for heavy-ions: current status & future developments
TRANSCRIPT
Rivet for heavy-ions: current status & futuredevelopments
Przemek Karczmarczyk
Rivet dev & user workshop, Lunga, 28.05.2019
Przemek Karczmarczyk Rivet for HI 28.05.2019 1 / 20
Overview
1 Currently available HI implementations
2 Planned HI implementationsEvent mixingEvent type determination
3 Rivet for HI: impactHI paperMCPLOTS for heavy-ions
Przemek Karczmarczyk Rivet for HI 28.05.2019 2 / 20
Currently available HI implementations
Overview
1 Currently available HI implementations
2 Planned HI implementationsEvent mixingEvent type determination
3 Rivet for HI: impactHI paperMCPLOTS for heavy-ions
Przemek Karczmarczyk Rivet for HI 28.05.2019 3 / 20
Currently available HI implementations
Implemented HI features: centrality framework
� Centrality framework: allows an analysis to cut on percentiles ofsingle event quantities preloaded to that analysis
� Consist of:I Set of calibration analysesI Preloading calibration files as an input to the next runI Options for centrality to select the type of calibration to useI Centrality projection that allows to access centrality value
� ’Options’ parameter to allow selection of centrality calibrationI REF (default): get calibration histogram from reference dataI GEN: get generated calibration histogramI IMP: get impact parameter calibration histogramI USR: get user-defined calibration histogramI RAW: get generated centrality (available only with HepMC3)
Przemek Karczmarczyk Rivet for HI 28.05.2019 4 / 20
Currently available HI implementations
Implemented HI features: reentrant finalize
� Postprocessing implemented in a form of ’reentrant finalize’ method
I Analyses produce ’RAW’ histograms - saved in the output file beforecalling finalize() method
I rivet-merge to call finalize with preloaded files from previous runs andget final plots
I ’Reentrant’ flag to mark analyses using reentrant finalize method
Przemek Karczmarczyk Rivet for HI 28.05.2019 5 / 20
Currently available HI implementations
Implemented HI features: event mixing
� Event mixing procedure projects out an event mixed of several events
I Based on a mixing observable provided as an input to define whatshould qualify as a mixable event
I Mixing observable: number of final state particles, centrality, eventplane angle, etc.
I Consist of a buffer that is filled with events on the runtimeI This buffer can be returned and used in the analysis to perform
required operations
� Partial support for event mixing already available since Rivet 2.7.0
Przemek Karczmarczyk Rivet for HI 28.05.2019 6 / 20
Currently available HI implementations
HI analyses
� Analyses, that are using at least one HI feature:1 ALICE 2010 I880049: dNch/dη analysis2 ALICE 2012 I930312: IAA analysis3 ALICE 2012 I1127497: RAA analysis4 ALICE 2012 I1126966: pi, K, p spectra5 ALICE 2013 I1225979: Charged multiplicity6 ALICE 2014 I1243865: Multi-strange baryons7 ALICE 2014 I1244523: Multi-strange baryons8 ALICE 2016 I1394676: Charged multiplicity9 ALICE 2016 I1419244: Multiparticle correlations (flow)10 ALICE 2016 I1471838: Multi-strange baryons11 ALICE 2016 I1507090: Charged multiplicity12 ALICE 2016 I1507157: Angular correlations13 ATLAS 2015 I1360290: Charged multiplicity14 ATLAS 2015 I1386475: Charged multiplicity + spectra15 BRAHMS 2004 I647076: pi, K, p spectra as function of rapidity16 STAR 2016 I1414638: Di-hadron correlations17 CMS 2017 I1471287: Multiparticle correlations (flow)18 + few calibration analyses (without data)
Przemek Karczmarczyk Rivet for HI 28.05.2019 7 / 20
Planned HI implementations
Overview
1 Currently available HI implementations
2 Planned HI implementationsEvent mixingEvent type determination
3 Rivet for HI: impactHI paperMCPLOTS for heavy-ions
Przemek Karczmarczyk Rivet for HI 28.05.2019 8 / 20
Planned HI implementations Event mixing
Event mixing
� Reason to use it: measurements sensitive to detector acceptance� 1st example: gaps in ϕ distributions cause peak stuctures in
two-particle ∆ϕ distributions - only experimental effect
� 2nd example: limited η acceptance causes a tent-like structure in twoparticle ∆η distribution - can be visible in Rivet analysis
Przemek Karczmarczyk Rivet for HI 28.05.2019 9 / 20
Planned HI implementations Event mixing
Event mixing
� What is supported?
I Simple event mixing that assumes unitary event weights and that isusing just 1 observable simultaneously for binning
I By default it uses multiplicity as an observable
� What is not supported?
I Non-unitary event weightsI Using other observables like centrality, event plange angle, etc. - some
recent developments allow that alreadyI Using 2 observables simultaneously to create a 2-dimensional map of
events for event mixing
Przemek Karczmarczyk Rivet for HI 28.05.2019 10 / 20
Planned HI implementations Event type determination
Event type determination
� Use-case: an analysis using >1 beam (for example for calculatingratios of PbPb/pp)
1 const HepMC:: HeavyIon* hi = event.genEvent ()->heavy_ion ();
2 if (hi && hi ->is_valid ()) {
3 // Fill PbPb plots
4 [...]
5 }
6 else {
7 // Fill pp plots
8 [...]
9 }
� Ideal case:
I Well-defined beam and correct heavy-ion line in HepMC file
� Realistic case:
I Inconsistency in MC generators: errors/bugs or conceptual differencesI Current solution not reliable: does not work in all cases
Przemek Karczmarczyk Rivet for HI 28.05.2019 11 / 20
Planned HI implementations Event type determination
Examples
1 Pythia pp: normal behaviour, no HepMC heavy-ion line
2 Pythia pPb: normal behaviour, heavy-ion line exists and it’s notempty (works well with bugfix)
3 Jewel pp and PbPb: exception, we always end up with pp beam andnot empty HI line in .hepmc file → we need to see what exactly is inthe heavy-ion line to check what kind of events we are dealing with
4 Epos-LHC pp: exception, heavy-ion line always exists and may be notempty even for non-heavy-ion events
5 Epos-LHC PbPb: normal behaviour, heavy-ion line exists and it’s notempty (works well with bugfix)
Bug in HepMC
HepMC does not pass heavy-ion properties from the file in case number ofhard collisions is equal to 0
Bug fix in ALICE HepMC branch: https://github.com/alisw/hepmc/commit/d921ebd87634b09f55c8a18669bec56c020ad000
Przemek Karczmarczyk Rivet for HI 28.05.2019 12 / 20
Planned HI implementations Event type determination
Event type determination: solution 1
� Generic method to call inside analysis
1 bool Event:: is_heavy_ion () const {
2 // Generic check for the existence of the HepMC heavy -ion line.
3 // If it does not exist , this can’t be a heavy -ion event
4 const HepMC:: HeavyIon* hi = genEvent ()->heavy_ion ();
5 if (!hi) return false;
6 // Generic check for invalid heavy -ion line according to HepMC ,
7 // which means this event contain heavy -ion line , but it is empty
8 // (everything equal to 0). The following code works properly
9 // only for HepMC version >= 2.07.00
10 #if HEPMC_VERSION_CODE >= 2007000
11 if (!hi->is_valid ())
12 return false;
13 // All known exceptions for all inconsistent generators
14 [...]
15 // In all other cases , this must be a heavy -ion event
16 return true;
17 #else
18 // For older HepMC versions , there is no reliable method
19 // to check for the event type
20 MSG_ERROR("Not possible to check for the event type using HepMC < 2.07.00!");
21 exit (1);
22 #endif
23 }
� Can be split to have a method per generator
Przemek Karczmarczyk Rivet for HI 28.05.2019 13 / 20
Planned HI implementations Event type determination
Event type determination: solution 2
� A flag to tell Rivet what kind of events are provided
� Could look something like this:
I rivet --heavyion input PbPb.hepmcI rivet --pp input pp.hepmc
� This will force Rivet to fill heavy-ion plots inside analyses, no matterwhat kind of events are in the HepMC file
� Possible use-case:
1 if (event.is_heavy_ion ()) { // value set depending on a flag
2 // Fill PbPb plots
3 [...]
4 }
5 else {
6 // Fill pp plots
7 [...]
8 }
Przemek Karczmarczyk Rivet for HI 28.05.2019 14 / 20
Planned HI implementations Event type determination
Method comparison
Solution 1: analysis’ method
Pros
� Fully automatic - nothing to dofrom user’s point of view
� No additional flag required
Cons
� May not account for all existingexceptions
� Difficult to predict behaviour offuture generator versions
� Problematic to extend to checkfor a particular beam type
Solution 2: user’s flag
Pros
� User has full control
� All exceptions can beaccounted for
Cons
� Additional flag required
� Requires user to do some workand relies on his correctness
� Problematic to extend to checkfor a particular beam type
Przemek Karczmarczyk Rivet for HI 28.05.2019 15 / 20
Planned HI implementations Event type determination
Event type determination: other solutions
� Can we combine these 2 solutions?
� Are there other solutions to that problem?
� Can we assume that future versions of MC generators will be reliable?
Przemek Karczmarczyk Rivet for HI 28.05.2019 16 / 20
Rivet for HI: impact
Overview
1 Currently available HI implementations
2 Planned HI implementationsEvent mixingEvent type determination
3 Rivet for HI: impactHI paperMCPLOTS for heavy-ions
Przemek Karczmarczyk Rivet for HI 28.05.2019 17 / 20
Rivet for HI: impact HI paper
HI paper
� Paper started during the last workshop
� Overleaf link: https://www.overleaf.com/18807575kvqryczhhyjr
� It will include:
I Description of implemented heavy-ion featuresI Description of what measurements are possible in Rivet using these
features:
Centrality inclusive measurementsCentrality differential measurementsFlow measurementsetc.
I Results from implemented HI analyses using different MC generators
Przemek Karczmarczyk Rivet for HI 28.05.2019 18 / 20
Rivet for HI: impact MCPLOTS for heavy-ions
MCPLOTS for heavy-ions
� MCPLOTS adapted to HI version of Rivet� What was taken into account:
I Production of calibration filesI Handling of centrality optionsI Merging output .yoda files using reentrant finalizeI New HI analyses
� ALICE production webpage: http://mcplots-alice.cern.ch/ - for AAonly, results to be included in the official website
Przemek Karczmarczyk Rivet for HI 28.05.2019 19 / 20
Rivet for HI: impact MCPLOTS for heavy-ions
Thank you!
Przemek Karczmarczyk Rivet for HI 28.05.2019 20 / 20
Rivet for HI: impact MCPLOTS for heavy-ions
Backup
Przemek Karczmarczyk Rivet for HI 28.05.2019 21 / 20
Rivet for HI: impact MCPLOTS for heavy-ions
Event type determination: solution 1
1 // Exception for JEWEL: it always produces a valid (non -empty) heavy -ion
2 // line for all types of events (according to HepMC) and it always uses
3 // pp events as beam particles. We need to check if all properties in
4 // heavy -ion line are equal to 0, except the impact parameter value ,
5 // which will be -1 for non -heavy -ion events
6 if (genEvent ()->beam_particles ().first ->pdg_id () == 2212 &&
7 genEvent ()->beam_particles ().second ->pdg_id () == 2212 &&
8 hi->Ncoll_hard () == 0 &&
9 hi->Npart_proj () == 0 &&
10 hi->Npart_targ () == 0 &&
11 hi->Ncoll () == 0 &&
12 hi->spectator_neutrons () == 0 &&
13 hi->spectator_protons () == 0 &&
14 hi->N_Nwounded_collisions () == 0 &&
15 hi->Nwounded_N_collisions () == 0 &&
16 hi->Nwounded_Nwounded_collisions () == 0 &&
17 hi->event_plane_angle () < 1.0e-3 &&
18 hi->eccentricity () < 1.0e-3 &&
19 hi->sigma_inel_NN () < 1.0e-3) {
20 if (hi->impact_parameter () + 1. < 1.0e-3)
21 return false;
22 else
23 return true;
24 }
25 // Exception for EPOS -LHC: we can have some non -heavy -ion events
26 // with a valid (non -empty) HepMC heavy -ion line , so we need to
27 // check beam particles IDs explicitly
28 if (genEvent ()->beam_particles ().first ->pdg_id () < 1e+9 &&
29 genEvent ()->beam_particles ().second ->pdg_id () < 1e+9) {
30 return false;
31 }
Przemek Karczmarczyk Rivet for HI 28.05.2019 22 / 20
Rivet for HI: impact MCPLOTS for heavy-ions
Results from EPOS
b
b
b
b
b
b
bb
b
b DataRivet
0
200
400
600
800
1.0 ·103
1.2 ·103
1.4 ·103
1.6 ·103
1.8 ·103Nch vs. centrality, Pb–Pb
√sNN = 2.76 TeV
dN
ch/
dη
b b b b b b b b b
0 10 20 30 40 50 60 70 800.50.60.70.80.9
11.11.21.31.4
Centrality [%]
MC
/Dat
a
(a) ALICE 2010 I880049analysis
b b b b b b b b b b b b b b b b b b b b b b b b b b bbbbbbbbbbbb
bbbbbbbbbbbbbbbbbbbbbbb bbbb
b Dataoutput
10−3
10−2
10−1
1
10 1
10 2
10 3
Nch vs. p⊥, Centr = 0 − 20 %,√
sNN = 2.76 TeV
1/N
evt1
/(2
πp ⊥
)(d
2 Nch)/
(dη
dp ⊥
)[(
GeV
/c)
−2 ]
b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b
1 10 10.50.60.70.80.9
11.11.21.31.4
p⊥ [GeV / c]
MC
/Dat
a
(b) ALICE 2012 I1127497analysis
b
b bb
b DataEPOS-LHC
0
0.5
1
1.5
2
2.5
ICP (0-5% / 60-90%) near-side
I CP
(0-5
%/
60-9
0%)
b b b b
3 4 5 6 7 8 9 100.50.60.70.80.9
11.11.21.31.4
pt,assoc [GeV/c]
MC
/Dat
a
(c) ALICE 2012 I930312analysis
� Multiplicity distribution used for calibration
Przemek Karczmarczyk Rivet for HI 28.05.2019 23 / 20
Rivet for HI: impact MCPLOTS for heavy-ions
Results: calibration plots
b (fm)
Eve
nts
1
10
210
310
410 Epos (LHC)
2760 GeV PbPb Heavy Ion
mcp
lots
-alic
e-de
v2.c
ern.
ch 1
0k e
vent
s≥
Riv
et 2
.7.0
,
Epos 1.99.crmc.1.7.0-hi
Impact parameter distribution (alice2015)
b (fm)0 5 10 15 20
Rat
io to
Epo
s (L
HC
)
1
2
0.5
+20%
-20%
+10%
-10%
2×
-50%
+50%
V0M
Eve
nts
7−10
6−10
5−10
4−10
3−10
2−10
1−10
1
10
210
310
ALICEEpos (LHC)
2760 GeV PbPb Centrality calibration
mcp
lots
-alic
e-de
v2.c
ern.
ch 1
0k e
vent
s≥
Riv
et 2
.7.0
,
Epos 1.99.crmc.1.7.0-hi
ALICE_2015_PBPBCentrality
ALICE V0M distribution (alice2015)
V0M0 10000 20000 30000
Rat
io to
ALI
CE
1
2
0.5
+20%
-20%
+10%
-10%
2×
-50%
+50%
Przemek Karczmarczyk Rivet for HI 28.05.2019 24 / 20
Rivet for HI: impact MCPLOTS for heavy-ions
Results (1)
Centrality [%]
η /
dch
dN
210
310
410ALICEEpos (LHC)
2760 GeV PbPb Heavy Ion
mcp
lots
-alic
e-de
v2.c
ern.
ch 1
0k e
vent
s≥
Riv
et 2
.7.0
,
Epos 1.99.crmc.1.7.0-hi
ALICE_2010_I880049
vs centrality (alice2010-1)chN
Centrality [%]0 20 40 60 80
Rat
io to
ALI
CE
1
2
0.5
+20%
-20%
+10%
-10%
2×
-50%
+50%
400
600
800
1000
1200
1400
1600
1800
2000
2200
2400
ALICEEpos (LHC)
2760 GeV PbPb Heavy Ion
mcp
lots
-alic
e-de
v2.c
ern.
ch 1
0k e
vent
s≥
Riv
et 2
.7.0
,
Epos 1.99.crmc.1.7.0-hi
ALICE_2013_I1225979
(alice2013,centr=00-05)ηdN/d
5− 0 5
Rat
io to
ALI
CE
1
2
0.5
+20%
-20%
+10%
-10%
2×
-50%
+50%
Przemek Karczmarczyk Rivet for HI 28.05.2019 25 / 20
Rivet for HI: impact MCPLOTS for heavy-ions
Results (2)
,[GeV / c]T
p
]2 )
, [(G
eG/c
)T
dp
η)
/ (d
chN2
) (d
T pπ
1(2
evt
1 / N
14−10
12−10
10−10
8−10
6−10
4−10
2−101
210
410
610
810
10101110
ALICEEpos (LHC)Jewel-Simple (default)
2760 GeV PbPb Soft QCD
mcp
lots
-alic
e-de
v2.c
ern.
ch 5
k ev
ents
≥R
ivet
2.7
.0,
Epos 1.99.crmc.1.7.0-hi, JEWEL(simple) 2.0.2
ALICE_2012_I1127497
(alice2012,centr=00-05)t
vs pchN
,[GeV / c]T
p1 10
Rat
io to
ALI
CE
1
2
0.5
+20%
-20%
+10%
-10%
2×
-50%
+50%
,[GeV / c]T
p
RA
A
1−10
1
ALICEJewel-Simple/Jewel-Vac (default,default)
2760 GeV PbPb_pp Soft QCD
mcp
lots
-alic
e-de
v2.c
ern.
chR
ivet
2.6
.0-p
reH
I
JEWEL(simple/vac) 2.0.2;2.0.2
ALICE_2012_I1127497
(alice2,centr:00-20)AAR
,[GeV / c]T
p1 10
Rat
io to
ALI
CE
1
2
0.5
+20%
-20%
+10%
-10%
2×
-50%
+50%
Przemek Karczmarczyk Rivet for HI 28.05.2019 26 / 20