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   //Double_t zTarg[NUM_DETS] = {17260,20010,21010,21510,22760};
00012 
00013 
00014 
00015   TCanvas *c1 = new TCanvas();
00016   //TCanvas *c2 = new TCanvas();
00017     
00018   c1->Divide(2,1);
00019   //c2->Divide(3,2);
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   //c1->cd(i+1);
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   //c2->cd(i+1-6);
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 }

Generated on 16 Jun 2013 for mollersim by  doxygen 1.6.1