Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/examples/extended/medical/dna/AuNP/plot.C

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

Diff markup

Differences between /examples/extended/medical/dna/AuNP/plot.C (Version 11.3.0) and /examples/extended/medical/dna/AuNP/plot.C (Version 11.0.p2)


  1                                                     1 
  2 void BinLogX(TH1* h)                                2 void BinLogX(TH1* h)
  3 {                                                   3 {
  4         TAxis *axis = h->GetXaxis();                4         TAxis *axis = h->GetXaxis();
  5         int bins = axis->GetNbins();                5         int bins = axis->GetNbins();
  6                                                     6 
  7         Axis_t from      = axis->GetXmin();         7         Axis_t from      = axis->GetXmin();
  8         Axis_t to        = axis->GetXmax();         8         Axis_t to        = axis->GetXmax();
  9         Axis_t width     = (to - from) / bins;      9         Axis_t width     = (to - from) / bins;
 10         Axis_t *new_bins = new Axis_t[bins + 1     10         Axis_t *new_bins = new Axis_t[bins + 1];
 11                                                    11 
 12         for (int i = 0; i <= bins; i++) {          12         for (int i = 0; i <= bins; i++) {
 13                 new_bins[i] = TMath::Power(10,     13                 new_bins[i] = TMath::Power(10, from + i * width);
 14         }                                          14         }
 15         axis->Set(bins, new_bins);                 15         axis->Set(bins, new_bins);
 16         delete []new_bins;                         16         delete []new_bins;
 17 }                                                  17 }
 18                                                    18 
 19                                                    19 
 20 void plot(){                                       20 void plot(){
 21                                                    21 
 22         double dens = 1000;//kg/m3                 22         double dens = 1000;//kg/m3
 23                                                    23 
 24         double R =50;                              24         double R =50;
 25                                                    25 
 26         //TFile *fin           = new TFile("Au     26         //TFile *fin           = new TFile("AuNP_Livermore.root");
 27         TFile *fin           = new TFile("AuNP     27         TFile *fin           = new TFile("AuNP.root");
 28         TH1F *h1neve         = (TH1F*)fin->Get     28         TH1F *h1neve         = (TH1F*)fin->Get("h1Events");
 29         TH1F *h1Edep         = (TH1F*)fin->Get     29         TH1F *h1Edep         = (TH1F*)fin->Get("h1Edep");
 30         TH1F *h1secnp_cha    = (TH1F*)fin->Get     30         TH1F *h1secnp_cha    = (TH1F*)fin->Get("h1SecEnergyNP_charged");
 31         TH1F *h1secnp_nut    = (TH1F*)fin->Get     31         TH1F *h1secnp_nut    = (TH1F*)fin->Get("h1SecEnergyNP_nutral");
 32         TH1F *h1secnpsurf_cha= (TH1F*)fin->Get     32         TH1F *h1secnpsurf_cha= (TH1F*)fin->Get("h1SecEnergyNPSurf_charged");
 33         TH1F *h1secnpsurf_nut= (TH1F*)fin->Get     33         TH1F *h1secnpsurf_nut= (TH1F*)fin->Get("h1SecEnergyNPSurf_nutral");
 34         TH1F *h1sec_cha      = (TH1F*)fin->Get     34         TH1F *h1sec_cha      = (TH1F*)fin->Get("h1Sec_charged");
 35         TH1F *h1sec_nut      = (TH1F*)fin->Get     35         TH1F *h1sec_nut      = (TH1F*)fin->Get("h1Sec_nutral");
 36         TH1F *h1chem_0       = (TH1F*)fin->Get     36         TH1F *h1chem_0       = (TH1F*)fin->Get("h1Chem_0");
 37         TH1F *h1chem_1       = (TH1F*)fin->Get     37         TH1F *h1chem_1       = (TH1F*)fin->Get("h1Chem_1");
 38         TH1F *h1chem_2       = (TH1F*)fin->Get     38         TH1F *h1chem_2       = (TH1F*)fin->Get("h1Chem_2");
 39         TH1F *h1chem_3       = (TH1F*)fin->Get     39         TH1F *h1chem_3       = (TH1F*)fin->Get("h1Chem_3");
 40         TH1F *h1chem_4       = (TH1F*)fin->Get     40         TH1F *h1chem_4       = (TH1F*)fin->Get("h1Chem_4");
 41         TH1F *h1chem_5       = (TH1F*)fin->Get     41         TH1F *h1chem_5       = (TH1F*)fin->Get("h1Chem_5");
 42         TH1F *h1chem_6       = (TH1F*)fin->Get     42         TH1F *h1chem_6       = (TH1F*)fin->Get("h1Chem_6");
 43         TH1F *h1chem_7       = (TH1F*)fin->Get     43         TH1F *h1chem_7       = (TH1F*)fin->Get("h1Chem_7");
 44                                                    44 
 45         TH2F *h2Edep         = (TH2F*)fin->Get     45         TH2F *h2Edep         = (TH2F*)fin->Get("h2Edep");
 46         TH2F *h2sec2_cha     = (TH2F*)fin->Get     46         TH2F *h2sec2_cha     = (TH2F*)fin->Get("h2SecEnergyAbs_charged");
 47         TH2F *h2sec2_nut     = (TH2F*)fin->Get     47         TH2F *h2sec2_nut     = (TH2F*)fin->Get("h2SecEnergyAbs_nutral");
 48                                                    48 
 49         double neve = h1neve->GetBinContent(1)     49         double neve = h1neve->GetBinContent(1);
 50         h1Edep         ->Scale(1./neve);           50         h1Edep         ->Scale(1./neve);
 51         h1secnp_cha    ->Scale(1./neve);           51         h1secnp_cha    ->Scale(1./neve);
 52         h1secnp_nut    ->Scale(1./neve);           52         h1secnp_nut    ->Scale(1./neve);
 53         h1secnpsurf_cha->Scale(1./neve);           53         h1secnpsurf_cha->Scale(1./neve);
 54         h1secnpsurf_nut->Scale(1./neve);           54         h1secnpsurf_nut->Scale(1./neve);
 55         h1sec_cha      ->Scale(1./neve);           55         h1sec_cha      ->Scale(1./neve);
 56         h1sec_nut      ->Scale(1./neve);           56         h1sec_nut      ->Scale(1./neve);
 57         h1chem_0       ->Scale(1./neve);           57         h1chem_0       ->Scale(1./neve);
 58         h1chem_1       ->Scale(1./neve);           58         h1chem_1       ->Scale(1./neve);
 59         h1chem_2       ->Scale(1./neve);           59         h1chem_2       ->Scale(1./neve);
 60         h1chem_3       ->Scale(1./neve);           60         h1chem_3       ->Scale(1./neve);
 61         h1chem_4       ->Scale(1./neve);           61         h1chem_4       ->Scale(1./neve);
 62         h1chem_5       ->Scale(1./neve);           62         h1chem_5       ->Scale(1./neve);
 63         h1chem_6       ->Scale(1./neve);           63         h1chem_6       ->Scale(1./neve);
 64         h1chem_7       ->Scale(1./neve);           64         h1chem_7       ->Scale(1./neve);
 65         h2Edep         ->Scale(1./neve);           65         h2Edep         ->Scale(1./neve);
 66         h2sec2_cha     ->Scale(1./neve);           66         h2sec2_cha     ->Scale(1./neve);
 67         h2sec2_nut     ->Scale(1./neve);           67         h2sec2_nut     ->Scale(1./neve);
 68                                                    68 
 69         double val_cha=0;                          69         double val_cha=0;
 70         double err_cha=0;                          70         double err_cha=0;
 71         double val_nut=0;                          71         double val_nut=0;
 72         double err_nut=0;                          72         double err_nut=0;
 73                                                    73 
 74         int NR = h1sec_cha  -> GetNbinsX();        74         int NR = h1sec_cha  -> GetNbinsX();
 75         TH1D *h1sec_tot = new TH1D("h1Sec_tot"     75         TH1D *h1sec_tot = new TH1D("h1Sec_tot","h1Sec_tot",NR,1,5);
 76         BinLogX(h1sec_tot);                        76         BinLogX(h1sec_tot);
 77         for(int i=0;i<NR;i++){                     77         for(int i=0;i<NR;i++){
 78                 val_cha = h1sec_cha->GetBinCon     78                 val_cha = h1sec_cha->GetBinContent(i+1);
 79                 err_cha = h1sec_cha->GetBinErr     79                 err_cha = h1sec_cha->GetBinError  (i+1);
 80                 val_nut = h1sec_nut->GetBinCon     80                 val_nut = h1sec_nut->GetBinContent(i+1);
 81                 err_nut = h1sec_nut->GetBinErr     81                 err_nut = h1sec_nut->GetBinError  (i+1);
 82                 //val_cha = h1sec_cha->GetBinC     82                 //val_cha = h1sec_cha->GetBinContent(i+1)/h1sec_cha->GetBinWidth(i+1);
 83                 //err_cha = h1sec_cha->GetBinE     83                 //err_cha = h1sec_cha->GetBinError  (i+1)/h1sec_cha->GetBinWidth(i+1);
 84                 //val_nut = h1sec_nut->GetBinC     84                 //val_nut = h1sec_nut->GetBinContent(i+1)/h1sec_nut->GetBinWidth(i+1);
 85                 //err_nut = h1sec_nut->GetBinE     85                 //err_nut = h1sec_nut->GetBinError  (i+1)/h1sec_nut->GetBinWidth(i+1);
 86                 h1sec_cha  -> SetBinContent(i+     86                 h1sec_cha  -> SetBinContent(i+1,val_cha);
 87                 h1sec_cha  -> SetBinError  (i+     87                 h1sec_cha  -> SetBinError  (i+1,err_cha);
 88                 h1sec_nut  -> SetBinContent(i+     88                 h1sec_nut  -> SetBinContent(i+1,val_nut);
 89                 h1sec_nut  -> SetBinError  (i+     89                 h1sec_nut  -> SetBinError  (i+1,err_nut);
 90                 h1sec_tot  -> SetBinContent(i+     90                 h1sec_tot  -> SetBinContent(i+1,val_cha+val_nut);
 91                 h1sec_tot  -> SetBinError  (i+     91                 h1sec_tot  -> SetBinError  (i+1,err_cha+err_nut);
 92         }                                          92         }
 93                                                    93 
 94         TH1D *h1chem_tot = new TH1D("h1Chem_to     94         TH1D *h1chem_tot = new TH1D("h1Chem_tot","h1Chem_tot",NR,1,5);
 95         BinLogX(h1chem_tot);                       95         BinLogX(h1chem_tot);
 96         for(int i=0;i<NR;i++){                     96         for(int i=0;i<NR;i++){
 97                 double val_0 = h1chem_0->GetBi     97                 double val_0 = h1chem_0->GetBinContent(i+1)/h1chem_0->GetBinWidth(i+1);
 98                 double val_1 = h1chem_1->GetBi     98                 double val_1 = h1chem_1->GetBinContent(i+1)/h1chem_1->GetBinWidth(i+1);
 99                 double val_2 = h1chem_2->GetBi     99                 double val_2 = h1chem_2->GetBinContent(i+1)/h1chem_2->GetBinWidth(i+1);
100                 double val_3 = h1chem_3->GetBi    100                 double val_3 = h1chem_3->GetBinContent(i+1)/h1chem_3->GetBinWidth(i+1);
101                 double val_4 = h1chem_4->GetBi    101                 double val_4 = h1chem_4->GetBinContent(i+1)/h1chem_4->GetBinWidth(i+1);
102                 double val_5 = h1chem_5->GetBi    102                 double val_5 = h1chem_5->GetBinContent(i+1)/h1chem_5->GetBinWidth(i+1);
103                 double val_6 = h1chem_6->GetBi    103                 double val_6 = h1chem_6->GetBinContent(i+1)/h1chem_6->GetBinWidth(i+1);
104                 double val_7 = h1chem_7->GetBi    104                 double val_7 = h1chem_7->GetBinContent(i+1)/h1chem_7->GetBinWidth(i+1);
105                 double err_0 = h1chem_0->GetBi    105                 double err_0 = h1chem_0->GetBinError  (i+1)/h1chem_0->GetBinWidth(i+1);
106                 double err_1 = h1chem_1->GetBi    106                 double err_1 = h1chem_1->GetBinError  (i+1)/h1chem_1->GetBinWidth(i+1);
107                 double err_2 = h1chem_2->GetBi    107                 double err_2 = h1chem_2->GetBinError  (i+1)/h1chem_2->GetBinWidth(i+1);
108                 double err_3 = h1chem_3->GetBi    108                 double err_3 = h1chem_3->GetBinError  (i+1)/h1chem_3->GetBinWidth(i+1);
109                 double err_4 = h1chem_4->GetBi    109                 double err_4 = h1chem_4->GetBinError  (i+1)/h1chem_4->GetBinWidth(i+1);
110                 double err_5 = h1chem_5->GetBi    110                 double err_5 = h1chem_5->GetBinError  (i+1)/h1chem_5->GetBinWidth(i+1);
111                 double err_6 = h1chem_6->GetBi    111                 double err_6 = h1chem_6->GetBinError  (i+1)/h1chem_6->GetBinWidth(i+1);
112                 double err_7 = h1chem_7->GetBi    112                 double err_7 = h1chem_7->GetBinError  (i+1)/h1chem_7->GetBinWidth(i+1);
113                 h1chem_tot  -> SetBinContent(i    113                 h1chem_tot  -> SetBinContent(i+1,val_0+val_1+val_2+val_3+val_4+val_5+val_6+val_7);
114                 h1chem_tot  -> SetBinError  (i    114                 h1chem_tot  -> SetBinError  (i+1,err_0+err_1+err_2+err_3+err_4+err_5+err_6+err_7);
115         }                                         115         }
116                                                   116 
117                                                   117 
118         NR = h1secnp_cha -> GetNbinsX();          118         NR = h1secnp_cha -> GetNbinsX();
119         TH1D *h1secnp_tot     = new TH1D("h1Se    119         TH1D *h1secnp_tot     = new TH1D("h1SecEnergyNP"    ,"Energy Spectra in NP"        ,NR,0,6);
120         BinLogX(h1secnp_tot);                     120         BinLogX(h1secnp_tot);
121         NR = h1secnpsurf_cha -> GetNbinsX();      121         NR = h1secnpsurf_cha -> GetNbinsX();
122         TH1D *h1secnpsurf_tot = new TH1D("h1Se    122         TH1D *h1secnpsurf_tot = new TH1D("h1SecEnergyNPSurf","Energy Spectra at NP surface",NR,0,6);
123         BinLogX(h1secnpsurf_tot);                 123         BinLogX(h1secnpsurf_tot);
124         for(int i=0;i<NR;i++){                    124         for(int i=0;i<NR;i++){
125                 val_cha = h1secnp_cha->GetBinC    125                 val_cha = h1secnp_cha->GetBinContent(i+1);
126                 err_cha = h1secnp_cha->GetBinE    126                 err_cha = h1secnp_cha->GetBinError  (i+1);
127                 val_nut = h1secnp_nut->GetBinC    127                 val_nut = h1secnp_nut->GetBinContent(i+1);
128                 err_nut = h1secnp_nut->GetBinE    128                 err_nut = h1secnp_nut->GetBinError  (i+1);
129                 //val_cha = h1secnp_cha->GetBi    129                 //val_cha = h1secnp_cha->GetBinContent(i+1)/h1secnp_cha->GetBinWidth(i+1);
130                 //err_cha = h1secnp_cha->GetBi    130                 //err_cha = h1secnp_cha->GetBinError  (i+1)/h1secnp_cha->GetBinWidth(i+1);
131                 //val_nut = h1secnp_nut->GetBi    131                 //val_nut = h1secnp_nut->GetBinContent(i+1)/h1secnp_nut->GetBinWidth(i+1);
132                 //err_nut = h1secnp_nut->GetBi    132                 //err_nut = h1secnp_nut->GetBinError  (i+1)/h1secnp_nut->GetBinWidth(i+1);
133                 h1secnp_cha -> SetBinContent(i    133                 h1secnp_cha -> SetBinContent(i+1,val_cha);
134                 h1secnp_cha -> SetBinError  (i    134                 h1secnp_cha -> SetBinError  (i+1,err_cha);
135                 h1secnp_nut -> SetBinContent(i    135                 h1secnp_nut -> SetBinContent(i+1,val_nut);
136                 h1secnp_nut -> SetBinError  (i    136                 h1secnp_nut -> SetBinError  (i+1,err_nut);
137                 h1secnp_tot -> SetBinContent(i    137                 h1secnp_tot -> SetBinContent(i+1,val_cha+val_nut);
138                 h1secnp_tot -> SetBinError  (i    138                 h1secnp_tot -> SetBinError  (i+1,err_cha+err_nut);
139                                                   139 
140                                                   140 
141                 val_cha = h1secnpsurf_cha->Get    141                 val_cha = h1secnpsurf_cha->GetBinContent(i+1);
142                 err_cha = h1secnpsurf_cha->Get    142                 err_cha = h1secnpsurf_cha->GetBinError  (i+1);
143                 val_nut = h1secnpsurf_nut->Get    143                 val_nut = h1secnpsurf_nut->GetBinContent(i+1);
144                 err_nut = h1secnpsurf_nut->Get    144                 err_nut = h1secnpsurf_nut->GetBinError  (i+1);
145                 //val_cha = h1secnpsurf_cha->G    145                 //val_cha = h1secnpsurf_cha->GetBinContent(i+1)/h1secnpsurf_cha->GetBinWidth(i+1);
146                 //err_cha = h1secnpsurf_cha->G    146                 //err_cha = h1secnpsurf_cha->GetBinError  (i+1)/h1secnpsurf_cha->GetBinWidth(i+1);
147                 //val_nut = h1secnpsurf_nut->G    147                 //val_nut = h1secnpsurf_nut->GetBinContent(i+1)/h1secnpsurf_nut->GetBinWidth(i+1);
148                 //err_nut = h1secnpsurf_nut->G    148                 //err_nut = h1secnpsurf_nut->GetBinError  (i+1)/h1secnpsurf_nut->GetBinWidth(i+1);
149                 h1secnpsurf_cha -> SetBinConte    149                 h1secnpsurf_cha -> SetBinContent(i+1,val_cha);
150                 h1secnpsurf_cha -> SetBinError    150                 h1secnpsurf_cha -> SetBinError  (i+1,err_cha);
151                 h1secnpsurf_nut -> SetBinConte    151                 h1secnpsurf_nut -> SetBinContent(i+1,val_nut);
152                 h1secnpsurf_nut -> SetBinError    152                 h1secnpsurf_nut -> SetBinError  (i+1,err_nut);
153                 h1secnpsurf_tot -> SetBinConte    153                 h1secnpsurf_tot -> SetBinContent(i+1,val_cha+val_nut);
154                 h1secnpsurf_tot -> SetBinError    154                 h1secnpsurf_tot -> SetBinError  (i+1,err_cha+err_nut);
155                                                   155 
156         }                                         156         }
157                                                   157 
158         NR = h1Edep  -> GetNbinsX();              158         NR = h1Edep  -> GetNbinsX();
159         for(int i=0;i<NR;i++){                    159         for(int i=0;i<NR;i++){
160                 double rmax = h1Edep->GetXaxis    160                 double rmax = h1Edep->GetXaxis()->GetBinUpEdge (i+1)*1.E-9;//m
161                 double rmin = h1Edep->GetXaxis    161                 double rmin = h1Edep->GetXaxis()->GetBinLowEdge(i+1)*1.E-9;//m
162                 double vol  = 4./3.*TMath::Pi(    162                 double vol  = 4./3.*TMath::Pi()*(pow(rmax,3)-pow(rmin,3));
163                 double mass = dens*vol;           163                 double mass = dens*vol;
164                 h1Edep  -> SetBinContent(i+1,h    164                 h1Edep  -> SetBinContent(i+1,h1Edep->GetBinContent(i+1)/mass);
165                 h1Edep  -> SetBinError  (i+1,h    165                 h1Edep  -> SetBinError  (i+1,h1Edep->GetBinError  (i+1)/mass);
166         }                                         166         }
167                                                   167 
168                                                   168 
169         int Nazm =h2Edep->GetXaxis()->GetNbins    169         int Nazm =h2Edep->GetXaxis()->GetNbins()-1;
170         NR   =h2Edep->GetYaxis()->GetNbins()-1    170         NR   =h2Edep->GetYaxis()->GetNbins()-1;
171         double    Rmax =h2Edep->GetYaxis()->Ge    171         double    Rmax =h2Edep->GetYaxis()->GetBinUpEdge(NR);
172         TH2D *h2Edep_pol = new TH2D("h2Edep_po    172         TH2D *h2Edep_pol = new TH2D("h2Edep_pol","h2Edep_pol",Nazm,0,360,NR,0,Rmax);
173         for(int i=0;i<Nazm;i++){                  173         for(int i=0;i<Nazm;i++){
174                 for(int j=0;j<NR;j++){            174                 for(int j=0;j<NR;j++){
175                         double height = 10*1.E    175                         double height = 10*1.E-9;//m
176                         double rmax = h2Edep_p    176                         double rmax = h2Edep_pol->GetYaxis()->GetBinUpEdge  (j+1)*1.E-9;//m
177                         double rmin = h2Edep_p    177                         double rmin = h2Edep_pol->GetYaxis()->GetBinLowEdge (j+1)*1.E-9;//m
178                         double vol  = (TMath::    178                         double vol  = (TMath::Pi()*pow(rmax,2)-TMath::Pi()*pow(rmin,2))*height;
179                         double mass = dens*vol    179                         double mass = dens*vol;
180                         h2Edep_pol->SetBinCont    180                         h2Edep_pol->SetBinContent(i+1,j+1,h2Edep->GetBinContent(i+1,j+1)/mass);
181                 }                                 181                 }
182         }                                         182         }
183         int NRX = h2sec2_cha->GetXaxis()->GetN    183         int NRX = h2sec2_cha->GetXaxis()->GetNbins();
184         int NRY = h2sec2_cha->GetYaxis()->GetN    184         int NRY = h2sec2_cha->GetYaxis()->GetNbins();
185         TH2D *h2sec2_tot = (TH2D*)h2sec2_cha->    185         TH2D *h2sec2_tot = (TH2D*)h2sec2_cha->Clone("h2sec2_tot");
186         for(int i=0;i<NRX;i++){                   186         for(int i=0;i<NRX;i++){
187                 for(int j=0;j<NRY;j++){           187                 for(int j=0;j<NRY;j++){
188                         val_cha = h2sec2_cha->    188                         val_cha = h2sec2_cha->GetBinContent(i+1,j+1);
189                         val_nut = h2sec2_nut->    189                         val_nut = h2sec2_nut->GetBinContent(i+1,j+1);
190                         h2sec2_tot->SetBinCont    190                         h2sec2_tot->SetBinContent(i+1,j+1,val_cha+val_nut);
191                 }                                 191                 }
192         }                                         192         }
193                                                   193 
194                                                   194 
195                                                   195 
196                                                   196 
197                                                   197 
198                                                   198 
199                                                   199 
200         TCanvas *cedep = new TCanvas("cedep","    200         TCanvas *cedep = new TCanvas("cedep","cedep",700,700);
201         cedep->cd(1)->SetTheta(90);               201         cedep->cd(1)->SetTheta(90);
202         cedep->cd(1)->SetPhi(0);                  202         cedep->cd(1)->SetPhi(0);
203         cedep->cd(1)->SetLogz();                  203         cedep->cd(1)->SetLogz();
204         h2Edep_pol->RebinX(6);                    204         h2Edep_pol->RebinX(6);
205         h2Edep_pol->RebinY(10);                   205         h2Edep_pol->RebinY(10);
206         //h2Edep_pol->SetAxisRange(0,1000,"Y")    206         //h2Edep_pol->SetAxisRange(0,1000,"Y");
207         h2Edep_pol->SetAxisRange(0,150,"Y");      207         h2Edep_pol->SetAxisRange(0,150,"Y");
208         h2Edep_pol->SetTitle("");                 208         h2Edep_pol->SetTitle("");
209         h2Edep_pol->SetXTitle("Angle [deg]");     209         h2Edep_pol->SetXTitle("Angle [deg]");
210         h2Edep_pol->Draw("surf1POL");             210         h2Edep_pol->Draw("surf1POL");
211                                                   211 
212         TCanvas *cedepsec = new TCanvas("cedep    212         TCanvas *cedepsec = new TCanvas("cedepsec","cedepsec",1800,700);
213         cedepsec->Divide(2,1);                    213         cedepsec->Divide(2,1);
214         cedepsec->cd(1)->SetLogy();               214         cedepsec->cd(1)->SetLogy();
215         cedepsec->cd(1)->SetLogx();               215         cedepsec->cd(1)->SetLogx();
216         h1Edep->SetYTitle("Energy Deposite [Gy    216         h1Edep->SetYTitle("Energy Deposite [Gy/event]");
217         h1Edep->SetXTitle("Distance from NP ce    217         h1Edep->SetXTitle("Distance from NP center[nm]");
218         h1Edep->SetMaximum(100);                  218         h1Edep->SetMaximum(100);
219         h1Edep->SetMinimum(0.0000000001);         219         h1Edep->SetMinimum(0.0000000001);
220         h1Edep->SetAxisRange(0,1000000);          220         h1Edep->SetAxisRange(0,1000000);
221         h1Edep->Draw();                           221         h1Edep->Draw();
222         cedepsec->cd(2)->SetLogy();               222         cedepsec->cd(2)->SetLogy();
223         cedepsec->cd(2)->SetLogx();               223         cedepsec->cd(2)->SetLogx();
224         h1sec_tot->SetLineColor(kBlack);          224         h1sec_tot->SetLineColor(kBlack);
225         h1sec_cha->SetLineColor(kRed);            225         h1sec_cha->SetLineColor(kRed);
226         h1sec_nut->SetLineColor(kBlue);           226         h1sec_nut->SetLineColor(kBlue);
227         h1sec_tot->SetMarkerColor(kBlack);        227         h1sec_tot->SetMarkerColor(kBlack);
228         h1sec_cha->SetMarkerColor(kRed);          228         h1sec_cha->SetMarkerColor(kRed);
229         h1sec_nut->SetMarkerColor(kBlue);         229         h1sec_nut->SetMarkerColor(kBlue);
230         h1sec_tot->SetAxisRange(0,1000000);       230         h1sec_tot->SetAxisRange(0,1000000);
231         h1sec_tot->SetMaximum(10);                231         h1sec_tot->SetMaximum(10);
232         h1sec_tot->SetMinimum(0.000001);          232         h1sec_tot->SetMinimum(0.000001);
233         h1sec_tot->SetTitle ("Number of Genera    233         h1sec_tot->SetTitle ("Number of Generated Secondaries");
234         h1sec_tot->SetYTitle("N/nm/event");       234         h1sec_tot->SetYTitle("N/nm/event");
235         h1sec_tot->SetXTitle("Distance from NP    235         h1sec_tot->SetXTitle("Distance from NP center[nm]");
236         //h1sec_cha->Draw("sameL");               236         //h1sec_cha->Draw("sameL");
237         //h1sec_nut->Draw("sameL");               237         //h1sec_nut->Draw("sameL");
238         h1sec_tot->Draw();                        238         h1sec_tot->Draw();
239         //cedepsec->cd(3)->SetLogy();             239         //cedepsec->cd(3)->SetLogy();
240         //cedepsec->cd(3)->SetLogx();             240         //cedepsec->cd(3)->SetLogx();
241         //h1chem_tot->SetLineColor  (kBlack);     241         //h1chem_tot->SetLineColor  (kBlack);
242         //h1chem_tot->SetMarkerColor(kBlack);     242         //h1chem_tot->SetMarkerColor(kBlack);
243         //h1chem_tot->SetAxisRange(0,1000000);    243         //h1chem_tot->SetAxisRange(0,1000000);
244         //h1chem_tot->SetMaximum(10);             244         //h1chem_tot->SetMaximum(10);
245         //h1chem_tot->SetMinimum(0.000001);       245         //h1chem_tot->SetMinimum(0.000001);
246         //h1chem_tot->SetTitle ("Number of Gen    246         //h1chem_tot->SetTitle ("Number of Generated Chemical Species");
247         //h1chem_tot->SetYTitle("N/nm/event");    247         //h1chem_tot->SetYTitle("N/nm/event");
248         //h1chem_tot->SetXTitle("Distance from    248         //h1chem_tot->SetXTitle("Distance from NP center[nm]");
249         //h1chem_tot->Draw();                     249         //h1chem_tot->Draw();
250                                                   250 
251                                                   251 
252         TCanvas *csec = new TCanvas("csec","cs    252         TCanvas *csec = new TCanvas("csec","csec",2400,700);
253         csec->Divide(3,1);                        253         csec->Divide(3,1);
254         csec->cd(1)->SetLogx();                   254         csec->cd(1)->SetLogx();
255         csec->cd(1)->SetLogy();                   255         csec->cd(1)->SetLogy();
256         h1secnp_tot->SetLineColor(kBlack);        256         h1secnp_tot->SetLineColor(kBlack);
257         h1secnp_cha->SetLineColor(kRed);          257         h1secnp_cha->SetLineColor(kRed);
258         h1secnp_nut->SetLineColor(kBlue);         258         h1secnp_nut->SetLineColor(kBlue);
259         h1secnp_tot->SetMarkerColor(kBlack);      259         h1secnp_tot->SetMarkerColor(kBlack);
260         h1secnp_cha->SetMarkerColor(kRed);        260         h1secnp_cha->SetMarkerColor(kRed);
261         h1secnp_nut->SetMarkerColor(kBlue);       261         h1secnp_nut->SetMarkerColor(kBlue);
262         h1secnp_tot->RebinX(10);                  262         h1secnp_tot->RebinX(10);
263         h1secnp_tot->Scale(1./10.);               263         h1secnp_tot->Scale(1./10.);
264         h1secnp_tot->SetMaximum(20);              264         h1secnp_tot->SetMaximum(20);
265         h1secnp_tot->SetMinimum(0.000000001);     265         h1secnp_tot->SetMinimum(0.000000001);
266         h1secnp_tot->SetAxisRange(1,1.E6);        266         h1secnp_tot->SetAxisRange(1,1.E6);
267         h1secnp_tot->SetTitle ("Secondary Ener    267         h1secnp_tot->SetTitle ("Secondary Energy produced in NP");
268         h1secnp_tot->SetYTitle("N/event");        268         h1secnp_tot->SetYTitle("N/event");
269         h1secnp_tot->SetXTitle("Secandary Ener    269         h1secnp_tot->SetXTitle("Secandary Energy [eV]");
270         //h1secnp_cha->DrawCopy();                270         //h1secnp_cha->DrawCopy();
271         //h1secnp_nut->DrawCopy("same");          271         //h1secnp_nut->DrawCopy("same");
272         h1secnp_tot->DrawCopy();                  272         h1secnp_tot->DrawCopy();
273         csec->cd(2)->SetLogx();                   273         csec->cd(2)->SetLogx();
274         csec->cd(2)->SetLogy();                   274         csec->cd(2)->SetLogy();
275         h1secnpsurf_tot->SetLineColor(kBlack);    275         h1secnpsurf_tot->SetLineColor(kBlack);
276         h1secnpsurf_cha->SetLineColor(kRed);      276         h1secnpsurf_cha->SetLineColor(kRed);
277         h1secnpsurf_nut->SetLineColor(kBlue);     277         h1secnpsurf_nut->SetLineColor(kBlue);
278         h1secnpsurf_tot->SetMarkerColor(kBlack    278         h1secnpsurf_tot->SetMarkerColor(kBlack);
279         h1secnpsurf_cha->SetMarkerColor(kRed);    279         h1secnpsurf_cha->SetMarkerColor(kRed);
280         h1secnpsurf_nut->SetMarkerColor(kBlue)    280         h1secnpsurf_nut->SetMarkerColor(kBlue);
281         h1secnpsurf_tot->RebinX(10);              281         h1secnpsurf_tot->RebinX(10);
282         h1secnpsurf_tot->Scale(1./10.);           282         h1secnpsurf_tot->Scale(1./10.);
283         h1secnpsurf_tot->SetMaximum(20);          283         h1secnpsurf_tot->SetMaximum(20);
284         h1secnpsurf_tot->SetMinimum(0.00000000    284         h1secnpsurf_tot->SetMinimum(0.000000001);
285         h1secnpsurf_tot->SetAxisRange(1,1.E6);    285         h1secnpsurf_tot->SetAxisRange(1,1.E6);
286         h1secnpsurf_tot->SetTitle ("Secondary     286         h1secnpsurf_tot->SetTitle ("Secondary Energy at NP surface");
287         h1secnpsurf_tot->SetYTitle("N/event");    287         h1secnpsurf_tot->SetYTitle("N/event");
288         h1secnpsurf_tot->SetXTitle("Secandary     288         h1secnpsurf_tot->SetXTitle("Secandary Energy [eV]");
289         //h1secnpsurf_cha->DrawCopy();            289         //h1secnpsurf_cha->DrawCopy();
290         //h1secnpsurf_nut->DrawCopy("same");      290         //h1secnpsurf_nut->DrawCopy("same");
291         h1secnpsurf_tot->DrawCopy();              291         h1secnpsurf_tot->DrawCopy();
292         csec->cd(3)->SetLogy();                   292         csec->cd(3)->SetLogy();
293         h2sec2_tot->SetTitle ("Secondary Energ    293         h2sec2_tot->SetTitle ("Secondary Energy vs production point");
294         h2sec2_tot->SetYTitle("Secondary Energ    294         h2sec2_tot->SetYTitle("Secondary Energy [eV]");
295         h2sec2_tot->SetXTitle("Distance from N    295         h2sec2_tot->SetXTitle("Distance from NP center [nm]");
296         h2sec2_tot->GetXaxis()->SetRange(0,100    296         h2sec2_tot->GetXaxis()->SetRange(0,1000);
297         h2sec2_tot->Draw("colz");                 297         h2sec2_tot->Draw("colz");
298                                                   298 
299 }                                                 299 }
300                                                   300 
301                                                   301