Heavy Ions
Link para a página do SPehRIO
http://www.sprace.org.br/Twiki/bin/view/Main/SPheRIO#Presentation_and_history/
Análises relacionadas a Íons Pesados no CMS
O SPRACE está desenvolvendo as seguintes análises relacionadas a física de Íons Pesados no CMS:
- Identificação de partículas usando dE/dx
- Correlação de Bose-Einstein
Cada uma dessas análises será detalhada a seguir.
Datasets
Dataset utilizados nas análises.
- 7 TeV p+p data
- SPRACE (não) /MinimumBias/Commissioning10-Sep17ReReco_v2/RECO DBS link
- Até o momento, esses dados não estão no storage do SPRACE, no entando submeti jobs para copiar 20.000 lumis de dados filtrados com pelo menos 2 bons traços por evento. Assim que estiver pronto, coloco o link dos dados filtrados aqui. Os dados filtrados estarão no SPRACE.
- Todas as informações necessárias sobre os dados de 7 TeV p+p data estão nesse link. Para informações sobre os dados do DBS do acima, procurar por
GR_R_38X_V13A
- 0.9 TeV p+p data
- SPRACE (sim) /MinimumBias/BeamCommissioning09-Dec19thReReco_336p3_v2/RECO DBS link
- Os runs correspondentes a 0.9 TeV são: 124009, 124020, 124022, 124023, 124024, 124027, 124030
- Esses foram os dados utilizados pelo Luca/Paolo na análise de BEC a 0.9 TeV
- Um arquivo .root com uma tree dos traços está disponível na access /home/lagana/hbt/CMSSW_3_6_1/src/anlzs/Hbt/all_runs_900GeV_MinTwoTracksPerEvent.root Esse arquivo contém todos os eventos a 0.9 TeV (runs especificados acima) com pelo menos dois traços por evento.
- 2.36 TeV p+p data
- SPRACE (sim) /MinimumBias/BeamCommissioning09-Dec19thReReco_336p3_v2/RECO DBS link
- Os runs correspondentes a 2.36 TeV são: 124120, 124275
- Esses foram os dados utilizados pelo Luca/Paolo na análise de BEC a 2.36 TeV
- 2.76 TeV Heavy Ion data
- SPRACE (sim) /HICorePhysics/HIRun2010-ZEE-v2/RAW-RECO DBS link
- SPRACE (sim) /HICorePhysics/HIRun2010-ZEE-v3/RAW-RECO DBS link
- SPRACE (sim) /HICorePhysics/HIRun2010-ZMM-v2/RAW-RECO DBS link
- SPRACE (sim) /HICorePhysics/HIRun2010-ZMM-v3/RAW-RECO DBS link
- 2.76 TeV Heavy Ions Monte Carlo
- SPRACE (sim) /AMPT_Default_MinBias_2760GeV/Fall10-Pyquen_DiJetEnrichedEM_Pt15_MC_38Y_V12-v2/GEN-SIM-RECO DBS Link
- SPRACE (sim) /Hydjet_Bass_MinBias_2760GeV/Fall10-START39_V7HI-v1/GEN-SIM-RECODEBUG DBS Link
- A lista de todos os MC de HI está aqui
Identificação de partículas usando dE/dx
Essa seção descreve em detalhes como se faz a identificação de partículas de baixo momento (p ~ 0.2, 1.0 GeV/c) no CMS através do mecanismo de perda de energia ao atravessar a matéria, o dE/dx. Esse método é capaz de identificar pions, kaons, prótons e deuterons com momento de até ~ 1.0 GeV/c.
Introdução
Diferentes partículas podem ser identificadas de acordo com a quantidade de energia que elas depositam ao passarem pela matéria. A taxa de deposição de energia de uma partícula que atravessa determinado material (seja ele sólido ou gasoso) é dada pela equação de Bethe-Bloch.
O CMS é capaz de medir a quantidade de energia depositada por uma partícula que passa pelo
tracker -- parte mais interna do experimento, composto por detectores de silício. De posse dessa informação (que seria o dE) e sabendo-se a expessura do silício (ou seja, o dx) é possível obter a razão dE/dx.
A quantidade de energia que uma partícula de momento
p deposita depende unicamente de sua massa. Dessa forma, sabendo-se o momento e a perda de energia de um traço, é possível determinar sua massa -- e portanto identificar o traço!
Obtendo o dE/dx de um traço no CMSSW
No CMSSW, a informação de dE/dx de um traço é obtida da seguinte forma:
#include "DataFormats/TrackReco/interface/DeDxData.h"
#include "DataFormats/Common/interface/ValueMap.h"
#include "DataFormats/TrackReco/interface/TrackFwd.h"
#include "DataFormats/TrackReco/interface/Track.h"
(...)
// ------------ method called to for each event ------------
void DeDxAnlzr::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup)
{
// get track collection from the event
edm::Handle<reco::TrackCollection> trackCollectionHandle;
iEvent.getByLabel("generalTracks", trackCollectionHandle);
reco::TrackCollection trackCollection = *trackCollectionHandle.product();
// get dedx collection from the event
Handle<edm::ValueMap<reco::DeDxData> > dEdxTrackHandle;
iEvent.getByLabel("dedxHarmonic2", dEdxTrackHandle);
const edm::ValueMap<reco::DeDxData> dEdxTrack = *dEdxTrackHandle.product();
// loop over tracks
for(unsigned int i=0; i < trackCollection.size(); i++)
{
//get ith track from track_collection
reco::TrackRef track = reco::TrackRef( trackCollectionHandle, i );
// get dedx information associated to the ith track
float ith_dedx = dEdxTrack[track].dEdx();
}
}
O trecho de código acima pega a coleção de traços do evento e a coleção dos valores de dE/dx e obtém o dE/dx correspondente àquele determinado traço através de um
ValueMap (note a biblioteca incluida
#include "DataFormats/Common/interface/ValueMap.h"
). A informação de dE/dx do i-ésimo traço é armazenada na variável
float = ith_dedx
.
O código acima apenas obtém o dE/dx, mas não faz nada além disso. Para fazer a identificação de partículas utilizando o dE/dx, é preciso construir um histograma de dE/dx vs. p. O seguinte trecho de código faz isso.
#include "DataFormats/TrackReco/interface/DeDxData.h"
#include "DataFormats/Common/interface/ValueMap.h"
#include "DataFormats/TrackReco/interface/TrackFwd.h"
#include "DataFormats/TrackReco/interface/Track.h"
#include <TH2.h>
(...)
// dedx vs. p histogram
TH2F *dedx_p_all_tracks = new TH2F("dedx vs p all tracks", "dedx vs p all tracks", 400, 0, 3, 400, 0, 15);
(...)
// ------------ method called to for each event ------------
void DeDxAnlzr::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup)
{
// get track collection from the event
edm::Handle<reco::TrackCollection> trackCollectionHandle;
iEvent.getByLabel("generalTracks", trackCollectionHandle);
reco::TrackCollection trackCollection = *trackCollectionHandle.product();
// get dedx collection from the event
Handle<edm::ValueMap<reco::DeDxData> > dEdxTrackHandle;
iEvent.getByLabel("dedxHarmonic2", dEdxTrackHandle);
const edm::ValueMap<reco::DeDxData> dEdxTrack = *dEdxTrackHandle.product();
// loop over tracks
for(unsigned int i=0; i < trackCollection.size(); i++)
{
//get ith track from track_collection
reco::TrackRef track = reco::TrackRef( trackCollectionHandle, i );
// fill dedx vs. p histogram
dedx_p_all_tracks->Fill(track->p(), dEdxTrack[track].dEdx())
}
}
(...)
dedx_p_all_tracks->Draw();
O resultado do código acima é o seguinte histograma:
- dE/dx vs. p histogram for p+p @ 0.9 TeV:
É possível notar nitidamente as linhas de massa de pions, kaons e prótons, ou seja, a quantidade de energia que um pion/kaon/próton deposita com determinado momento. Dessa forma é possível fazer a identificação dessas partículas definindo regiões sobre esse histograma. A seguir será explicado como essas regiões são definidas.
Macro C++/ROOT para identificação de partículas a partir do histograma dE/dx vs. p
Correlação de Bose-Einstein
Introdução
Correlação de Bose-Einstein no CMSSW
--
SandraPadula - 28 Jul 2010