MUST2 SAMURAI_2018 S3-LEB-LPC SUPERNEMO MUGAST EXPAND SCALP GALATRON HiCARI VELO
  MUGAST  Not logged in MUGAST
Message ID: 3828     Entry time: Sun Apr 7 10:26:34 2019
Author: mugast 
ExpNbr: com2019 
Type: OFFLINE 
Category: General 
Status: Fixed 
Target-Source: N/A 
Subject: save File KineALL.cxx 
1 #include"NPReaction.h"
2
3 TCutG* ETOF=NULL;
4 TCutG* EDE=NULL;
5 TChain* chain=NULL ;
6 TCanvas* c1 = NULL;
7 TCanvas* c2 = NULL;
8
9 ////////////////////////////////////////////////////////////////////////////////
10 void LoadCuts(){
11 /* TFile* File_ETOF = new TFile("cuts/ETOF.root","READ");
12 ETOF = (TCutG*) File_ETOF->FindObjectAny("ETOF");
13
14 TFile* File_EDE = new TFile("cuts/EDE.root","READ");
15 EDE= (TCutG*) File_EDE->FindObjectAny("EDE");
16 */
17 }
18
19 ////////////////////////////////////////////////////////////////////////////////
20 void LoadChainNP(){
21 chain = new TChain("PhysicsTree");
22 chain->Add("../../Outputs/Analysis/Phy253.root");
23 chain->Add("NPOutput/runN_0256.root");
24 chain->Add("NPOutput/runN_0256_1.root");
25 chain->Add("NPOutput/runN_0256_2.root");
26 chain->Add("NPOutput/runN_0256_3.root");
27 chain->Add("NPOutput/runN_0256_4.root");
28 chain->Add("NPOutput/runN_0256_5.root");
29 chain->Add("NPOutput/runN_0256_6.root");
30 chain->Add("NPOutput/runN_0256_7.root");
31 chain->Add("NPOutput/runN_0256_8.root");
32 chain->Add("NPOutput/runN_0256_9.root");
33 chain->Add("NPOutput/runN_0256_10.root");
34 chain->Add("NPOutput/runN_0256_11.root");
35 chain->Add("NPOutput/runN_0256_12.root");
36 chain->Add("NPOutput/runN_0256_13.root");
37 //chain->Add("NPOutput/runN_0256_14.root");
38 //chain->Add("NPOutput/runN_0256_15.root");
39 // chain->Add("NPOutput/runN_0256_16.root");
40 }
41 // void LoadChainNPVAMOS(){
42 // chain = new TChain("PhysicsTree");
43 // chain->Add("NPOutput/runVAMOS_0256_0.root");
44 // }
45 void LoadChainNPVAMOS(){
46 chain = new TChain("PhysicsTree");
47 chain->Add("NPOutput/Phy256_ALL.root");
48 //chain->Add("NPOutput/testFF.root");
49 }
50 //void LoadChainVAMOS(){
51 // chain = new TChain("AD");
52 // chain->Add("../../Outputs/Analysis/Phy253.root");
53 // chain->Add("NPOutput/runN_0256.root");
54 // chain->Add("NPOutput/runN_0256_1.root");
55 // chain->Add("NPOutput/runN_0256_2.root");
56 // chain->Add("NPOutput/runN_0256_3.root");
57 // chain->Add("NPOutput/runN_0256_4.root");
58 // chain->Add("NPOutput/runN_0256_5.root");
59 // chain->Add("NPOutput/runN_0256_6.root");
60 // chain->Add("NPOutput/runN_0256_7.root");
61 // chain->Add("NPOutput/runN_0256_8.root");
62 // chain->Add("NPOutput/runN_0256_9.root");
63 // chain->Add("NPOutput/runN_0256_10.root");
64 // chain->Add("NPOutput/runN_0256_11.root");
65 // chain->Add("NPOutput/runN_0256_12.root");
66 // chain->Add("NPOutput/runN_0256_13.root");
67 // chain->Add("NPOutput/runN_0256_14.root");
68 // chain->Add("NPOutput/runN_0256_15.root");
69 // chain->Add("NPOutput/runN_0256_16.root");
70 // }
71 //////////////////////////////////////////////////////////////////////////////////
72 void LoadEventList(){
73 }
74 ////////////////////////////////////////////////////////////////////////////////
75 void plot_kine(NPL::Reaction r, double Ex,Color_t c,int w, int s){
76 r.SetExcitation4(Ex);
77
78 TGraph* g= r.GetKinematicLine3();
79 g->SetLineColor(c) ;
80 g->SetLineStyle(s) ;
81 g->SetLineWidth(w) ;
82
83 g->Draw("c");
84 }
85 ////////////////////////////////////////////////////////////////////////////////
86 void plot_state(double Ex,double max,Color_t c,int w, int s){
87 TLine* line = new TLine(Ex,0,Ex,max) ;
88 line->SetLineColor(c) ;
89 line->SetLineStyle(s) ;
90 line->SetLineWidth(w) ;
91 line->Draw();
92
93 }
94 ////////////////////////////////////////////////////////////////////////////////
95 void KineALL(){
96 gStyle->SetOptStat(111111111);
97 // Load stuff
98 // LoadChainNP();
99 LoadChainNPVAMOS();
100
101 // for Kinematic calculation
102 NPL::Reaction O17("16O(d,p)17O@96");
103 NPL::Reaction O16dd("16O(d,d)16O@96");
104 NPL::Reaction O16pp("16O(p,p)16O@96");
105 NPL::Reaction O16C12("16O(12C,12C)16O@96");
106 NPL::Reaction O15("16O(d,t)15O@96");
107 NPL::Reaction O16dh("16O(d,3He)15N@96");
108 NPL::Reaction O16d4h("16O(d,4He)15N@96");
109 Color_t color_dp=kOrange+7;
110 Color_t color_dd=kRed;
111 Color_t color_pp=kGreen;
112 Color_t color_dt=kAzure+7;
113 Color_t color_ca=kBlack;
114 Color_t color_dh=kMagenta;
115 Color_t color_d4h=kCyan;
116
117 c1 = new TCanvas("Example1","Example1",0,0,600,600);
118 c2 = new TCanvas("Example2","Example2",0,0,600,600);
119
120 c1->Divide(1,3);
121 c2->Divide(1,4);
122 // Kinematic Plot
123 c1->cd(1);
124 chain->Draw("ELab:ThetaLab>>hKine(720,0,180,1000,0,40)","ELab>0&&ThetaLab>0");
125 TH2F* hKine = (TH2F*) gDirectory->Get("hKine");
126 hKine->Draw("col");
127 hKine->GetXaxis()->SetTitle("#Theta_{Lab} (deg)");
128 hKine->GetYaxis()->SetTitle("E_{Lab} (MeV)");
129
130 // 15N
131 plot_kine(O16dh,0,color_dh,2,1);
132
133 // 17N
134 plot_kine(O16d4h,0,color_d4h,2,1);
135 plot_kine(O16d4h,2.312,color_d4h,2,1);
136
137 // O17
138 plot_kine(O17,0,color_dp,2,1);
139 plot_kine(O17,0.87073,color_dp,2,1);
140 plot_kine(O17,3.05536,color_dp,1,1);
141 // Sn
142 plot_kine(O17,4.143,color_dp,1,2);
143
144 // O15
145 plot_kine(O15,0,color_dt,2,1);
146 //plot_kine(O15,5.183,color_dt,2,1);
147 //plot_kine(O15,5.241,color_dt,1,1);
148 //plot_kine(O15,6.176,color_dt,1,1);
149 // Sp
150 //plot_kine(O15,7.297,color_dt,1,2);
151 // Elastic
152 plot_kine(O16dd,0,color_dd,2,1);
153 plot_kine(O16pp,0,color_pp,1,1);
154 plot_kine(O16C12,0,color_ca,1,2);
155
156 // Ex Plot
157 c1->cd(2);
158 int bin = 1000;
159 double start=-10;
160 double end = 10;
161 double binning = (end-start)/bin;
162 chain->Draw(Form("Ex>>hEx(%d,%f,%f)",1000,start,end),"ThetaLab>90");
163 TH2F* hEx = (TH2F*) gDirectory->Get("hEx");
164
165 chain->Draw(Form("Ex>>hEx2(%d,%f,%f)",1000,start,end),"ThetaLab>90&&IC[1]>2");
166 TH2F* hEx2 = (TH2F*) gDirectory->Get("hEx2");
167
168 hEx->GetXaxis()->SetTitle("E_{17O} (MeV)");
169 hEx->GetYaxis()->SetTitle(Form("counts / %.0f keV",binning*1000));
170
171 hEx->Draw();
172 hEx->Rebin(8);
173 c1->cd(3);
174 hEx2->Draw();
175 hEx2->Rebin(8);
176
177 c2->cd(1);
178 chain->Draw("EDC>>hEDC(2000,0,2)","");
179 TH2F* hEDC = (TH2F*) gDirectory->Get("hEDC");
180 hEDC->Rebin(4);
181
182 c2->cd(2);
183 chain->Draw("EDC>>hEDC1(2000,0,2)","Ex>0.2 && Ex<1.4");
184 TH2F* hEDC1 = (TH2F*) gDirectory->Get("hEDC1");
185 hEDC1->Rebin(4);
186
187 c2->cd(3);
188 chain->Draw("EDC>>hEDC2(2000,0,2)","IC[1]>2");
189 TH2F* hEDC2 = (TH2F*) gDirectory->Get("hEDC2");
190 hEDC2->Rebin(4);
191
192 c2->cd(4);
193 // chain->Draw("EDC>>hEDC3(2000,0,2)","MW_Nr>0");
194 chain->Draw("EDC>>hEDC3(2000,0,2)","IC[1]>2 && Ex>0.2 && Ex<1.4");
195 TH2F* hEDC3 = (TH2F*) gDirectory->Get("hEDC3");
196 hEDC3->Rebin(4);
197
198 double max = hEx->GetMaximum();
199 plot_state(0,max,color_dp,2,1);
200 plot_state(0.87073,max,color_dp,2,1);
201 plot_state(3.05536,max,color_dp,1,1);
202 plot_state(4.143,max,color_dp,1,2);
203 }

ELOG Home Page