getDetRad.C
Go to the documentation of this file.00001
00002
00003 void getDetRad() {
00004
00005
00006
00007 const Int_t NUM_RANGES = 11;
00008 const Int_t NUM_DETS = 5;
00009
00010 Double_t zTarg[NUM_DETS] = {14010,15510,17260,19510,21260};
00011
00012
00013
00014
00015 TCanvas *c1 = new TCanvas();
00016
00017
00018 c1->Divide(2,1);
00019
00020
00021 Double_t rad[NUM_DETS][NUM_RANGES], rad_rms[NUM_DETS][NUM_RANGES],
00022 low[NUM_DETS][NUM_RANGES], high[NUM_DETS][NUM_RANGES],
00023 num[NUM_DETS][NUM_RANGES];
00024
00025 TMultiGraph *mg = new TMultiGraph();
00026
00027 for (int j=0; j<NUM_DETS; j++) {
00028
00029 TGraphErrors *gr = new TGraphErrors(NUM_RANGES);
00030
00031 for (int i=0; i<NUM_RANGES; i++) {
00032
00033 low[j][i] = 2750 + i*250;
00034 high[j][i] = low[j][i] + 250;
00035
00036 TString cut = "ion&&z==";
00037 cut+=zTarg[j];
00038 cut+="&&kineE>";
00039 cut+=low[j][i];
00040 cut+="&&kineE<";
00041 cut+=high[j][i];
00042
00043 if (i<6) {
00044
00045
00046 geant->Draw("r",cut,"goff");
00047
00048 rad[j][i]=htemp->GetMean();
00049 rad_rms[j][i]=htemp->GetRMS();
00050 num[j][i]=htemp->GetEntries();
00051
00052 gr->SetPoint(i,low[j][i],num[j][i]);
00053 }
00054 else {
00055
00056
00057 geant->Draw("r",cut,"goff");
00058
00059 rad[j][i]=htemp->GetMean();
00060 rad_rms[j][i]=htemp->GetRMS();
00061 num[j][i]=htemp->GetEntries();
00062
00063 gr->SetPoint(i,low[j][i],num[j][i]);
00064 }
00065
00066 mg->Add(gr);
00067
00068 }
00069 }
00070
00071
00072 c1->cd(1);
00073 mg->Draw("apc*");
00074
00075
00076 TMultiGraph *mg1 = new TMultiGraph();
00077
00078 for (int i=0; i<NUM_RANGES; i++) {
00079
00080 TGraphErrors *gr1 = new TGraphErrors(NUM_DETS);
00081
00082
00083 for (int j=0; j<NUM_DETS; j++) {
00084
00085
00086 gr1->SetPoint(j,zTarg[j],rad[j][i]);
00087 gr1->SetPointError(j,0,rad_rms[j][i]);
00088
00089 gr1->SetMarkerStyle(20+i);
00090 gr1->SetMarkerColor(i+1);
00091 gr1->SetLineColor(i+1);
00092
00093
00094 }
00095
00096 mg1->Add(gr1);
00097
00098 }
00099
00100 c1->cd(2);
00101 mg1->Draw("apc");
00102
00103
00104 for (int j=0; j<NUM_DETS; j++) {
00105
00106 cout << "\nDet " << (j+1) << " at z=" << zTarg[j] << "\n" << endl;
00107
00108 for (int i=0; i<NUM_RANGES; i++) {
00109
00110 cout << "N = " << num[j][i] << " For kineE0=[" << low[j][i] << "," << high[j][i] << "] <R>=\t" << rad[j][i]/10 << "\t\t+-\t" << rad_rms[j][i]/10 << "\tcm." << endl;
00111
00112 }
00113 }
00114
00115 }