ROOT logo
/**************************************************************************
 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: The ALICE Off-line Project.                                    *
 * Contributors are mentioned in the code where appropriate.              *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/

// Draw differential yields
// author: Eulogio Serradilla <eulogio.serradilla@cern.ch>

#if !defined(__CINT__) || defined(__MAKECINT__)
#include <TStyle.h>
#include <TFile.h>
#include <TString.h>
#include <TCanvas.h>
#include <TGraphErrors.h>
#endif

#include "B2.h"

void DrawSpectra(const TString& inputFile="spectra.root", const TString& tag="lhc10d", const TString& particle="Deuteron")
{
//
// Draw differential yields
//
	gStyle->SetPadTickX(1);
	gStyle->SetPadTickY(1);
	gStyle->SetPadGridX(1);
	gStyle->SetPadGridY(1);
	gStyle->SetOptLogy(1);
	
	TFile* finput = new TFile(inputFile.Data());
	if (finput->IsZombie()) exit(1);
	
	TCanvas* c0 = new TCanvas(Form("%s.Spectra", particle.Data()), Form("Spectra for %ss", particle.Data()));
	c0->Divide(2,1);
	
	// differential yield
	
	c0->cd(1);
	
	TGraphErrors* grDYieldPt = FindObj<TGraphErrors>(finput, tag, particle + "_DiffYield_Pt");
	
	grDYieldPt->SetMarkerStyle(kFullCircle);
	grDYieldPt->SetMarkerColor(kRed);
	grDYieldPt->SetLineColor(kRed);
	grDYieldPt->GetXaxis()->SetTitle("#it{p}_{T} (GeV/#it{c})");
	grDYieldPt->GetYaxis()->SetTitle("1/#it{N}_{ev} d^{2}#it{N}/(d#it{p}_{T}d#it{y}) (GeV^{-1}#it{c}^{2})");
	grDYieldPt->GetYaxis()->SetTitleOffset(1.30);
	grDYieldPt->Draw("zAP");
	
	// invariant differential yield
	
	c0->cd(2);
	
	TGraphErrors* grInvDYieldPt = FindObj<TGraphErrors>(finput, tag, particle + "_InvDiffYield_Pt");
	
	grInvDYieldPt->SetMarkerStyle(kFullCircle);
	grInvDYieldPt->SetMarkerColor(kRed);
	grInvDYieldPt->SetLineColor(kRed);
	grInvDYieldPt->GetXaxis()->SetTitle("#it{p}_{T} (GeV/#it{c})");
	grInvDYieldPt->GetYaxis()->SetTitle("1/(2#pi#it{N}_{ev}) d^{2}#it{N}/(#it{p}_{T}d#it{p}_{T}d#it{y}) (GeV^{-2}#it{c}^{3})");
	grInvDYieldPt->GetYaxis()->SetTitleOffset(1.30);
	grInvDYieldPt->Draw("zAP");
}
 DrawSpectra.C:1
 DrawSpectra.C:2
 DrawSpectra.C:3
 DrawSpectra.C:4
 DrawSpectra.C:5
 DrawSpectra.C:6
 DrawSpectra.C:7
 DrawSpectra.C:8
 DrawSpectra.C:9
 DrawSpectra.C:10
 DrawSpectra.C:11
 DrawSpectra.C:12
 DrawSpectra.C:13
 DrawSpectra.C:14
 DrawSpectra.C:15
 DrawSpectra.C:16
 DrawSpectra.C:17
 DrawSpectra.C:18
 DrawSpectra.C:19
 DrawSpectra.C:20
 DrawSpectra.C:21
 DrawSpectra.C:22
 DrawSpectra.C:23
 DrawSpectra.C:24
 DrawSpectra.C:25
 DrawSpectra.C:26
 DrawSpectra.C:27
 DrawSpectra.C:28
 DrawSpectra.C:29
 DrawSpectra.C:30
 DrawSpectra.C:31
 DrawSpectra.C:32
 DrawSpectra.C:33
 DrawSpectra.C:34
 DrawSpectra.C:35
 DrawSpectra.C:36
 DrawSpectra.C:37
 DrawSpectra.C:38
 DrawSpectra.C:39
 DrawSpectra.C:40
 DrawSpectra.C:41
 DrawSpectra.C:42
 DrawSpectra.C:43
 DrawSpectra.C:44
 DrawSpectra.C:45
 DrawSpectra.C:46
 DrawSpectra.C:47
 DrawSpectra.C:48
 DrawSpectra.C:49
 DrawSpectra.C:50
 DrawSpectra.C:51
 DrawSpectra.C:52
 DrawSpectra.C:53
 DrawSpectra.C:54
 DrawSpectra.C:55
 DrawSpectra.C:56
 DrawSpectra.C:57
 DrawSpectra.C:58
 DrawSpectra.C:59
 DrawSpectra.C:60
 DrawSpectra.C:61
 DrawSpectra.C:62
 DrawSpectra.C:63
 DrawSpectra.C:64
 DrawSpectra.C:65
 DrawSpectra.C:66
 DrawSpectra.C:67
 DrawSpectra.C:68
 DrawSpectra.C:69
 DrawSpectra.C:70
 DrawSpectra.C:71
 DrawSpectra.C:72
 DrawSpectra.C:73
 DrawSpectra.C:74