ROOT logo
#include <math.h>
#include <time.h>
#include <stdio.h>
#include <stdlib.h>
#include <Riostream.h>

#include "TVector2.h"
#include "TFile.h"
#include "TString.h"
#include "TF1.h"
#include "TH1.h"
#include "TH2.h"
#include "TH3.h"
#include "TProfile.h"
#include "TProfile2D.h"
#include "TMath.h"
#include "TText.h"
#include "TRandom3.h"
#include "TArray.h"
#include "TLegend.h"
#include "TStyle.h"
#include "TMinuit.h"
#include "TCanvas.h"
#include "TPad.h"

#define BohrR 1963.6885
#define FmToGeV 0.19733 // conversion to fm
#define PI 3.1415926
#define masspiC 0.1395702 // pi+ mass (GeV/c^2)

using namespace std;



void Makec3EAfile(){

  int FT=0;// 0(EW) or 1(LG)

  TFile *infile;
  TMinuit *fit;
  //
  TH3D *PbPbEA = new TH3D("PbPbEA","",6,0.5,6.5, 4,0.5,4.5, 50,-0.5,49.5);// Rcoh type, parNum, Gindex
  PbPbEA->SetDirectory(0);
  //
  TH3D *pPbEA = new TH3D("pPbEA","",6,0.5,6.5, 4,0.5,4.5, 50,-0.5,49.5);
  pPbEA->SetDirectory(0);
  //
  TH3D *ppEA = new TH3D("ppEA","",6,0.5,6.5, 4,0.5,4.5, 50,-0.5,49.5);
  ppEA->SetDirectory(0);
  //
 

  
  
  //
  //////////////////////////////
  double value=0, value_e=0;
  // 
  for(int Gindex=0; Gindex<=25; Gindex++){
    // PbPb
    for(int RT=0; RT<6; RT++){// Rcoh type
      
      TString *name1 = new TString("FitFiles/FitFile_CT0_FT");
      *name1 += FT;
      name1->Append("_R");
      *name1 += RT;
      name1->Append("_G");
      *name1 += Gindex;
      name1->Append(".root");
      infile = new TFile(name1->Data(),"READ");
      fit = (TMinuit*)infile->Get("MyMinuit_c3");
      for(int parNum=0; parNum<4; parNum++){
	fit->GetParameter(parNum+1, value,value_e);
	PbPbEA->SetBinContent(RT+1, parNum+1, Gindex+1, value);
      }
      infile->Close();
   
      //
      // pPb
      TString *name1 = new TString("FitFiles/FitFile_CT1_FT");
      *name1 += FT;
      name1->Append("_R");
      *name1 += RT;
      name1->Append("_G");
      *name1 += Gindex;
      name1->Append(".root");
      infile = new TFile(name1->Data(),"READ");
      fit = (TMinuit*)infile->Get("MyMinuit_c3");
      for(int parNum=0; parNum<4; parNum++){
	fit->GetParameter(parNum+1, value,value_e);
	pPbEA->SetBinContent(RT+1, parNum+1, Gindex+1, value);
      }
      infile->Close();
      //
      //
      TString *name1 = new TString("FitFiles/FitFile_CT2_FT");
      *name1 += FT;
      name1->Append("_R");
      *name1 += RT;
      name1->Append("_G");
      *name1 += Gindex;
      name1->Append(".root");
      infile = new TFile(name1->Data(),"READ");
      fit = (TMinuit*)infile->Get("MyMinuit_c3");
      for(int parNum=0; parNum<4; parNum++){
	fit->GetParameter(parNum+1, value,value_e);
	ppEA->SetBinContent(RT+1, parNum+1, Gindex+1, value);
      }
      infile->Close();
    }
  }
  // blank for the rest
  for(int Gindex=26; Gindex<50; Gindex++){
    for(int RT=0; RT<6; RT++){// EW or LG
      for(int parNum=0; parNum<4; parNum++){
	PbPbEA->SetBinContent(RT+1, parNum+1, Gindex+1, PbPbEA->GetBinContent(RT+1, parNum+1, 26));
	pPbEA->SetBinContent(RT+1, parNum+1, Gindex+1, pPbEA->GetBinContent(RT+1, parNum+1, 26));
	ppEA->SetBinContent(RT+1, parNum+1, Gindex+1, ppEA->GetBinContent(RT+1, parNum+1, 26));
      }
    }
  }

  // Convert Lam_3 to proper EA normalization
  for(int Gindex=0; Gindex<50; Gindex++){
    for(int RT=0; RT<6; RT++){// EW or LG
      PbPbEA->SetBinContent(RT+1, 1, Gindex+1, pow(PbPbEA->GetBinContent(RT+1, 1, Gindex+1), 1/3.));
      pPbEA->SetBinContent(RT+1, 1, Gindex+1, pow(pPbEA->GetBinContent(RT+1, 1, Gindex+1), 1/3.));
      ppEA->SetBinContent(RT+1, 1, Gindex+1, pow(ppEA->GetBinContent(RT+1, 1, Gindex+1), 1/3.));
    }
  }
  

  TFile *outfile=new TFile("c3EAfile_temp.root","RECREATE");
  PbPbEA->Write();
  pPbEA->Write();
  ppEA->Write();
  //
  outfile->Close();
  

}
 Makec3EAfile.C:1
 Makec3EAfile.C:2
 Makec3EAfile.C:3
 Makec3EAfile.C:4
 Makec3EAfile.C:5
 Makec3EAfile.C:6
 Makec3EAfile.C:7
 Makec3EAfile.C:8
 Makec3EAfile.C:9
 Makec3EAfile.C:10
 Makec3EAfile.C:11
 Makec3EAfile.C:12
 Makec3EAfile.C:13
 Makec3EAfile.C:14
 Makec3EAfile.C:15
 Makec3EAfile.C:16
 Makec3EAfile.C:17
 Makec3EAfile.C:18
 Makec3EAfile.C:19
 Makec3EAfile.C:20
 Makec3EAfile.C:21
 Makec3EAfile.C:22
 Makec3EAfile.C:23
 Makec3EAfile.C:24
 Makec3EAfile.C:25
 Makec3EAfile.C:26
 Makec3EAfile.C:27
 Makec3EAfile.C:28
 Makec3EAfile.C:29
 Makec3EAfile.C:30
 Makec3EAfile.C:31
 Makec3EAfile.C:32
 Makec3EAfile.C:33
 Makec3EAfile.C:34
 Makec3EAfile.C:35
 Makec3EAfile.C:36
 Makec3EAfile.C:37
 Makec3EAfile.C:38
 Makec3EAfile.C:39
 Makec3EAfile.C:40
 Makec3EAfile.C:41
 Makec3EAfile.C:42
 Makec3EAfile.C:43
 Makec3EAfile.C:44
 Makec3EAfile.C:45
 Makec3EAfile.C:46
 Makec3EAfile.C:47
 Makec3EAfile.C:48
 Makec3EAfile.C:49
 Makec3EAfile.C:50
 Makec3EAfile.C:51
 Makec3EAfile.C:52
 Makec3EAfile.C:53
 Makec3EAfile.C:54
 Makec3EAfile.C:55
 Makec3EAfile.C:56
 Makec3EAfile.C:57
 Makec3EAfile.C:58
 Makec3EAfile.C:59
 Makec3EAfile.C:60
 Makec3EAfile.C:61
 Makec3EAfile.C:62
 Makec3EAfile.C:63
 Makec3EAfile.C:64
 Makec3EAfile.C:65
 Makec3EAfile.C:66
 Makec3EAfile.C:67
 Makec3EAfile.C:68
 Makec3EAfile.C:69
 Makec3EAfile.C:70
 Makec3EAfile.C:71
 Makec3EAfile.C:72
 Makec3EAfile.C:73
 Makec3EAfile.C:74
 Makec3EAfile.C:75
 Makec3EAfile.C:76
 Makec3EAfile.C:77
 Makec3EAfile.C:78
 Makec3EAfile.C:79
 Makec3EAfile.C:80
 Makec3EAfile.C:81
 Makec3EAfile.C:82
 Makec3EAfile.C:83
 Makec3EAfile.C:84
 Makec3EAfile.C:85
 Makec3EAfile.C:86
 Makec3EAfile.C:87
 Makec3EAfile.C:88
 Makec3EAfile.C:89
 Makec3EAfile.C:90
 Makec3EAfile.C:91
 Makec3EAfile.C:92
 Makec3EAfile.C:93
 Makec3EAfile.C:94
 Makec3EAfile.C:95
 Makec3EAfile.C:96
 Makec3EAfile.C:97
 Makec3EAfile.C:98
 Makec3EAfile.C:99
 Makec3EAfile.C:100
 Makec3EAfile.C:101
 Makec3EAfile.C:102
 Makec3EAfile.C:103
 Makec3EAfile.C:104
 Makec3EAfile.C:105
 Makec3EAfile.C:106
 Makec3EAfile.C:107
 Makec3EAfile.C:108
 Makec3EAfile.C:109
 Makec3EAfile.C:110
 Makec3EAfile.C:111
 Makec3EAfile.C:112
 Makec3EAfile.C:113
 Makec3EAfile.C:114
 Makec3EAfile.C:115
 Makec3EAfile.C:116
 Makec3EAfile.C:117
 Makec3EAfile.C:118
 Makec3EAfile.C:119
 Makec3EAfile.C:120
 Makec3EAfile.C:121
 Makec3EAfile.C:122
 Makec3EAfile.C:123
 Makec3EAfile.C:124
 Makec3EAfile.C:125
 Makec3EAfile.C:126
 Makec3EAfile.C:127
 Makec3EAfile.C:128
 Makec3EAfile.C:129
 Makec3EAfile.C:130
 Makec3EAfile.C:131
 Makec3EAfile.C:132
 Makec3EAfile.C:133
 Makec3EAfile.C:134
 Makec3EAfile.C:135
 Makec3EAfile.C:136
 Makec3EAfile.C:137
 Makec3EAfile.C:138
 Makec3EAfile.C:139
 Makec3EAfile.C:140
 Makec3EAfile.C:141
 Makec3EAfile.C:142