#define specTi_cxx #include "specTi.h" #include #include #include void specTi::Loop() { // In a ROOT session, you can do: // root> .L specTi.C // root> specTi t // root> t.GetEntry(12); // Fill t data members with entry number 12 // root> t.Show(); // Show values of entry 12 // root> t.Show(16); // Read and show values of entry 16 // root> t.Loop(); // Loop on all entries // // This is the loop skeleton where: // jentry is the global entry number in the chain // ientry is the entry number in the current Tree // Note that the argument to GetEntry must be: // jentry for TChain::GetEntry // ientry for TTree::GetEntry and TBranch::GetEntry // // To read only selected branches, Insert statements like: // METHOD1: // fChain->SetBranchStatus("*",0); // disable all branches // fChain->SetBranchStatus("branchname",1); // activate branchname // METHOD2: replace line // fChain->GetEntry(jentry); //read all branches //by b_branchname->GetEntry(ientry); //read only this branch if (fChain == 0) return; int nbins = 3500; int nbins1 = 850; gStyle->SetOptStat(1111); gStyle->SetPalette(57); //kRainBow gStyle->SetPalette(kRainBow); TCanvas *can = new TCanvas("can","can",900,700); // control //TCanvas *can1 = new TCanvas("can1","can1",900,700); //Ag //TCanvas *can2 = new TCanvas("can2","can2",900,700); //I //TCanvas *can3 = new TCanvas("can3","can3",900,700); //air /*TCanvas *can4 = new TCanvas("can4","can4",900,700); //Ti TCanvas *can5 = new TCanvas("can5","can5",900,700); //world */ can->SetFrameBorderMode(1); can->SetLeftMargin(0.01); /*can1->SetFrameBorderMode(1); can1->SetLeftMargin(0.01); can2->SetFrameBorderMode(1); can2->SetLeftMargin(0.01); can3->SetFrameBorderMode(1); can3->SetLeftMargin(0.01);//*/ // can TH2F *ana= new TH2F("ana","ana", nbins, 0.0,0.0455, nbins, -0.8,0.8); //edep //auto *ana1 = new TH2F("ana1","ana1",nbins, 0.0,23.0, nbins1, 0.0,0.25*pow(10,-12)); //dose - control 250000 = 10^-12 //can1 //TH2F *ana2= new TH2F("ana2","ana2", nbins, 0.0,0.0455, nbins, 0.0,23.); // edep //TH2F *ana3 = new TH2F("ana3","ana3", nbins, 0.0,23.0, nbins1, 0.0,10.0*pow(10,-9)); //dose - control 250000 = 10^-9 // can2 /*TH2F *ana4 = new TH2F("ana4","ana4",nbins1, 0.0,0.0455, nbins1, 0.0,1850.); TH2F *ana5 = new TH2F("ana5","ana5",nbins1, 0.0,0.0455, nbins1, 0.0,1850.); //can3 TH2F *ana6= new TH2F("ana6","ana6", nbins, 0.0,0.0455, nbins, 0.0,1850.); TH2F *ana7 = new TH2F("ana7","ana7",nbins, 0.0,0.0455, nbins, 0.0,1850.); // world//*/ can->Divide(1,2); //can1->Divide(1,2); //can2->Divide(2,2); can->cd(1);//*/ //can1->cd(1);//*/ Long64_t nentries = fChain->GetEntries(); Long64_t nbytes = 0, nb = 0; for (Long64_t jentry=0; jentryGetEntry(jentry); nbytes += nb; // if (Cut(ientry) < 0) cont1inue; cout<<"size = "<at(cont1)!="G4_WATER") while((cont1size()-1)){cont1++;}//*/ //if(Step_TrackID->at(cont1)==1){ if(Step_Particle->at(cont1)=="gamma"){gg++;} else{if(Step_Particle->at(cont1)=="e-"){ee++;}} //} if(Step_TrackID->at(cont1)!=1){ if(Step_Particle->at(cont1)=="gamma"){ggSEC++;} else{if(Step_Particle->at(cont1)=="e-"){eeSEC++;}} } // if((Step_AccumulatedEnergyDeposited->at(cont1)>0)){mm1++;} if((Step_FinalMaterial->at(cont1)=="G4_WATER")){mm6++; //if(Step_TrackID->at(cont1)==1){ erg = 6.2415e-17 MeV if(Step_Particle->at(cont1)=="gamma"){gg1++;} else{if(Step_Particle->at(cont1)=="e-"){ee1++;}} //} for(Int_t l=0;lsize();l++){mm7++;//&&(Step_Particle->at(l)=="e-") &&(Step_Particle->at(l)=="gamma") &&(Step_Particle->at(l)=="gamma") //if((Step_AccumulatedEnergyDeposited->at(l)>0)&&(Step_FinalMaterial->at(l)=="G4_WATER")){mm8++; if(Step_TrackID->at(cont1)!=1) {if(Step_Particle->at(l)=="gamma"){gg2++;}else{if(Step_Particle->at(l)=="e-"){ee2++;}}} edep=edep+Step_AccumulatedEnergyDeposited->at(l); dose=dose+Step_AccumulatedDose->at(l); //ana->Fill(edep,TMath::Sqrt(((pow(Step_FinalPosX->at(l),2)+pow(Step_FinalPosY->at(l),2)+pow(Step_FinalPosZ->at(l),2))))); {doseC=((edep*1.6021773*pow(10,-13))/(mass));}//else{cout<<"0"<at(cont1)=="comp"){mm3++;} else{ if(Step_FinalMaterial->at(cont1)=="G4_AIR"){mm4++;} else{ if(Step_FinalMaterial->at(cont1)=="G4_Ti"){mm5++;} else{ if(Step_FinalMaterial->at(cont1)=="NIST_Air"){mm10++;if((Step_Particle->at(cont1)=="gamma")){gg3++;} if((Step_Particle->at(cont1)=="e-")){ee3++;}} else{ if(Step_FinalLogicalVolume->at(cont1)=="OutOfWorld"){mm11++;} } } } } } } sumDoseD=doseD; doseD=0; somaDoseD=somaDoseD+sumDoseD;//*/ sumDepG=(somaDep/mm); sumDoseK=(somaDoseC/mm); //} //} } } cout<<"event = "< "<"<>>>>edep total control = "<>>>dose/desinteg control = "<>>>dose/desinteg control = "<<((sumDepG*(1.6021773e-13))/mass)<cd(1); ana -> SetNameTitle("energy", "Kin x Distance in to center control; Energy[MeV]; posX [mm]; Counts"); ana -> SetFillColor(0); gPad->SetLeftMargin(0.1); gPad->SetRightMargin(0.15); ana->GetZaxis()->SetTitleOffset(1.6); //anaPos->GetZaxis()->SetRangeUser(-0.6, 0.6); //gPad->SetLogy(); ana -> Draw("colz"); can->cd(2); //ana -> SetNameTitle("energy", "Edep x distance in to center control projection; Energy[MeV]; Sqrt(x^2+y^2+z^2) [mm]; Counts"); ana-> SetFillColor(0); gPad->SetLeftMargin(0.1); gPad->SetRightMargin(0.15); ana->GetZaxis()->SetTitleOffset(1.6); //anaPos->GetZaxis()->SetRangeUser(-0.6, 0.6); "energy", "PosX x PosY Ti; PosX [mm]; PosY [mm]; Edep[MeV]" gPad->SetLogy(); ana -> ProjectionX("pjcX")->Draw(); //ana17 -> Draw("colz");//*/ /*can->cd(3); ana2 -> SetNameTitle("energy", "Edep x Distance in to center control per event; Energy[MeV]; Sqrt(x^2+y^2+z^2) [mm]; Counts"); ana2-> SetFillColor(0); gPad->SetLeftMargin(0.1); gPad->SetRightMargin(0.15); ana2->GetZaxis()->SetTitleOffset(1.6); //anaPos->GetZaxis()->SetRangeUser(-0.6, 0.6); //gPad->SetLogz(); //gPad->SetLogy(); ana2 -> Draw("colz"); can->cd(4); //ana1 -> SetNameTitle("energy1", "Edep x distance in to center control per event; Energy[MeV]; Sqrt(x^2+y^2+z^2) [mm]; Counts"); ana2-> SetFillColor(0); gPad->SetLeftMargin(0.1); gPad->SetRightMargin(0.15); ana2->GetZaxis()->SetTitleOffset(1.6); //anaPos->GetZaxis()->SetRangeUser(-0.6, 0.6); "energy", "PosX x PosY Ti; PosX [mm]; PosY [mm]; Edep[MeV]" gPad->SetLogy(); ana2 -> ProjectionX("PROJECTION IN X")->Draw(); //ana17 -> Draw("colz");//*/ ////////////////////////////////***********************************//////////////////////////////////// //can1 control dose /*can1->cd(1); ana2-> SetNameTitle("energy", "posX x posY; posX [mm]; posY[mm]; Counts"); ana2 -> SetFillColor(0); gPad->SetLeftMargin(0.1); gPad->SetRightMargin(0.15); ana2->GetZaxis()->SetTitleOffset(1.6); //anaPos->GetZaxis()->SetRangeUser(-0.6, 0.6); //gPad->SetLogy(); ana2 -> Draw("colz"); can2->cd(2); //ana4 -> SetNameTitle("energy", "Edep x distance in to center Ag; Energy[MeV]; Sqrt(x^2+y^2+z^2) [mm]; Counts"); ana2-> SetFillColor(0); gPad->SetLeftMargin(0.1); gPad->SetRightMargin(0.15); ana2->GetZaxis()->SetTitleOffset(1.6); //anaPos->GetZaxis()->SetRangeUser(-0.6, 0.6); //gPad->SetLogz(); gPad->SetLogy(); ana2 -> ProjectionY("")->Draw(); //ana4 -> Draw("colz"); can1->cd(3); ana3 -> SetNameTitle("energy", "Distance x Dose in to center control EVENT; Sqrt(x^2+y^2+z^2) [mm]; DOSE[Gy]; Counts"); ana3-> SetFillColor(0); gPad->SetLeftMargin(0.1); gPad->SetRightMargin(0.15); ana3->GetZaxis()->SetTitleOffset(1.6); //gPad->SetLogy(); //anaPos->GetZaxis()->SetRangeUser(-0.6, 0.6); //gPad->SetLogz(); ana3 -> Draw("colz"); can1->cd(4); //ana5 -> SetNameTitle("energy", "Edep x distance in to center Ag per event; Energy[MeV]; Sqrt(x^2+y^2+z^2) [mm]; Counts"); ana3-> SetFillColor(0); gPad->SetLeftMargin(0.1); gPad->SetRightMargin(0.15); ana3->GetZaxis()->SetTitleOffset(1.6); //anaPos->GetZaxis()->SetRangeUser(-0.6, 0.6); //gPad->SetLogz(); gPad->SetLogy(); ana3 -> ProjectionY("projY")->Draw(); //ana5 -> Draw("colz");//*/ // out file /*TFile *p = new TFile("SPEC.root", "RECREATE"); // Sam 0.05mm ana->Write(); ana->SaveAs("SPEC_.txt"); ana1->Write(); ana2->Write(); ana3->Write();//*/ TFile *p = new TFile("SPEC_TotalFotoes1.root", "RECREATE"); // Sam 0.05mm //TFile *p = new TFile("SPEC_1arioFotoes.root", "RECREATE"); // Sam 0.05mm //TFile *p = new TFile("SPEC_2arioFotoes.root", "RECREATE"); // Sam 0.05mm //TFile *p = new TFile("SPEC_Electroes1.root", "RECREATE"); // Sam 0.05mm ana->Write(); ana->SaveAs("SPEC_TotalFotoes1.json"); //ana->SaveAs("SPEC_1arioFotoes.txt"); //ana->SaveAs("SPEC_2arioFotoes.txt"); //ana->SaveAs("SPEC_Electroes1.txt"); /*ana1->Write(); ana2->Write(); ana3->Write();//*/ p->Write(); }