diff --git a/Be/BeAnalysis.cpp b/Be/BeAnalysis.cpp index 823ad1ffd1e83a931a1a9dde8bc7d78efe1ede11..61118eca6f95e37f7d8a67c3c6d6ffbc364d2327 100644 --- a/Be/BeAnalysis.cpp +++ b/Be/BeAnalysis.cpp @@ -11,7 +11,7 @@ #include "TCanvas.h" #include "TGaxis.h" -BeAnalysis::BeAnalysis() : che(0), lowExpFile(0), upExpFile(0), spectra(1) { +BeAnalysis::BeAnalysis() : che(0), lowExpFile(0), upExpFile(0), spectra(0) { // TODO Auto-generated constructor stub for (Int_t i = 0; i < 6; i++) { @@ -22,45 +22,53 @@ BeAnalysis::BeAnalysis() : che(0), lowExpFile(0), upExpFile(0), spectra(1) { SetCuts(); SetChainsToDraw(); - noIntervals = 5; - epsilonT = new Bool_t[noIntervals]; - for (Int_t i = 0; i < noIntervals; i++) { - epsilonT[i] = 0; - } - epsilonT[0] = 1; - epsilonT[2] = 1; + epsilonT = 0; + noIntervals = 5; - cosThetaT = new Bool_t[noIntervals]; - for (Int_t i = 0; i < noIntervals; i++) { - cosThetaT[i] = 0; - } - cosThetaT[0] = 1; - cosThetaT[2] = 1; - cosThetaT[4] = 1; - - epsilonY = new Bool_t[noIntervals]; - for (Int_t i = 0; i < noIntervals; i++) { - epsilonY[i] = 0; - } - epsilonY[0] = 1; - epsilonY[2] = 1; - - cosThetaY = new Bool_t[noIntervals]; - for (Int_t i = 0; i < noIntervals; i++) { - cosThetaY[i] = 0; - } - cosThetaY[0] = 1; - cosThetaY[2] = 1; - cosThetaY[4] = 1; - - thetaAT = new Bool_t[noIntervals]; - for (Int_t i = 0; i < noIntervals; i++) { - thetaAT[i] = 0; - } - thetaAT[0] = 1; - thetaAT[2] = 1; - thetaAT[4] = 1; +// epsilonT = new Bool_t[noIntervals]; +// for (Int_t i = 0; i < noIntervals; i++) { +// epsilonT[i] = 0; +// } +// epsilonT[0] = 1; +// epsilonT[2] = 1; + + cosThetaT = 0; + +// cosThetaT = new Bool_t[noIntervals]; +// for (Int_t i = 0; i < noIntervals; i++) { +// cosThetaT[i] = 0; +// } +// cosThetaT[0] = 1; +// cosThetaT[2] = 1; +// cosThetaT[4] = 1; + + epsilonY = 0; + +// epsilonY = new Bool_t[noIntervals]; +// for (Int_t i = 0; i < noIntervals; i++) { +// epsilonY[i] = 0; +// } +// epsilonY[0] = 1; +// epsilonY[2] = 1; + + cosThetaY = 0; +// cosThetaY = new Bool_t[noIntervals]; +// for (Int_t i = 0; i < noIntervals; i++) { +// cosThetaY[i] = 0; +// } +// cosThetaY[0] = 1; +// cosThetaY[2] = 1; +// cosThetaY[4] = 1; + + thetaAT = 0; +// thetaAT = new Bool_t[noIntervals]; +// for (Int_t i = 0; i < noIntervals; i++) { +// thetaAT[i] = 0; +// } +// thetaAT[0] = 1; +// thetaAT[2] = 1; +// thetaAT[4] = 1; kVerbose = 1; kRangeProportionIn = 2.0; @@ -297,15 +305,17 @@ void BeAnalysis::SetNoSimEvents(Long64_t *noSimEvents) { } -void BeAnalysis::SetRatiosGStoEX() { +void BeAnalysis::SetRatiosGStoEX(TString sRatioAl0, TString sRatioNoAl0, + TString sRatioAl180, TString sRatioNoAl180, + TString sRatioAl90, TString sRatioNoAl90) { - sRatioAl0 = "sRatio>0.051 && sRatio<0.101"; - // TCut sRatioAl0 = "sRatio>0.060 && sRatio<0.110"; - sRatioNoAl0 = "sRatio>0.050 && sRatio<0.100"; - sRatioAl180 = "sRatio>0.047 && sRatio<0.097"; - sRatioNoAl180 = "sRatio>0.048 && sRatio<0.098"; - sRatioAl90 = "sRatio>0.051 && sRatio<0.101"; - sRatioNoAl90 = "sRatio>0.051 && sRatio<0.101"; +// sRatioAl0 = "sRatio>0.051 && sRatio<0.101"; +// // TCut sRatioAl0 = "sRatio>0.060 && sRatio<0.110"; +// sRatioNoAl0 = "sRatio>0.050 && sRatio<0.100"; +// sRatioAl180 = "sRatio>0.047 && sRatio<0.097"; +// sRatioNoAl180 = "sRatio>0.048 && sRatio<0.098"; +// sRatioAl90 = "sRatio>0.051 && sRatio<0.101"; +// sRatioNoAl90 = "sRatio>0.051 && sRatio<0.101"; sRatio[0] = sRatioAl0; sRatio[1] = sRatioNoAl0; @@ -422,6 +432,10 @@ void BeAnalysis::Spectra() { void BeAnalysis::EpsilonT() { + if(!epsilonT) { + Error("BeAnalysis::EpsilonT", "Energy intervals were not set."); + return; + } TCanvas *canEpsilonT[noIntervals]; for (Int_t i = 0; iSetTitle(canvasTitle.Data()); canEpsilonT[i]->Divide(2, 3); +// cProtons.Print(); +// cQ.Print(); +// crBeE[i].Print(); +// crAngles.Print(); + + che->SetLineColor(kBlack); for (Int_t j = 0; j < 6; j++) { //different files if (!kChains[j]) continue; + +// sRatio[j].Print(); +// cout << sEventsECuts[i][j] << endl; +// cout << eEventsECuts[i][j] << endl; + canEpsilonT[i]->cd(j+1); chs[j]->SetLineColor(kGray+1); chs[j]->SetFillColor(kGray+1); @@ -452,14 +477,16 @@ void BeAnalysis::EpsilonT() { drawCommand.Form("fTpp/fBeIM>>%s", heName.Data()); che->Draw(drawCommand.Data(), cProtons && cQ && cBeE[i] && cAngles, "E same", eEventsECuts[i][j]); heeT[i][j] = (TH1F*)gPad->FindObject(heName.Data()); +// continue; hseT[i][j]->Draw(); hseT[i][j]->SetTitle(""); hseT[i][j]->SetXTitle("\\varepsilon"); - hseT[i][j]->GetXaxis()->SetTitleOffset(0.95); +// hseT[i][j]->GetXaxis()->SetTitleOffset(0.95); +// hseT[i][j]->GetXaxis()->SetTitleSize(0.11); hseT[i][j]->GetXaxis()->CenterTitle(); hseT[i][j]->SetYTitle("counts"); - hseT[i][j]->GetYaxis()->SetTitleOffset(0.7); +// hseT[i][j]->GetYaxis()->SetTitleOffset(0.7); hseT[i][j]->GetYaxis()->CenterTitle(); heeT[i][j]->Draw("E same"); if (kAutoRange) { @@ -484,16 +511,16 @@ void BeAnalysis::EpsilonT() { hieT[i][j]->Scale(scale); //draw an axis on the right side - TGaxis *axis = new TGaxis(gPad->GetUxmax(),gPad->GetUymin(), - gPad->GetUxmax(), gPad->GetUymax(),0,rightmax,510,"+L"); - axis->SetLineColor(kRed); - axis->SetLabelColor(kRed); - axis->Draw(); +// TGaxis *axis = new TGaxis(gPad->GetUxmax(),gPad->GetUymin(), +// gPad->GetUxmax(), gPad->GetUymax(),0,rightmax,510,"+L"); +// axis->SetLineColor(kRed); +// axis->SetLabelColor(kRed); +// axis->Draw(); canEpsilonT[i]->Update(); if (kVerbose) { - Info("sfAngInt_epsilonT.cxx", "cut%d; case%d: %3.1f (exp)/ %3.1f (sim) = %3.3f", + Info("BeAnalysis::EpsilonT", "cut%d; case%d: %3.1f (exp)/ %3.1f (sim) = %3.3f", i, j, heeT[i][j]->Integral(0,heeT[i][j]->GetNbinsX()), hseT[i][j]->Integral(0,hseT[i][j]->GetNbinsX()), heeT[i][j]->Integral(0,heeT[i][j]->GetNbinsX())/hseT[i][j]->Integral(0,hseT[i][j]->GetNbinsX()) ); @@ -518,6 +545,11 @@ void BeAnalysis::EpsilonT() { void BeAnalysis::CosThetaTk() { + if(!cosThetaT) { + Error("BeAnalysis::CosThetaTk", "Energy intervals were not set."); + return; + } + TCanvas *cThetaT[noIntervals]; for (Int_t i = 0; iUpdate(); if (kVerbose) { - Info("sfAngInt_cosThetaTk.cxx", "cut%d; case%d: %3.1f (exp)/ %3.1f (sim) = %3.3f", + Info("BeAnalysis::CosThetaTk", "cut%d; case%d: %3.1f (exp)/ %3.1f (sim) = %3.3f", i, j, hecoskT[i][j]->Integral(0,hecoskT[i][j]->GetNbinsX()), hscoskT[i][j]->Integral(0,hscoskT[i][j]->GetNbinsX()), hecoskT[i][j]->Integral(0,hecoskT[i][j]->GetNbinsX())/hscoskT[i][j]->Integral(0,hscoskT[i][j]->GetNbinsX()) ); @@ -606,6 +638,11 @@ void BeAnalysis::CosThetaTk() { void BeAnalysis::EpsilonY() { + if(!epsilonY) { + Error("BeAnalysis::EpsilonY", "Energy intervals were not set."); + return; + } + TCanvas *canEpsilonY[noIntervals]; for (Int_t i = 0; iUpdate(); if (kVerbose) { - Info("sfAngInt_epsilonY.cxx", "cut%d; case%d: %3.1f (exp)/ %3.1f (sim) = %3.3f", + Info("BeAnalysis::EpsilonY", "cut%d; case%d: %3.1f (exp)/ %3.1f (sim) = %3.3f", i, j, heeY[i][j]->Integral(0,heeY[i][j]->GetNbinsX()), hseY[i][j]->Integral(0,hseY[i][j]->GetNbinsX()), heeY[i][j]->Integral(0,heeY[i][j]->GetNbinsX())/hseY[i][j]->Integral(0,hseY[i][j]->GetNbinsX()) ); @@ -693,6 +730,11 @@ void BeAnalysis::EpsilonY() { void BeAnalysis::CosThetaYk() { + if(!cosThetaY) { + Error("BeAnalysis::CosThetaYk", "Energy intervals were not set."); + return; + } + TCanvas *cThetaY[noIntervals]; for (Int_t i = 0; iUpdate(); if (kVerbose) { - Info("sfAngInt_cosThetaYk.cxx", "cut%d; case%d: %3.1f (exp)/ %3.1f (sim) = %3.3f", + Info("BeAnalysis::CosThetaYk", "cut%d; case%d: %3.1f (exp)/ %3.1f (sim) = %3.3f", i, j, hecoskY[i][j]->Integral(0,hecoskY[i][j]->GetNbinsX()), hscoskY[i][j]->Integral(0,hscoskY[i][j]->GetNbinsX()), hecoskY[i][j]->Integral(0,hecoskY[i][j]->GetNbinsX())/hscoskY[i][j]->Integral(0,hscoskY[i][j]->GetNbinsX()) ); @@ -781,6 +823,11 @@ void BeAnalysis::CosThetaYk() { void BeAnalysis::ThetaAT() { + if(!thetaAT) { + Error("BeAnalysis::ThetaAT", "Energy intervals were not set."); + return; + } + TCanvas *cThetaAT[noIntervals]; for (Int_t i = 0; iUpdate(); if (kVerbose) { - Info("sfAngInt_thetaAT.cxx", "cut%d; case%d: %3.1f (exp)/ %3.1f (sim) = %3.3f", + Info("BeAnalysis::ThetaAT", "cut%d; case%d: %3.1f (exp)/ %3.1f (sim) = %3.3f", i, j, hethetaAT[i][j]->Integral(0,hethetaAT[i][j]->GetNbinsX()), hsthetaAT[i][j]->Integral(0,hsthetaAT[i][j]->GetNbinsX()), hethetaAT[i][j]->Integral(0,hethetaAT[i][j]->GetNbinsX())/hsthetaAT[i][j]->Integral(0,hsthetaAT[i][j]->GetNbinsX()) ); @@ -872,54 +919,101 @@ void BeAnalysis::ThetaAT() { } -void BeAnalysis::ExpEventsECuts() { - eEventsECuts[0][0] = 3950000; - eEventsECuts[0][1] = 3950000; - eEventsECuts[0][2] = 3800000; - eEventsECuts[0][3] = 3850000; - eEventsECuts[0][4] = 3950000; - eEventsECuts[0][5] = 3900000; +//void BeAnalysis::ExpEventsECuts(Long64_t **noExpEvents) { +//void BeAnalysis::ExpEventsECuts(Int_t (&noExpEvents)[5][6]) { +//void BeAnalysis::ExpEventsECuts(Int_t (*noExpEvents)[5][6]) { +void BeAnalysis::ExpEventsECuts(Long64_t noExpEvents[5][6]) { + - eEventsECuts[1][0] = eMaxEvents; - eEventsECuts[1][1] = eMaxEvents; - eEventsECuts[1][2] = 4100000; - eEventsECuts[1][3] = eMaxEvents; - eEventsECuts[1][4] = eMaxEvents; - eEventsECuts[1][5] = eMaxEvents; +// eMaxEvents = 5000000; + + if (!noExpEvents) { + for (Int_t i = 0; i < 5; i++) { + for (Int_t j = 0; j < 6; j++) { + eEventsECuts[i][j] = eMaxEvents; + } + } + Warning("BeAnalysis::ExpEventsECuts", "Default numbers of experimental events were set."); + return; + } - eEventsECuts[2][0] = 3050000; - eEventsECuts[2][1] = 3150000; - eEventsECuts[2][2] = 3200000; - eEventsECuts[2][3] = 3200000; - eEventsECuts[2][4] = 3250000; - eEventsECuts[2][5] = 3350000; + for (Int_t i = 0; i < 5; i++) { + for (Int_t j = 0; j < 6; j++) { + eEventsECuts[i][j] = (Long64_t)noExpEvents[i][j]; + } + } + return; - eEventsECuts[3][0] = 3850000; - eEventsECuts[3][1] = 3950000; - eEventsECuts[3][2] = 3900000; - eEventsECuts[3][3] = 3900000; - eEventsECuts[3][4] = 4000000; - eEventsECuts[3][5] = 4000000; - eEventsECuts[4][0] = 4100000; - eEventsECuts[4][1] = 4100000; - eEventsECuts[4][2] = 4000000; - eEventsECuts[4][3] = 4100000; - eEventsECuts[4][4] = eMaxEvents; - eEventsECuts[4][5] = eMaxEvents; +// eEventsECuts[0][0] = 3950000; +// eEventsECuts[0][1] = 3950000; +// eEventsECuts[0][2] = 3800000; +// eEventsECuts[0][3] = 3850000; +// eEventsECuts[0][4] = 3950000; +// eEventsECuts[0][5] = 3900000; +// +// eEventsECuts[1][0] = eMaxEvents; +// eEventsECuts[1][1] = eMaxEvents; +// eEventsECuts[1][2] = 4100000; +// eEventsECuts[1][3] = eMaxEvents; +// eEventsECuts[1][4] = eMaxEvents; +// eEventsECuts[1][5] = eMaxEvents; +// +// eEventsECuts[2][0] = 3050000; +// eEventsECuts[2][1] = 3150000; +// eEventsECuts[2][2] = 3200000; +// eEventsECuts[2][3] = 3200000; +// eEventsECuts[2][4] = 3250000; +// eEventsECuts[2][5] = 3350000; +// +// eEventsECuts[3][0] = 3850000; +// eEventsECuts[3][1] = 3950000; +// eEventsECuts[3][2] = 3900000; +// eEventsECuts[3][3] = 3900000; +// eEventsECuts[3][4] = 4000000; +// eEventsECuts[3][5] = 4000000; +// +// eEventsECuts[4][0] = 4100000; +// eEventsECuts[4][1] = 4100000; +// eEventsECuts[4][2] = 4000000; +// eEventsECuts[4][3] = 4100000; +// eEventsECuts[4][4] = eMaxEvents; +// eEventsECuts[4][5] = eMaxEvents; } -void BeAnalysis::SimEventsECuts() { +void BeAnalysis::SimEventsECuts(Long64_t noSimEvents[5][6]) { + + +// sMaxEvents; + + if (!noSimEvents) { + for (Int_t i = 0; i < 5; i++) { + for (Int_t j = 0; j < 6; j++) { + sEventsECuts[i][j] = sMaxEvents; + } + } + Warning("BeAnalysis::SimEventsECuts", "Default numbers of experimental events were set."); + return; + } for (Int_t i = 0; i < 5; i++) { for (Int_t j = 0; j < 6; j++) { - sEventsECuts[i][j] = sMaxEvents; + sEventsECuts[i][j] = noSimEvents[i][j]; } } + return; + + - sEventsECuts[1][1] = 2630000; - sEventsECuts[1][4] = 2660000; - sEventsECuts[1][5] = 2660000; +// for (Int_t i = 0; i < 5; i++) { +// for (Int_t j = 0; j < 6; j++) { +// sEventsECuts[i][j] = sMaxEvents; +// } +// } +// +// sEventsECuts[1][1] = 2630000; +// sEventsECuts[1][4] = 2660000; +// sEventsECuts[1][5] = 2660000; } @@ -996,6 +1090,100 @@ void BeAnalysis::SetNoSimFiles(Int_t* minFnumber, Int_t* maxFnumber) { return; } +void BeAnalysis::SetEpsilonTintervals(Bool_t intervals[6]) { + + epsilonT = new Bool_t[noIntervals]; + + if (!intervals) { + for (Int_t i = 0; i < 6; i++) { + epsilonT[i] = 1; + } + Warning("BeAnalysis::SetEpsilonTintervals", "All intervals epsilonT will be drawn"); + return; + } + + for (Int_t i = 0; i < 6; i++) { +// cout << intervals[i] << endl; + epsilonT[i] = intervals[i]; + } + return; + +} + +void BeAnalysis::SetCosThetaTkIntervals(Bool_t intervals[6]) { + + cosThetaT = new Bool_t[noIntervals]; + + if (!intervals) { + for (Int_t i = 0; i < 6; i++) { + cosThetaT[i] = 1; + } + Warning("BeAnalysis::SetCosThetaTkIntervals", "All intervals epsilonT will be drawn"); + return; + } + + for (Int_t i = 0; i < 6; i++) { +// cout << intervals[i] << endl; + cosThetaT[i] = intervals[i]; + } + return; + +} + +void BeAnalysis::SetEpsilonYintervals(Bool_t intervals[6]) { + epsilonY = new Bool_t[noIntervals]; + + if (!intervals) { + for (Int_t i = 0; i < 6; i++) { + epsilonY[i] = 1; + } + Warning("BeAnalysis::SetEpsilonYintervals", "All intervals epsilonT will be drawn"); + return; + } + + for (Int_t i = 0; i < 6; i++) { +// cout << intervals[i] << endl; + epsilonY[i] = intervals[i]; + } + return; +} + +void BeAnalysis::SetCosThetaYkIntervals(Bool_t intervals[6]) { + cosThetaY = new Bool_t[noIntervals]; + + if (!intervals) { + for (Int_t i = 0; i < 6; i++) { + cosThetaY[i] = 1; + } + Warning("BeAnalysis::SetCosThetaYkIntervals", "All intervals epsilonT will be drawn"); + return; + } + + for (Int_t i = 0; i < 6; i++) { +// cout << intervals[i] << endl; + cosThetaY[i] = intervals[i]; + } + return; +} + +void BeAnalysis::SetThetaATintervals(Bool_t intervals[6]) { + thetaAT = new Bool_t[noIntervals]; + + if (!intervals) { + for (Int_t i = 0; i < 6; i++) { + thetaAT[i] = 1; + } + Warning("BeAnalysis::SetThetaATintervals", "All intervals epsilonT will be drawn"); + return; + } + + for (Int_t i = 0; i < 6; i++) { +// cout << intervals[i] << endl; + thetaAT[i] = intervals[i]; + } + return; +} + void BeAnalysis::SaveFigures(TCanvas *canvas, TString variable, Int_t interval) { if (!kSaveFigures) return; diff --git a/Be/BeAnalysis.h b/Be/BeAnalysis.h index 45c5b1152d8eade32b82ce4e53941ddcaf2b2975..786dfb9de995de1cbe281003ace6ac4faa39ffb4 100644 --- a/Be/BeAnalysis.h +++ b/Be/BeAnalysis.h @@ -50,11 +50,22 @@ public: void SetNoExpEvents(Long64_t *noExpEvents = 0); void SetNoSimEvents(Long64_t *noSimEvents = 0); - void SetRatiosGStoEX(); - void ExpEventsECuts(); - void SimEventsECuts(); + void SetRatiosGStoEX(TString sRatioAl0, TString sRatioNoAl0, + TString sRatioAl180, TString sRatioNoAl180, + TString sRatioAl90, TString sRatioNoAl90); +// void ExpEventsECuts(Long64_t **noExpEvents = 0); +// void ExpEventsECuts(Int_t (&noExpEvents)[5][6]); +// void ExpEventsECuts(Int_t (*noExpEvents)[5][6]); + void ExpEventsECuts(Long64_t noExpEvents[5][6] = 0); + void SimEventsECuts(Long64_t noSimEvents[5][6] = 0); void EpsilonTRange(); + void SetEpsilonTintervals(Bool_t intervals[6] = 0); + void SetCosThetaTkIntervals(Bool_t intervals[6] = 0); + void SetEpsilonYintervals(Bool_t intervals[6] = 0); + void SetCosThetaYkIntervals(Bool_t intervals[6] = 0); + void SetThetaATintervals(Bool_t intervals[6] = 0); + void Spectra(); void EpsilonT(); void CosThetaTk(); @@ -66,10 +77,11 @@ public: // -private: +//private: TChain *che; //chain with experimental trees TChain *chs[6]; //array of chains with simulation trees TTree *ti[6]; //array of chains with simulation input +private: Int_t lowExpFile; Int_t upExpFile; @@ -125,9 +137,9 @@ private: TCut sRatioNoAl90; TCut sRatio[6]; - Long64_t eEventsECuts[5][6]; - Long64_t sEventsECuts[5][6]; - Double_t eTRange[5][6]; + Long64_t eEventsECuts[5][6]; //! + Long64_t sEventsECuts[5][6]; //! + Double_t eTRange[5][6]; //! //cuts TCut cBe20; diff --git a/macros/BeCorrPRC/ES1_7590.cxx b/macros/BeCorrPRC/ES1_7590.cxx index e2429f5dbe199e8bb163c9b03bc871d6bb6c6ab8..93206bee466d80c64db59f0d6eec675b3cc3bd03 100644 --- a/macros/BeCorrPRC/ES1_7590.cxx +++ b/macros/BeCorrPRC/ES1_7590.cxx @@ -11,7 +11,16 @@ void ES1_7590() ana.SetCMAngularRange(75, 90); - ana.SetChainsToDraw(0, 1, 1, 0, 0, 0); + ana.SetChainsToDraw(1, 1, 1, 1, 0, 0); +// ana.SetChainsToDraw(); + Bool_t epsilonT[6] = {0,0,1,0,0}; + Bool_t cosThetaT[6] = {0,1,0,0,0}; + + Bool_t epsilonY[6] = {0,0,0,1,0}; + Bool_t cosThetaY[6] = {0,1,0,0,0}; + + Bool_t thetaAT[6] = {0,0,0,0,0}; + ana.SetExpChain("../../../be/rootdata/correlations/v5_exp/Be.", 0, 40); @@ -24,9 +33,9 @@ void ES1_7590() cout << sEvents << endl; ana.SetNoSimEvents(sEvents); - const Int_t lowSimFile[6] = {0, 0, 0, 0, 0, 0}; -// const Int_t upSimFile[6] = {5, 5, 5, 5, 5, 5}; - const Int_t upSimFile[6] = {12, 12, 12, 12, 12, 12}; + Int_t lowSimFile[6] = {0, 0, 0, 0, 0, 0}; +// Int_t upSimFile[6] = {5, 5, 5, 5, 5, 5}; + Int_t upSimFile[6] = {12, 12, 12, 12, 12, 12}; ana.SetNoSimFiles(lowSimFile, upSimFile); ana.SetSimChains("../../../be/rootdata/correlations/v5_7590/Sim_mix_br_al_0_65-100_", "../../../be/rootdata/correlations/v5_7590/Sim_mix_br_noal_0_65-100_", @@ -49,70 +58,76 @@ void ES1_7590() ana.Spectra(); - ana.EpsilonT(); - sw.Print(); - sw.Continue(); + ana.SetRatiosGStoEX("sRatio>0.075 && sRatio<0.125", + "sRatio>0.076 && sRatio<0.126", + "sRatio>0.070 && sRatio<0.120", + "sRatio>0.070 && sRatio<0.120", + "sRatio>0.075 && sRatio<0.125", + "sRatio>0.076 && sRatio<0.126"); + ana.SetCuts(); + + Long64_t eEventsECuts[5][6] = {eMaxEvents, eMaxEvents, eMaxEvents, eMaxEvents, eMaxEvents, eMaxEvents, + eMaxEvents, eMaxEvents, eMaxEvents, eMaxEvents, eMaxEvents, eMaxEvents, + eMaxEvents, eMaxEvents, eMaxEvents, eMaxEvents, eMaxEvents, eMaxEvents, + eMaxEvents, eMaxEvents, eMaxEvents, eMaxEvents, eMaxEvents, eMaxEvents, + eMaxEvents, eMaxEvents, eMaxEvents, eMaxEvents, eMaxEvents, eMaxEvents}; +// ana.ExpEventsECuts(); + ana.ExpEventsECuts(eEventsECuts); + + const Long64_t sMaxEvents = 3000000; + Long64_t sEventsECuts[5][6] = {/*sMaxEvents, sMaxEvents, sMaxEvents, sMaxEvents, sMaxEvents, sMaxEvents,*/ + 2020000, 2040000, 2130000, 2080000, 2060000, 2080000, + 2000000, 2020000, 2000000, 2010000, 1990000, 1970000, + 2320000, 2300000, 2340000, 2310000, 2300000, 2290000, + 2060000, 2070000, 2110000, 2110000, 2070000, 2060000, + 2050000, 2050000, 2110000, 2110000, 2050000, 2050000}; + ana.SimEventsECuts(sEventsECuts); + + TCut sRatioAl0 = "sRatio>0.075 && sRatio<0.125"; + TCut sRatioNoAl0 = "sRatio>0.076 && sRatio<0.126"; + TCut sRatioAl180 = "sRatio>0.070 && sRatio<0.120"; + // TCut sRatioAl180 = "sRatio>0.050 && sRatio<0.100"; + TCut sRatioNoAl180 = "sRatio>0.070 && sRatio<0.120"; + // TCut sRatioNoAl180 = "sRatio>0.010 && sRatio<0.150"; + TCut sRatioAl90 = "sRatio>0.075 && sRatio<0.125"; + TCut sRatioNoAl90 = "sRatio>0.076 && sRatio<0.126"; + TCut sRatio[6] = {sRatioAl0, sRatioNoAl0, sRatioAl180, sRatioNoAl180, sRatioAl90, sRatioNoAl90}; - return; + ana.SetRangeProportion(1.1, 1); +// const Double_t eTRange[5][6] = {280, 280, 280, 280, 280, 280, +// 350, 350, 350, 350, 350, 350, +// 350, 350, 350, 350, 350, 350, +// 630, 630, 630, 630, 630, 630, +// 700, 700, 700, 700, 700, 700}; + ana.SetEpsilonTintervals(epsilonT); +// ana.SetEpsilonTintervals(); + ana.EpsilonT(); -// const Int_t kMinAngle = 75; -// const Int_t kMaxAngle = 90; +// ana.SetCosThetaTkIntervals(cosThetaT); +// ana.CosThetaTk(); // -// const Int_t lowfile = 0; -// const Int_t upfile = 40; - -// const Int_t lowSimFile[6] = {0, 0, 0, 0, 0, 0}; -//// const Int_t upSimFile[6] = {5, 5, 5, 5, 5, 5}; -// const Int_t upSimFile[6] = {12, 12, 12, 12, 12, 12}; - - const Bool_t shapeFit = 0; - -// TCut cAngles = "fBeThetaCM1>75*TMath::DegToRad() && fBeThetaCM1<90*TMath::DegToRad()"; -// TCut crAngles = "f6BeThetaCM1>75*TMath::DegToRad() && f6BeThetaCM1<90*TMath::DegToRad()"; - - //simulations - //aligned, 0 degrees -//// TString chainAl0name = "/data2/be/rootdata/correlations/v5_7590/Sim_mix_br_al_0_65-100_"; -// TString inputTreeAl0name = "/data2/be/rootdata/correlations/v5_7590/Sim_mix_br_al_0_65-100_000.root"; -// //isotropic, 0 degrees -//// TString chainNoAl0name = "/data2/be/rootdata/correlations/v5_7590/Sim_mix_br_noal_0_65-100_"; -// TString inputTreeNoAl0name = "/data2/be/rootdata/correlations/v5_7590/Sim_mix_br_noal_0_65-100_000.root"; -// //aligned, 180 degrees -//// TString chainAl180name = "/data2/be/rootdata/correlations/v5_7590/Sim_mix_br_al_180_65-100_"; -// TString inputTreeAl180name = "/data2/be/rootdata/correlations/v5_7590/Sim_mix_br_al_180_65-100_000.root"; -// //isotropic, 180 degrees -//// TString chainNoAl180name = "/data2/be/rootdata/correlations/v5_7590/Sim_mix_br_noal_180_65-100_"; -// TString inputTreeNoAl180name = "/data2/be/rootdata/correlations/v5_7590/Sim_mix_br_noal_180_65-100_000.root"; -// //isotropic, 90 degrees -//// TString chainAl90name = "/data2/be/rootdata/correlations/v5_7590/Sim_mix_br_al_90_65-100_"; -// TString inputTreeAl90name = "/data2/be/rootdata/correlations/v5_7590/Sim_mix_br_al_90_65-100_000.root"; -// //isotropic, 90 degrees -//// TString chainNoAl90name = "/data2/be/rootdata/correlations/v5_7590/Sim_mix_br_noal_90_65-100_"; -// TString inputTreeNoAl90name = "/data2/be/rootdata/correlations/v5_7590/Sim_mix_br_noal_90_65-100_000.root"; - - //open tree with MC simulations -// gROOT->ProcessLine(".x corr_templates/sfAngInt_opensimtree.cxx"); - -// TChain *che = BeWork::OpenChain("/data2/be/rootdata/correlations/v5_exp/Be.", -// lowfile, upfile, "beonly"); //original file -// Info("statesRatioFitting.cxx", "%d events in chain \"%s\" containing experimental data", -// che->GetEntries(), che->GetName()); - -// gROOT->ProcessLine(".x corr_templates/sfAngInt_cuts.cxx"); - - //auxiliary strings - TString drawCommand; - TString hsName; - TString heName; - TString hiName; +// ana.SetEpsilonYintervals(epsilonY); +// ana.EpsilonY(); +// +// ana.SetCosThetaYkIntervals(cosThetaY); +// ana.CosThetaYk(); + ana.SetThetaATintervals(thetaAT); +// ana.SetThetaATintervals(); + ana.ThetaAT(); sw.Print(); sw.Continue(); + Info("ES1_7590.cxx", "Finished."); + + return; + + + const Bool_t savePictures = 0; TString ppath = "pictures/correlations/v5_7590/"; TString configuration = "v5_7590"; @@ -123,91 +138,13 @@ void ES1_7590() // TString pictFormat = ".jpg"; const Bool_t kVerbose = 1; - const Bool_t kAutoRange = 1; - // const Float_t kRangeProportion = 1.2; - const Float_t kRangeProportion = 1.1; - // const Float_t kRangeProportionIn = 1.1; const Float_t kRangeProportionIn = 2.0; - const Bool_t kChains[6] = {0,0,0,1,0,1}; -// const Bool_t kChains[6] = {1,1,1,1,1,1}; - - const Bool_t spectra = 0; - - const Int_t nointervals = 5; - -// const Bool_t cosThetaT[nointervals] = {1,1,1,1,1}; - const Bool_t cosThetaT[nointervals] = {0,0,0,0,0}; - const Bool_t epsilonT[nointervals] = {0,0,1,0,0}; -// const Bool_t epsilonT[nointervals] = {1,1,1,1,1}; - - const Bool_t epsilonY[nointervals] = {0,0,0,0,0}; -// const Bool_t epsilonY[nointervals] = {1,1,1,1,1}; - const Bool_t cosThetaY[nointervals] = {0,0,0,0,0}; -// const Bool_t cosThetaY[nointervals] = {1,1,1,1,1}; - - //quasibinary kinematics - const Bool_t thetaAT[nointervals] = {0,0,0,0,0}; -// const Bool_t thetaAT[nointervals] = {1,1,1,1,1}; - const Bool_t thetaP1T[nointervals] = {0,0,0,0,0}; -// const Bool_t thetaP1T[nointervals] = {1,1,1,1,1}; - const Bool_t thetaP2Y[nointervals] = {0,0,0,0,0}; - - //0-2 MeV, 2-3.1 MeV - TCut sRatioAl0 = "sRatio>0.075 && sRatio<0.125"; - TCut sRatioNoAl0 = "sRatio>0.076 && sRatio<0.126"; - TCut sRatioAl180 = "sRatio>0.070 && sRatio<0.120"; -// TCut sRatioAl180 = "sRatio>0.050 && sRatio<0.100"; - TCut sRatioNoAl180 = "sRatio>0.070 && sRatio<0.120"; -// TCut sRatioNoAl180 = "sRatio>0.010 && sRatio<0.150"; - TCut sRatioAl90 = "sRatio>0.075 && sRatio<0.125"; - TCut sRatioNoAl90 = "sRatio>0.076 && sRatio<0.126"; - TCut sRatio[6] = {sRatioAl0, sRatioNoAl0, sRatioAl180, sRatioNoAl180, sRatioAl90, sRatioNoAl90}; - - //integral fit -// const Long64_t eMaxEvents = 5000000; -// Long64_t eEventsAl0 = eMaxEvents; -// Long64_t eEventsNoAl0 = eMaxEvents; -// Long64_t eEventsAl180 = eMaxEvents; -// Long64_t eEventsNoAl180 = eMaxEvents; -// Long64_t eEventsAl90 = eMaxEvents; -// Long64_t eEventsNoAl90 = eMaxEvents; - - Long64_t eEventsECuts[5][6] = {eMaxEvents, eMaxEvents, eMaxEvents, eMaxEvents, eMaxEvents, eMaxEvents, - eMaxEvents, eMaxEvents, eMaxEvents, eMaxEvents, eMaxEvents, eMaxEvents, - eMaxEvents, eMaxEvents, eMaxEvents, eMaxEvents, eMaxEvents, eMaxEvents, - eMaxEvents, eMaxEvents, eMaxEvents, eMaxEvents, eMaxEvents, eMaxEvents, - eMaxEvents, eMaxEvents, eMaxEvents, eMaxEvents, eMaxEvents, eMaxEvents}; - -// const Long64_t eEvents[6] = {eEventsAl0, eEventsNoAl0, eEventsAl180, eEventsNoAl180, eEventsAl90, eEventsNoAl90}; -// const TChain *chs[6] = {chsAl0, chsNoAl0, chsAl180, chsNoAl180, chsAl90, chsNoAl90}; -// const TTree *ti[6] = {tiAl0, tiNoAl0, tiAl180, tiNoAl180, tiAl90, tiNoAl90}; - -// const Long64_t sMaxEvents = 3000000; -// Long64_t sEventsAl0 = 2050000; -// Long64_t sEventsNoAl0 = 2050000; -// Long64_t sEventsAl180 = 2050000; -// Long64_t sEventsNoAl180 = 2050000; -// Long64_t sEventsAl90 = 1900000; -// Long64_t sEventsNoAl90 = 1950000; -// const Long64_t sEvents[6] = {sEventsAl0, sEventsNoAl0, sEventsAl180, sEventsNoAl180, sEventsAl0, sEventsNoAl0}; - - const Long64_t sMaxEvents = 3000000; - Long64_t sEventsECuts[5][6] = {/*sMaxEvents, sMaxEvents, sMaxEvents, sMaxEvents, sMaxEvents, sMaxEvents,*/ - 2020000, 2040000, 2130000, 2080000, 2060000, 2080000, - 2000000, 2020000, 2000000, 2010000, 1990000, 1970000, - 2320000, 2300000, 2340000, 2310000, 2300000, 2290000, - 2060000, 2070000, 2110000, 2110000, 2070000, 2060000, - 2050000, 2050000, 2110000, 2110000, 2050000, 2050000}; - - TString canvasTitle; - TString canvasName; - //spectra - const Double_t sRange[6] = {2000, 2000, 2000, 2000, 2000, 2000}; - if (spectra) { - gROOT->ProcessLine(".x corr_templates/sfAngInt_spectra_v5.cxx"); - } +// const Double_t sRange[6] = {2000, 2000, 2000, 2000, 2000, 2000}; +// if (spectra) { +// gROOT->ProcessLine(".x corr_templates/sfAngInt_spectra_v5.cxx"); +// } // "T" system const Double_t eTRange[5][6] = {280, 280, 280, 280, 280, 280, @@ -217,54 +154,6 @@ void ES1_7590() 700, 700, 700, 700, 700, 700}; gROOT->ProcessLine(".x corr_templates/sfAngInt_epsilonT.cxx"); - const Double_t coskTRange[5][6] = {300, 300, 300, 300, 300, 300, - 350, 350, 350, 350, 350, 350, - 350, 350, 350, 350, 350, 350, - 900, 900, 900, 900, 900, 900, - 1100, 1100, 1100, 1100, 1100, 1100}; - gROOT->ProcessLine(".x corr_templates/sfAngInt_cosThetaTk.cxx"); - - // "Y" system - const Double_t eYRange[5][6] = {350, 350, 350, 350, 350, 350, - 400, 400, 400, 400, 400, 400, - 450, 450, 450, 450, 450, 450, - 1000, 1000, 1000, 1000, 1000, 1000, - 1300, 1300, 1300, 1300, 1300, 1300}; - gROOT->ProcessLine(".x corr_templates/sfAngInt_epsilonY.cxx"); - - const Double_t coskYRange[5][6] = {230, 230, 230, 230, 230, 230, - 350, 350, 350, 350, 350, 350, - 350, 350, 350, 350, 350, 350, - 600, 600, 600, 600, 600, 600, - 650, 650, 650, 650, 650, 650}; - gROOT->ProcessLine(".x corr_templates/sfAngInt_cosThetaYk.cxx"); - - //quasibinary kinematics: diproton - const Double_t tP1Range[5][6] = {80, 80, 80, 80, 80, 80, - 120, 120, 120, 120, 120, 120, - 160, 120, 160, 120, 160, 120, - 250, 200, 250, 200, 250, 200, - 240, 240, 240, 240, 240, 240}; - gROOT->ProcessLine(".x corr_templates/sfAngInt_thetaP1T.cxx"); - - const Double_t tARange[5][6] = {80, 80, 80, 80, 80, 80, - 130, 130, 130, 130, 130, 130, - 200, 120, 200, 120, 200, 120, - 300, 200, 300, 200, 300, 200, - 270, 270, 270, 270, 270, 270}; - gROOT->ProcessLine(".x corr_templates/sfAngInt_thetaAT.cxx"); - - //quasibinary kinematics: 5Li - const Double_t tP2YRange[5][6] = {50, 50, 50, 50, 50, 50, - 75, 75, 75, 75, 75, 75, - 110, 70, 110, 70, 110, 70, - 300, 300, 300, 300, 300, 300, - 200, 200, 200, 200, 200, 200}; - gROOT->ProcessLine(".x corr_templates/sfAngInt_thetaP2Y.cxx"); - - Info("correlations_v5_7590.cxx", "Finished."); - - }