/
githubmirror
/
cmssw
Обзор
Документация
Войти
/
githubmirror
/
cmssw
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
GeneratorInterface/CosmicMuonGenerator/test/cos_ug
102 строки
4 KB
Giulio Eulisse
Snapshot of CMSSW_6_2_0_pre8.
26 июн 2013, 18:12
26 июн 2013, 18:12
214ab73
Код
Авторство
О чём код?
{ cout << "macro cos_ug: generate cosmic muons underground" << endl; gROOT->Reset(); gROOT->LoadMacro("GeneratorInterface/CosmicMuonGenerator/src/CosmicMuonGenerator.cc"); gROOT->LoadMacro("GeneratorInterface/CosmicMuonGenerator/src/CMSCGEN.cc"); gROOT->LoadMacro("GeneratorInterface/CosmicMuonGenerator/src/CMSCGENnorm.cc"); gROOT->LoadMacro("GeneratorInterface/CosmicMuonGenerator/src/SingleParticleEvent.cc"); #define ROOT_INTERACTIVE true //******************************* //******************************* // define the generator CosmicMuonGenerator CosUgGen; // set up generator CosUgGen.setNumberOfEvents(100); CosUgGen.setRanSeed(135799468); CosUgGen.setMinP(3.); // could be set higher due to energy loss in earth above CMS CosUgGen.setMaxP(3000.); CosUgGen.setMaxTheta(80.); // "default" value for underground // run the generator (in this order) CosUgGen.runCMG(); // rate (cosmic muons per second) double Rate = CosUgGen.getRate(); //******************************* //******************************* #if ROOT_INTERACTIVE double Weight = Rate/phi->GetEntries(); ene->Scale(Weight); the->Scale(Weight); phi->Scale(Weight); // plot results TCanvas *C1 = new TCanvas("cosgen","generated cosmic muons",50,50,1000,400); C1->SetBottomMargin(0.15); C1->Divide(3,1); C1->cd(1); gPad->SetLogy(1); ene->SetFillStyle(1001); ene->SetFillColor(1111); ene->SetLineWidth(1.1); ene->SetLineColor(8888); ene->Draw(); ene->GetXaxis()->SetLabelSize(0.04); ene->GetXaxis()->SetTitleSize(0.044); ene->GetXaxis()->SetTitleOffset(0.8); ene->GetXaxis()->SetTitle("E [GeV]"); ene->GetYaxis()->SetLabelSize(0.04); ene->GetYaxis()->SetLabelOffset(0.004); ene->GetYaxis()->SetTitleSize(0.044); ene->GetYaxis()->SetTitleOffset(1.2); ene->GetYaxis()->SetTitle("rate per 5 GeV [Hz]"); C1->cd(2); the->SetMinimum(0.); the->SetFillStyle(1001); the->SetFillColor(1111); the->SetLineWidth(1.1); the->SetLineColor(8888); the->Draw(); the->GetXaxis()->SetLabelSize(0.04); the->GetXaxis()->SetTitleSize(0.044); the->GetXaxis()->SetTitleOffset(0.8); the->GetXaxis()->SetTitle("#vartheta [#circ]"); the->GetYaxis()->SetLabelSize(0.04); the->GetYaxis()->SetLabelOffset(0.004); the->GetYaxis()->SetTitleSize(0.044); the->GetYaxis()->SetTitleOffset(1.8); the->GetYaxis()->SetTitle("rate per 1 #circ [Hz]"); C1->cd(3); phi->SetMinimum(0.); phi->SetFillStyle(1001); phi->SetFillColor(1111); phi->SetLineWidth(1.1); phi->SetLineColor(8888); phi->Draw(); phi->GetXaxis()->SetLabelSize(0.04); phi->GetXaxis()->SetTitleSize(0.044); phi->GetXaxis()->SetTitleOffset(0.8); phi->GetXaxis()->SetTitle("#varphi [#circ]"); phi->GetYaxis()->SetLabelSize(0.04); phi->GetYaxis()->SetLabelOffset(0.004); phi->GetYaxis()->SetTitleSize(0.044); phi->GetYaxis()->SetTitleOffset(1.8); phi->GetYaxis()->SetTitle("rate per 3 #circ [Hz]"); TCanvas *C2 = new TCanvas("vertex","position of generated vertex",100,200,900,450); C2->SetBottomMargin(0.15); C2->Divide(1,1); C2->cd(1); ver->SetMarkerColor(3333); ver->Draw(); ver->GetXaxis()->SetLabelSize(0.05); ver->GetXaxis()->SetTitleSize(0.06); ver->GetXaxis()->SetTitle("gen. Z [m]"); ver->GetYaxis()->SetLabelSize(0.04); ver->GetYaxis()->SetTitleSize(0.05); ver->GetYaxis()->SetTitleOffset(1.0); ver->GetYaxis()->SetTitle("gen. X [m]"); ver->GetZaxis()->SetLabelSize(0.05); ver->GetZaxis()->SetTitleSize(0.06); ver->GetZaxis()->SetTitleOffset(0.6); ver->GetZaxis()->SetTitle("gen. Y [m]"); #endif }