ROOT logo
//////////////////////////////////////////////////////////////////////////////////////
// CompareMagnetPolarities.C                                                        //
// computes and draws the ratio of pions from runs with different magnet polarities //
// written by John Groh                                                             //
//////////////////////////////////////////////////////////////////////////////////////

const Int_t nCharge = 2;
TString Sign[nCharge] = {"Plus","Minus"};
const Int_t nRuns = 2;
const Int_t Runs[nRuns] = {138275, 139465};
TString Names[nCharge] = {"#pi^{+}","#pi^{-}"};


void CompareMagnetPolarities()
{
  // get pion spectra histos for run 138275
  TH1F * hSpectra138275[nCharge];
  TFile * fin138275 = TFile::Open("results/SeeIfPionsVaryWithMagnetPolarity/Res_OutputAODSpectraTask_Data_Cent30to40_QVec0.0to100.0_Eta-0.8to0.8_3.0SigmaPID_TrBit1024_SeeIfPionsVaryWithMagnetPolarity_Run138275.root");
  TCanvas * cSpectra138275 = (TCanvas*)fin138275->Get("cSpectra");
  for (Int_t icharge=0; icharge<nCharge; icharge++)
    {
      hSpectra138275[icharge] = (TH1F*)cSpectra138275->FindObject(Form("Spectra_Pion%s",Sign[icharge].Data()));
    }
  fin138275->Close();

  // repeat for run 139465
  TH1F * hSpectra139465[nCharge];
  TFile * fin139465 = TFile::Open("results/SeeIfPionsVaryWithMagnetPolarity/Res_OutputAODSpectraTask_Data_Cent30to40_QVec0.0to100.0_Eta-0.8to0.8_3.0SigmaPID_TrBit1024_SeeIfPionsVaryWithMagnetPolarity_Run139465.root");
  TCanvas * cSpectra139465 = (TCanvas*)fin139465->Get("cSpectra");
  for (Int_t icharge=0; icharge<nCharge; icharge++)
    {
      hSpectra139465[icharge] = (TH1F*)cSpectra139465->FindObject(Form("Spectra_Pion%s",Sign[icharge].Data()));
    }
  fin139465->Close();
  
  // repeat for run 138364
  TH1F * hSpectra138364[nCharge];
  TFile * fin138364 = TFile::Open("results/SeeIfPionsVaryWithMagnetPolarity/Res_OutputAODSpectraTask_Data_Cent30to40_QVec0.0to100.0_Eta-0.8to0.8_3.0SigmaPID_TrBit1024_SeeIfPionsVaryWithMagnetPolarity_Run138364.root");
  TCanvas * cSpectra138364 = (TCanvas*)fin138364->Get("cSpectra");
  for (Int_t icharge=0; icharge<nCharge; icharge++)
    {
      hSpectra138364[icharge] = (TH1F*)cSpectra138364->FindObject(Form("Spectra_Pion%s",Sign[icharge].Data()));
    }
  fin138364->Close();

  // ratio 1 - (late negative) / (late positive)
  TCanvas * cRatioPions_1 = new TCanvas("cRatioPions_1","cRatioPions_1");
  TLegend * lRatioPions_1 = new TLegend(.79,.79,.99,.99);
  TH1F * hRatio[nCharge];
  for (Int_t icharge=0; icharge<nCharge; icharge++)
    {
      hRatio[icharge] = (TH1F*)hSpectra138275[icharge]->Clone();
      hRatio[icharge]->Divide(hSpectra139465[icharge]);
      hRatio[icharge]->SetTitle(Form("Ratio of Spectra: #frac{Run %i}{Run %i};p_{T} (GeV/c);",Runs[0],Runs[1]));
      hRatio[icharge]->SetLineStyle(icharge+1);
      hRatio[icharge]->GetYaxis()->SetRangeUser(.7,1.3);
      if (icharge == 0) hRatio[icharge]->DrawCopy("hist][");
      else hRatio[icharge]->DrawCopy("hist][same");
      lRatioPions_1->AddEntry(hRatio[icharge],Names[icharge].Data(),"l");
    }
  lRatioPions_1->DrawClone();

  // another ratio - (early positive) / (late positive)
  TCanvas * cRatioPions_2 = new TCanvas("cRatioPions_2","cRatioPions_2");
  TLegend * lRatioPions_2 = new TLegend(.79,.79,.99,.99);
  TH1F * hRatio[nCharge];
  for (Int_t icharge=0; icharge<nCharge; icharge++)
    {
      hRatio[icharge] = (TH1F*)hSpectra138364[icharge]->Clone();
      hRatio[icharge]->Divide(hSpectra139465[icharge]);
      hRatio[icharge]->SetTitle(Form("Ratio of Spectra: #frac{Run %i}{Run %i};p_{T} (GeV/c);",Runs[0],Runs[1]));
      hRatio[icharge]->SetLineStyle(icharge+1);
      hRatio[icharge]->GetYaxis()->SetRangeUser(.7,1.3);
      if (icharge == 0) hRatio[icharge]->DrawCopy("hist][");
      else hRatio[icharge]->DrawCopy("hist][same");
      lRatioPions_2->AddEntry(hRatio[icharge],Names[icharge].Data(),"l");
    }
  lRatioPions_2->DrawClone();


}
 CompareMagnetPolarities.C:1
 CompareMagnetPolarities.C:2
 CompareMagnetPolarities.C:3
 CompareMagnetPolarities.C:4
 CompareMagnetPolarities.C:5
 CompareMagnetPolarities.C:6
 CompareMagnetPolarities.C:7
 CompareMagnetPolarities.C:8
 CompareMagnetPolarities.C:9
 CompareMagnetPolarities.C:10
 CompareMagnetPolarities.C:11
 CompareMagnetPolarities.C:12
 CompareMagnetPolarities.C:13
 CompareMagnetPolarities.C:14
 CompareMagnetPolarities.C:15
 CompareMagnetPolarities.C:16
 CompareMagnetPolarities.C:17
 CompareMagnetPolarities.C:18
 CompareMagnetPolarities.C:19
 CompareMagnetPolarities.C:20
 CompareMagnetPolarities.C:21
 CompareMagnetPolarities.C:22
 CompareMagnetPolarities.C:23
 CompareMagnetPolarities.C:24
 CompareMagnetPolarities.C:25
 CompareMagnetPolarities.C:26
 CompareMagnetPolarities.C:27
 CompareMagnetPolarities.C:28
 CompareMagnetPolarities.C:29
 CompareMagnetPolarities.C:30
 CompareMagnetPolarities.C:31
 CompareMagnetPolarities.C:32
 CompareMagnetPolarities.C:33
 CompareMagnetPolarities.C:34
 CompareMagnetPolarities.C:35
 CompareMagnetPolarities.C:36
 CompareMagnetPolarities.C:37
 CompareMagnetPolarities.C:38
 CompareMagnetPolarities.C:39
 CompareMagnetPolarities.C:40
 CompareMagnetPolarities.C:41
 CompareMagnetPolarities.C:42
 CompareMagnetPolarities.C:43
 CompareMagnetPolarities.C:44
 CompareMagnetPolarities.C:45
 CompareMagnetPolarities.C:46
 CompareMagnetPolarities.C:47
 CompareMagnetPolarities.C:48
 CompareMagnetPolarities.C:49
 CompareMagnetPolarities.C:50
 CompareMagnetPolarities.C:51
 CompareMagnetPolarities.C:52
 CompareMagnetPolarities.C:53
 CompareMagnetPolarities.C:54
 CompareMagnetPolarities.C:55
 CompareMagnetPolarities.C:56
 CompareMagnetPolarities.C:57
 CompareMagnetPolarities.C:58
 CompareMagnetPolarities.C:59
 CompareMagnetPolarities.C:60
 CompareMagnetPolarities.C:61
 CompareMagnetPolarities.C:62
 CompareMagnetPolarities.C:63
 CompareMagnetPolarities.C:64
 CompareMagnetPolarities.C:65
 CompareMagnetPolarities.C:66
 CompareMagnetPolarities.C:67
 CompareMagnetPolarities.C:68
 CompareMagnetPolarities.C:69
 CompareMagnetPolarities.C:70
 CompareMagnetPolarities.C:71
 CompareMagnetPolarities.C:72
 CompareMagnetPolarities.C:73
 CompareMagnetPolarities.C:74
 CompareMagnetPolarities.C:75
 CompareMagnetPolarities.C:76
 CompareMagnetPolarities.C:77
 CompareMagnetPolarities.C:78
 CompareMagnetPolarities.C:79
 CompareMagnetPolarities.C:80
 CompareMagnetPolarities.C:81
 CompareMagnetPolarities.C:82