![]() |
![]() |
#include <Calibration/HOCalibAnalyzer/src/HOCalibAnalyzer.cc>
Implementation: <Notes on="" implementation>="">
Definition at line 218 of file HOCalibAnalyzer.cc.
HOCalibAnalyzer::HOCalibAnalyzer | ( | const edm::ParameterSet & | iConfig | ) | [explicit] |
Definition at line 454 of file HOCalibAnalyzer.cc.
References ahigh, alow, caloen, chisq, com_corrsgall, com_corrsgc, com_corrsgl, com_corrsglb, com_corrsglu, com_corrsgr, com_corrsgrb, com_corrsgru, com_crossg, com_hbtime, com_hopedtime, com_hotime, com_invang, com_sigrsg, const_eta, const_eta_phi, const_hpdrm, corrsgall, corrsgc, corrsgl, corrsglb, corrsglu, corrsgr, corrsgrb, corrsgru, GenMuonPlsPt100GeV_cfg::cout, crossg, lat::endl(), fit_bkgevt, fit_chi, fit_sigevt, edm::ParameterSet::getUntrackedParameter(), hbhe_sig, hbhesig, hbtime, ho_sig00, ho_sig1m, ho_sig1p, ho_sig2m, ho_sig2p, hoang, hocorsig, hocro, hodx, hody, hopedtime, hosig, hotime, htime, i, ievt, int, invang, ipass, irun, isect, itrg1, itrg2, j, k, m_checkmap, m_combined, m_constant, m_correl, m_cosmic, m_digiInput, m_figure, m_hbinfo, m_hbtime, m_histfit, m_hotime, m_pedsuppr, m_sigma, mean_energy, mean_eta_ave, mean_phi_ave, mean_phi_hst, mncorrsgall, mncorrsgc, mncorrsgl, mncorrsglb, mncorrsglu, mncorrsgr, mncorrsgrb, mncorrsgru, mncrossg, mnsigrsg, muonch, muonmm, muonnm, muonph, muonth, name, nbn, ndof, neffip, netamx, nevcorrsgall, nevcorrsgc, nevcorrsgl, nevcorrsglb, nevcorrsglu, nevcorrsgr, nevcorrsgrb, nevcorrsgru, nevcrossg, Nevents, nevsigrsg, nmuon, nphimx, peak_eta, peak_hpdrm, ped_evt, ped_mean, ped_rms, ped_statmean, ped_width, pherr, ringmx, rmscorrsgall, rmscorrsgc, rmscorrsgl, rmscorrsglb, rmscorrsglu, rmscorrsgr, rmscorrsgrb, rmscorrsgru, rmscrossg, rmssigrsg, rout12mx, routmx, sectmx, sel_muonch, sel_muonmm, sel_muonnm, sel_muonph, sel_muonth, sig_diff, sig_effi, sig_evt, sig_mean, sig_meanerr, sig_meanerrp, sig_rms, sig_sigma, sig_signf, sig_statmean, sig_width, sigrsg, sigvsevt, stat_eta, statmn_eta, T1, theFile, theoutputpsFile, theoutputtxtFile, theRootFileName, therr, indexGen::title, trkdr, trkdz, trkmm, trkph, trkth, trkvx, trkvy, and trkvz.
00455 { 00456 //now do what ever initialization is needed 00457 ipass = 0; 00458 Nevents = 0; 00459 00460 theRootFileName = iConfig.getUntrackedParameter<string>("RootFileName", "test.root"); 00461 theoutputtxtFile = iConfig.getUntrackedParameter<string>("txtFileName", "test.txt"); 00462 theoutputpsFile = iConfig.getUntrackedParameter<string>("psFileName", "test.ps"); 00463 00464 m_hbinfo = iConfig.getUntrackedParameter<bool>("hbinfo", false); 00465 m_hbtime = iConfig.getUntrackedParameter<bool>("hbtime", false); 00466 m_hotime = iConfig.getUntrackedParameter<bool>("hotime", false); 00467 m_correl = iConfig.getUntrackedParameter<bool>("correl", false); 00468 m_checkmap = iConfig.getUntrackedParameter<bool>("checkmap", false); 00469 m_combined = iConfig.getUntrackedParameter<bool>("combined", false); 00470 m_constant = iConfig.getUntrackedParameter<bool>("get_constant", false); 00471 m_figure = iConfig.getUntrackedParameter<bool>("get_figure", true); 00472 m_digiInput = iConfig.getUntrackedParameter<bool>("digiInput", true); 00473 m_histfit = iConfig.getUntrackedParameter<bool>("histFit", true); 00474 m_pedsuppr = iConfig.getUntrackedParameter<bool>("pedSuppr", true); 00475 m_cosmic = iConfig.getUntrackedParameter<bool>("cosmic", true); 00476 m_sigma = iConfig.getUntrackedParameter<double>("sigma", 1.0); 00477 00478 edm::Service<TFileService> fs; 00479 00480 theFile = new TFile(theRootFileName.c_str(), "RECREATE"); 00481 theFile->cd(); 00482 00483 T1 = new TTree("T1", "DT+CSC+HO"); 00484 00485 T1->Branch("irun",&irun,"irun/I"); 00486 T1->Branch("ievt",&ievt,"ievt/I"); 00487 T1->Branch("itrg1",&itrg1,"itrg1/I"); 00488 T1->Branch("itrg2",&itrg2,"itrg2/I"); 00489 00490 T1->Branch("isect",&isect,"isect/I"); 00491 // T1->Branch("nrecht",&nrecht,"nrecht/I"); 00492 T1->Branch("ndof",&ndof,"ndof/I"); 00493 T1->Branch("nmuon",&nmuon,"nmuon/I"); 00494 00495 T1->Branch("trkdr",&trkdr,"trkdr/F"); 00496 T1->Branch("trkdz",&trkdz,"trkdz/F"); 00497 00498 T1->Branch("trkvx",&trkvx,"trkvx/F"); 00499 T1->Branch("trkvy",&trkvy,"trkvy/F"); 00500 T1->Branch("trkvz",&trkvz,"trkvz/F"); 00501 T1->Branch("trkmm",&trkmm,"trkmm/F"); 00502 T1->Branch("trkth",&trkth,"trkth/F"); 00503 T1->Branch("trkph",&trkph,"trkph/F"); 00504 00505 T1->Branch("chisq",&chisq,"chisq/F"); 00506 T1->Branch("therr",&therr,"therr/F"); 00507 T1->Branch("pherr",&pherr,"pherr/F"); 00508 T1->Branch("hodx",&hodx,"hodx/F"); 00509 T1->Branch("hody",&hody,"hody/F"); 00510 T1->Branch("hoang",&hoang,"hoang/F"); 00511 00512 T1->Branch("htime",&htime,"htime/F"); 00513 T1->Branch("hosig",hosig,"hosig[9]/F"); 00514 T1->Branch("hocro",&hocro,"hocro/F"); 00515 T1->Branch("hocorsig",hocorsig,"hocorsig[18]/F"); 00516 T1->Branch("caloen",caloen,"caloen[3]/F"); 00517 00518 if (m_hbinfo) { // #ifdef HBINFO 00519 T1->Branch("hbhesig",hbhesig,"hbhesig[9]/F"); 00520 } //m_hbinfo #endif 00521 00522 muonnm = fs->make<TH1F>("muonnm", "No of muon", 10, -0.5, 9.5); 00523 muonmm = fs->make<TH1F>("muonmm", "P_{mu}", 200, -100., 100.); 00524 muonth = fs->make<TH1F>("muonth", "{Theta}_{mu}", 180, 0., 180.); 00525 muonph = fs->make<TH1F>("muonph", "{Phi}_{mu}", 180, -180., 180.); 00526 muonch = fs->make<TH1F>("muonch", "{chi^2}/ndf", 100, 0., 1000.); 00527 00528 sel_muonnm = fs->make<TH1F>("sel_muonnm", "No of muon(sel)", 10, -0.5, 9.5); 00529 sel_muonmm = fs->make<TH1F>("sel_muonmm", "P_{mu}(sel)", 200, -100., 100.); 00530 sel_muonth = fs->make<TH1F>("sel_muonth", "{Theta}_{mu}(sel)", 180, 0., 180.); 00531 sel_muonph = fs->make<TH1F>("sel_muonph", "{Phi}_{mu}(sel)", 180, -180., 180.); 00532 sel_muonch = fs->make<TH1F>("sel_muonch", "{chi^2}/ndf(sel)", 100, 0., 1000.); 00533 00534 00535 int nbin = 50; //40;// 45; //50; //55; //60; //55; //45; //40; //50; 00536 alow = -2.0;// -1.85; //-1.90; // -1.95; // -2.0; 00537 ahigh = 8.0;// 8.15; // 8.10; // 8.05; // 8.0; 00538 00539 if (m_digiInput) {alow = -10.0; ahigh = 40.;} 00540 00541 float tmpwid = (ahigh-alow)/nbin; 00542 nbn = int(-alow/tmpwid)+1; 00543 if (nbn <0) nbn = 0; 00544 if (nbn>nbin) nbn = nbin; 00545 00546 char name[200]; 00547 char title[200]; 00548 00549 cout <<"nbin "<< nbin<<" "<<alow<<" "<<ahigh<<" "<<tmpwid<<" "<<nbn<<endl; 00550 00551 for (int i=0; i<15; i++) { 00552 00553 sprintf(title, "sigvsndof_ring%i", i+1); 00554 sigvsevt[i][0] = fs->make<TProfile>(title, title, 50, 0., 50.,-9., 20.); 00555 00556 sprintf(title, "sigvschisq_ring%i", i+1); 00557 sigvsevt[i][1] = fs->make<TProfile>(title, title, 50, 0., 30.,-9., 20.); 00558 00559 sprintf(title, "sigvsth_ring%i", i+1); 00560 sigvsevt[i][2] = fs->make<TProfile>(title, title, 50, .7, 2.4,-9., 20.); 00561 00562 sprintf(title, "sigvsph_ring%i", i+1); 00563 sigvsevt[i][3] = fs->make<TProfile>(title, title, 50, -2.4, -0.7,-9., 20.); 00564 00565 sprintf(title, "sigvstherr_ring%i", i+1); 00566 sigvsevt[i][4] = fs->make<TProfile>(title, title, 50, 0., 0.2,-9., 20.); 00567 00568 sprintf(title, "sigvspherr_ring%i", i+1); 00569 sigvsevt[i][5] = fs->make<TProfile>(title, title, 50, 0., 0.2,-9., 20.); 00570 00571 sprintf(title, "sigvsdircos_ring%i", i+1); 00572 sigvsevt[i][6] = fs->make<TProfile>(title, title, 50, 0.5, 1.,-9., 20.); 00573 00574 sprintf(title, "sigvstrkmm_ring%i", i+1); 00575 sigvsevt[i][7] = fs->make<TProfile>(title, title, 50, 0., 50.,-9., 20.); 00576 00577 sprintf(title, "sigvsnmuon_ring%i", i+1); 00578 sigvsevt[i][8] = fs->make<TProfile>(title, title, 5, 0.5, 5.5,-9., 20.); 00579 00580 sprintf(title, "sigvserr_ring%i", i+1); 00581 sigvsevt[i][9] = fs->make<TProfile>(title, title, 50, 0., .3, -9., 20.); 00582 00583 sprintf(title, "sigvsaccx_ring%i", i+1); 00584 sigvsevt[i][10] = fs->make<TProfile>(title, title, 100, -25., 25., -9., 20.); 00585 00586 sprintf(title, "sigvsaccy_ring%i", i+1); 00587 sigvsevt[i][11] = fs->make<TProfile>(title, title, 100, -25., 25., -9., 20.); 00588 00589 sprintf(title, "sigvscalo_ring%i", i+1); 00590 sigvsevt[i][12] = fs->make<TProfile>(title, title, 100, 0., 15., -9., 20.); 00591 } 00592 00593 for (int j=0; j<netamx; j++) { 00594 int ieta = (j<15) ? j+1 : 14-j; 00595 for (int i=0;i<nphimx+1;i++) { 00596 if (i==nphimx) { 00597 sprintf(title, "sig_eta%i_allphi", ieta); 00598 } else { 00599 sprintf(title, "sig_eta%i_phi%i", ieta,i+1); 00600 } 00601 sigrsg[j][i] = fs->make<TH1F>(title, title, nbin, alow, ahigh); 00602 if (i==nphimx) { 00603 sprintf(title, "ped_eta%i_allphi", ieta); 00604 } else { 00605 sprintf(title, "ped_eta%i_phi%i", ieta,i+1); 00606 } 00607 crossg[j][i] = fs->make<TH1F>(title, title, nbin, alow, ahigh); 00608 } 00609 00610 for (int i=0;i<nphimx;i++) { 00611 if (m_hotime) { //#ifdef HOTIME 00612 sprintf(title, "hotime_eta%i_phi%i", (j<=14) ? j+1 : 14-j, i+1); 00613 hotime[j][i] = fs->make<TProfile>(title, title, 10, -0.5, 9.5, -1.0, 30.0); 00614 00615 sprintf(title, "hopedtime_eta%i_phi%i", (j<=14) ? j+1 : 14-j, i+1); 00616 hopedtime[j][i] = fs->make<TProfile>(title, title, 10, -0.5, 9.5, -1.0, 30.0); 00617 00618 } //m_hotime #endif 00619 if (m_hbtime) { //#ifdef HBTIME 00620 sprintf(title, "hbtime_eta%i_phi%i", (j<=15) ? j+1 : 15-j, i+1); 00621 hbtime[j][i] = fs->make<TProfile>(title, title, 10, -0.5, 9.5, -1.0, 30.0); 00622 } //m_hbtime #endif 00623 00624 if (m_correl) { //#ifdef CORREL 00625 sprintf(title, "corrsg_eta%i_phi%i_leftbottom", ieta,i+1); 00626 corrsglb[j][i] = fs->make<TH1F>(title, title, nbin, alow, ahigh); 00627 00628 sprintf(title, "corrsg_eta%i_phi%i_rightbottom", ieta,i+1); 00629 corrsgrb[j][i] = fs->make<TH1F>(title, title, nbin, alow, ahigh); 00630 00631 sprintf(title, "corrsg_eta%i_phi%i_leftup", ieta,i+1); 00632 corrsglu[j][i] = fs->make<TH1F>(title, title, nbin, alow, ahigh); 00633 00634 sprintf(title, "corrsg_eta%i_phi%i_rightup", ieta,i+1); 00635 corrsgru[j][i] = fs->make<TH1F>(title, title, nbin, alow, ahigh); 00636 00637 sprintf(title, "corrsg_eta%i_phi%i_all", ieta,i+1); 00638 corrsgall[j][i] = fs->make<TH1F>(title, title, nbin, alow, ahigh); 00639 00640 sprintf(title, "corrsg_eta%i_phi%i_left", ieta,i+1); 00641 corrsgl[j][i] = fs->make<TH1F>(title, title, nbin, alow, ahigh); 00642 00643 sprintf(title, "corrsg_eta%i_phi%i_right", ieta,i+1); 00644 corrsgr[j][i] = fs->make<TH1F>(title, title, nbin, alow, ahigh); 00645 } //m_correl #endif 00646 if (m_checkmap) {// #ifdef CHECKMAP 00647 sprintf(title, "corrsg_eta%i_phi%i_centrl", ieta,i+1); 00648 corrsgc[j][i] = fs->make<TH1F>(title, title, nbin, alow, ahigh); 00649 } //m_checkmap #endif 00650 } 00651 } 00652 00653 mnsigrsg = fs->make<TH1F>("mnsigrsg","mnsigrsg", netamx*nphimx+ringmx*routmx, -0.5, netamx*nphimx+ringmx*routmx -0.5); 00654 rmssigrsg = fs->make<TH1F>("rmssigrsg","rmssigrsg", netamx*nphimx+ringmx*routmx, -0.5, netamx*nphimx+ringmx*routmx -0.5); 00655 nevsigrsg = fs->make<TH1F>("nevsigrsg","nevsigrsg", netamx*nphimx+ringmx*routmx, -0.5, netamx*nphimx+ringmx*routmx -0.5); 00656 00657 mncrossg = fs->make<TH1F>("mncrossg","mncrossg", netamx*nphimx+ringmx*routmx, -0.5, netamx*nphimx+ringmx*routmx -0.5); 00658 rmscrossg = fs->make<TH1F>("rmscrossg","rmscrossg", netamx*nphimx+ringmx*routmx, -0.5, netamx*nphimx+ringmx*routmx -0.5); 00659 nevcrossg = fs->make<TH1F>("nevcrossg","nevcrossg", netamx*nphimx+ringmx*routmx, -0.5, netamx*nphimx+ringmx*routmx -0.5); 00660 00661 00662 for (int i=0; i<neffip; i++) { 00663 if (i==0) { 00664 sprintf(title, "Total projected muon in tower"); 00665 sprintf(name, "total_evt"); 00666 } else { 00667 sprintf(title, "Efficiency with sig >%i #sigma", i); 00668 sprintf(name, "Effi_with_gt%i_sig", i); 00669 } 00670 sig_effi[i] = fs->make<TH2F>(name, title, netamx+1, -netamx/2-0.5, netamx/2+0.5, nphimx, 0.5, nphimx+0.5); 00671 } 00672 00673 sprintf(title, "Mean Energy of all towers"); 00674 sprintf(name, "mean_energy"); 00675 mean_energy = fs->make<TH2F>(name, title, netamx+1, -netamx/2-0.5, netamx/2+0.5, nphimx, 0.5, nphimx+0.5); 00676 00677 if (m_correl) { //#ifdef CORREL 00678 mncorrsglb = fs->make<TH1F>("mncorrsglb","mncorrsglb", netamx*nphimx+60, -0.5, netamx*nphimx+59.5); 00679 rmscorrsglb = fs->make<TH1F>("rmscorrsglb","rmscorrsglb", netamx*nphimx+60, -0.5, netamx*nphimx+59.5); 00680 nevcorrsglb = fs->make<TH1F>("nevcorrsglb","nevcorrsglb", netamx*nphimx+60, -0.5, netamx*nphimx+59.5); 00681 00682 mncorrsgrb = fs->make<TH1F>("mncorrsgrb","mncorrsgrb", netamx*nphimx+60, -0.5, netamx*nphimx+59.5); 00683 rmscorrsgrb = fs->make<TH1F>("rmscorrsgrb","rmscorrsgrb", netamx*nphimx+60, -0.5, netamx*nphimx+59.5); 00684 nevcorrsgrb = fs->make<TH1F>("nevcorrsgrb","nevcorrsgrb", netamx*nphimx+60, -0.5, netamx*nphimx+59.5); 00685 00686 mncorrsglu = fs->make<TH1F>("mncorrsglu","mncorrsglu", netamx*nphimx+60, -0.5, netamx*nphimx+59.5); 00687 rmscorrsglu = fs->make<TH1F>("rmscorrsglu","rmscorrsglu", netamx*nphimx+60, -0.5, netamx*nphimx+59.5); 00688 nevcorrsglu = fs->make<TH1F>("nevcorrsglu","nevcorrsglu", netamx*nphimx+60, -0.5, netamx*nphimx+59.5); 00689 00690 mncorrsgru = fs->make<TH1F>("mncorrsgru","mncorrsgru", netamx*nphimx+60, -0.5, netamx*nphimx+59.5); 00691 rmscorrsgru = fs->make<TH1F>("rmscorrsgru","rmscorrsgru", netamx*nphimx+60, -0.5, netamx*nphimx+59.5); 00692 nevcorrsgru = fs->make<TH1F>("nevcorrsgru","nevcorrsgru", netamx*nphimx+60, -0.5, netamx*nphimx+59.5); 00693 00694 mncorrsgall = fs->make<TH1F>("mncorrsgall","mncorrsgall", netamx*nphimx+60, -0.5, netamx*nphimx+59.5); 00695 rmscorrsgall = fs->make<TH1F>("rmscorrsgall","rmscorrsgall", netamx*nphimx+60, -0.5, netamx*nphimx+59.5); 00696 nevcorrsgall = fs->make<TH1F>("nevcorrsgall","nevcorrsgall", netamx*nphimx+60, -0.5, netamx*nphimx+59.5); 00697 00698 mncorrsgl = fs->make<TH1F>("mncorrsgl","mncorrsgl", netamx*nphimx+60, -0.5, netamx*nphimx+59.5); 00699 rmscorrsgl = fs->make<TH1F>("rmscorrsgl","rmscorrsgl", netamx*nphimx+60, -0.5, netamx*nphimx+59.5); 00700 nevcorrsgl = fs->make<TH1F>("nevcorrsgl","nevcorrsgl", netamx*nphimx+60, -0.5, netamx*nphimx+59.5); 00701 00702 mncorrsgr = fs->make<TH1F>("mncorrsgr","mncorrsgr", netamx*nphimx+60, -0.5, netamx*nphimx+59.5); 00703 rmscorrsgr = fs->make<TH1F>("rmscorrsgr","rmscorrsgr", netamx*nphimx+60, -0.5, netamx*nphimx+59.5); 00704 nevcorrsgr = fs->make<TH1F>("nevcorrsgr","nevcorrsgr", netamx*nphimx+60, -0.5, netamx*nphimx+59.5); 00705 } //m_correl #endif 00706 00707 if (m_checkmap) { //#ifdef CHECKMAP 00708 mncorrsgc = fs->make<TH1F>("mncorrsgc","mncorrsgc", netamx*nphimx+60, -0.5, netamx*nphimx+59.5); 00709 rmscorrsgc = fs->make<TH1F>("rmscorrsgc","rmscorrsgc", netamx*nphimx+60, -0.5, netamx*nphimx+59.5); 00710 nevcorrsgc = fs->make<TH1F>("nevcorrsgc","nevcorrsgc", netamx*nphimx+60, -0.5, netamx*nphimx+59.5); 00711 } //m_checkmap #endif 00712 00713 if (m_combined) { //#ifdef COMBINED 00714 for (int j=0; j<ringmx; j++) { 00715 00716 for (int i=0;i<routmx+1;i++) { 00717 if (j!=2 && i>rout12mx) continue; 00718 int phmn = 3*i-1; 00719 int phmx = 3*i+1; 00720 if (j==2) {phmn = 2*i-1; phmx=2*i;} 00721 if (phmn <=0) phmn = nphimx+phmn; 00722 if (phmx <=0) phmx = nphimx+phmx; 00723 00724 if ((j==2 & i==routmx) || (j!=2 & i==rout12mx)) { 00725 sprintf(title, "sig_ring%i_allrm", j-2); 00726 sprintf(name, "sig_ring%i_allrm", j-2); 00727 } else { 00728 sprintf(title, "sig_ring%i_phi%i-%i", j-2,phmn,phmx); 00729 sprintf(name, "sig_ring%i_rout%i", j-2,i+1); 00730 } 00731 com_sigrsg[j][i] = fs->make<TH1F>(name, title, nbin, alow, ahigh); 00732 if ((j==2 & i==routmx) || (j!=2 & i==rout12mx)) { 00733 sprintf(title, "ped_ring%i_allrm", j-2); 00734 sprintf(name, "ped_ring%i_allrm", j-2); 00735 } else { 00736 sprintf(title, "ped_ring%i_phi%i-%i", j-2,phmn, phmx); 00737 sprintf(name, "ped_ring%i_rout%i", j-2,i+1); 00738 } 00739 com_crossg[j][i] = fs->make<TH1F>(name, title, nbin, alow, ahigh); 00740 } 00741 00742 for (int i=0;i<sectmx;i++) { 00743 if (m_hotime) { //#ifdef HOTIME 00744 sprintf(title, "com_hotime_ring%i_sect%i", j-2, i+1); 00745 com_hotime[j][i] = fs->make<TProfile>(title, title, 10, -0.5, 9.5, -1.0, 30.0); 00746 00747 sprintf(title, "com_hopedtime_ring%i_sect%i", j-2, i+1); 00748 com_hopedtime[j][i] = fs->make<TProfile>(title, title, 10, -0.5, 9.5, -1.0, 30.0); 00749 } //m_hotime #endif 00750 if (m_hbtime){ //#ifdef HBTIME 00751 sprintf(title, "_com_hbtime_ring%i_serrct%i", j-2, i+1); 00752 com_hbtime[j][i] = fs->make<TProfile>(title, title, 10, -0.5, 9.5, -1.0, 30.0); 00753 } //m_hbtime #endif 00754 00755 if (m_correl) { //#ifdef CORREL 00756 sprintf(title, "com_corrsg_ring%i_sect%i_leftbottom", j-2,i+1); 00757 com_corrsglb[j][i] = fs->make<TH1F>(title, title, nbin, alow, ahigh); 00758 00759 sprintf(title, "com_corrsg_ring%i_sect%i_rightbottom", j-2,i+1); 00760 com_corrsgrb[j][i] = fs->make<TH1F>(title, title, nbin, alow, ahigh); 00761 00762 sprintf(title, "com_corrsg_ring%i_sect%i_leftup", j-2,i+1); 00763 com_corrsglu[j][i] = fs->make<TH1F>(title, title, nbin, alow, ahigh); 00764 00765 sprintf(title, "com_corrsg_ring%i_sect%i_rightup", j-2,i+1); 00766 com_corrsgru[j][i] = fs->make<TH1F>(title, title, nbin, alow, ahigh); 00767 00768 sprintf(title, "com_corrsg_ring%i_sect%i_all", j-2,i+1); 00769 com_corrsgall[j][i] = fs->make<TH1F>(title, title, nbin, alow, ahigh); 00770 00771 sprintf(title, "com_corrsg_ring%i_sect%i_left", j-2,i+1); 00772 com_corrsgl[j][i] = fs->make<TH1F>(title, title, nbin, alow, ahigh); 00773 00774 sprintf(title, "com_corrsg_ring%i_sect%i_right", j-2,i+1); 00775 com_corrsgr[j][i] = fs->make<TH1F>(title, title, nbin, alow, ahigh); 00776 } //m_correl #endif 00777 00778 if (m_checkmap) { // #ifdef CHECKMAP 00779 sprintf(title, "com_corrsg_ring%i_sect%i_centrl", j-2,i+1); 00780 com_corrsgc[j][i] = fs->make<TH1F>(title, title, nbin, alow, ahigh); 00781 } //m_checkmap #endif 00782 } 00783 } 00784 } //m_combined #endif 00785 00786 for (int i=-1; i<=1; i++) { 00787 for (int j=-1; j<=1; j++) { 00788 int k = 3*(i+1)+j+1; 00789 00790 sprintf(title, "hosct2p_eta%i_phi%i", i, j); 00791 ho_sig2p[k] = fs->make<TH1F>(title, title, nbin, alow, ahigh); 00792 00793 sprintf(title, "hosct1p_eta%i_phi%i", i, j); 00794 ho_sig1p[k] = fs->make<TH1F>(title, title, nbin, alow, ahigh); 00795 00796 sprintf(title, "hosct00_eta%i_phi%i", i, j); 00797 ho_sig00[k] = fs->make<TH1F>(title, title, nbin, alow, ahigh); 00798 00799 sprintf(title, "hosct1m_eta%i_phi%i", i, j); 00800 ho_sig1m[k] = fs->make<TH1F>(title, title, nbin, alow, ahigh); 00801 00802 sprintf(title, "hosct2m_eta%i_phi%i", i, j); 00803 ho_sig2m[k] = fs->make<TH1F>(title, title, nbin, alow, ahigh); 00804 00805 if (m_hbinfo) { // #ifdef HBINFO 00806 sprintf(title, "hbhesig_eta%i_phi%i", i, j); 00807 hbhe_sig[k] = fs->make<TH1F>(title, title, 51, -10.5, 40.5); 00808 } //m_hbinfo #endif 00809 } 00810 } 00811 00812 if (m_constant) { 00813 ped_evt = fs->make<TH1F>("ped_evt", "ped_evt", netamx*nphimx, -0.5, netamx*nphimx-0.5); 00814 ped_mean = fs->make<TH1F>("ped_mean", "ped_mean", netamx*nphimx, -0.5, netamx*nphimx-0.5); 00815 ped_width = fs->make<TH1F>("ped_width", "ped_width", netamx*nphimx, -0.5, netamx*nphimx-0.5); 00816 00817 fit_chi = fs->make<TH1F>("fit_chi", "fit_chi", netamx*nphimx, -0.5, netamx*nphimx-0.5); 00818 sig_evt = fs->make<TH1F>("sig_evt", "sig_evt", netamx*nphimx, -0.5, netamx*nphimx-0.5); 00819 fit_sigevt = fs->make<TH1F>("fit_sigevt", "fit_sigevt", netamx*nphimx, -0.5, netamx*nphimx-0.5); 00820 fit_bkgevt = fs->make<TH1F>("fit_bkgevt", "fit_bkgevt", netamx*nphimx, -0.5, netamx*nphimx-0.5); 00821 sig_mean = fs->make<TH1F>("sig_mean", "sig_mean", netamx*nphimx, -0.5, netamx*nphimx-0.5); 00822 sig_diff = fs->make<TH1F>("sig_diff", "sig_diff", netamx*nphimx, -0.5, netamx*nphimx-0.5); 00823 sig_width = fs->make<TH1F>("sig_width", "sig_width", netamx*nphimx, -0.5, netamx*nphimx-0.5); 00824 sig_sigma = fs->make<TH1F>("sig_sigma", "sig_sigma", netamx*nphimx, -0.5, netamx*nphimx-0.5); 00825 sig_meanerr = fs->make<TH1F>("sig_meanerr", "sig_meanerr", netamx*nphimx, -0.5, netamx*nphimx-0.5); 00826 sig_meanerrp = fs->make<TH1F>("sig_meanerrp", "sig_meanerrp", netamx*nphimx, -0.5, netamx*nphimx-0.5); 00827 sig_signf = fs->make<TH1F>("sig_signf", "sig_signf", netamx*nphimx, -0.5, netamx*nphimx-0.5); 00828 00829 ped_statmean = fs->make<TH1F>("ped_statmean", "ped_statmean", netamx*nphimx, -0.5, netamx*nphimx-0.5); 00830 sig_statmean = fs->make<TH1F>("sig_statmean", "sig_statmean", netamx*nphimx, -0.5, netamx*nphimx-0.5); 00831 ped_rms = fs->make<TH1F>("ped_rms", "ped_rms", netamx*nphimx, -0.5, netamx*nphimx-0.5); 00832 sig_rms = fs->make<TH1F>("sig_rms", "sig_rms", netamx*nphimx, -0.5, netamx*nphimx-0.5); 00833 00834 const_eta_phi = fs->make<TH2F>("const_eta_phi", "const_eta_phi", netamx+1, -(netamx+1)/2., (netamx+1)/2., nphimx, 0.5, nphimx+0.5); 00835 00836 for (int ij=0; ij<netamx; ij++) { 00837 int ieta = (ij<15) ? ij+1 : 14-ij; 00838 sprintf(title, "Cont_Eta_%i", ieta); 00839 const_eta[ij] = fs->make<TH1F>(title, title, nphimx, 0.5, nphimx+0.5); 00840 00841 sprintf(title, "Peak_Eta_%i", ieta); 00842 peak_eta[ij] = fs->make<TH1F>(title, title, nphimx, 0.5, nphimx+0.5); 00843 } 00844 00845 for (int ij=0; ij<ringmx; ij++) { 00846 int iring = ij-2; 00847 int iread = (ij==2) ? routmx : rout12mx; 00848 sprintf(title, "Cont_hpdrm_%i", iring); 00849 const_hpdrm[ij] = fs->make<TH1F>(title, title, iread, 0.5, iread+0.5); 00850 00851 sprintf(title, "Peak_hpdrm_%i", iring); 00852 peak_hpdrm[ij] = fs->make<TH1F>(title, title, iread, 0.5, iread+0.5); 00853 } 00854 00855 mean_phi_hst = fs->make<TH1F>("mean_phi_hst", "mean_phi_hst", netamx+1, -(netamx+1)/2., (netamx+1)/2.); 00856 mean_phi_ave = fs->make<TH1F>("mean_phi_ave", "mean_phi_ave", netamx+1, -(netamx+1)/2., (netamx+1)/2.); 00857 00858 mean_eta_ave = fs->make<TH1F>("mean_eta_ave", "mean_eta_ave", nphimx, 0.5, nphimx+0.5); 00859 00860 } //m_constant 00861 00862 for (int ij=0; ij<netamx; ij++) { 00863 int ieta = (ij<15) ? ij+1 : 14-ij; 00864 00865 sprintf(title, "Stat_Eta_%i", ieta); 00866 stat_eta[ij] = fs->make<TH1F>(title, title, nphimx, 0.5, nphimx+0.5); 00867 00868 sprintf(title, "#mu(stat)_Eta_%i", ieta); 00869 statmn_eta[ij] = fs->make<TH1F>(title, title, nphimx, 0.5, nphimx+0.5); 00870 } 00871 00872 for (int j=0; j<netamx; j++) { 00873 for (int i=0; i<nphimx; i++) { 00874 invang[j][i] = 0.0; 00875 } 00876 } 00877 for (int j=0; j<ringmx; j++) { 00878 for (int i=0;i<routmx+1;i++) { 00879 com_invang[j][i] = 0.0; 00880 } 00881 } 00882 00883 }
HOCalibAnalyzer::~HOCalibAnalyzer | ( | ) |
Definition at line 886 of file HOCalibAnalyzer.cc.
References GenMuonPlsPt100GeV_cfg::cout, lat::endl(), ipass, and theFile.
00887 { 00888 00889 // do anything here that needs to be done at desctruction time 00890 // (e.g. close files, deallocate resources etc.) 00891 00892 theFile->cd(); 00893 theFile->Write(); 00894 theFile->Close(); 00895 cout <<" Selected events # is "<<ipass<<endl; 00896 }
void HOCalibAnalyzer::analyze | ( | const edm::Event & | iEvent, | |
const edm::EventSetup & | iSetup | |||
) | [private, virtual] |
Implements edm::EDAnalyzer.
Definition at line 905 of file HOCalibAnalyzer.cc.
References funct::abs(), ahigh, alow, caloen, chisq, com_corrsgall, com_corrsgc, com_corrsgl, com_corrsglb, com_corrsglu, com_corrsgr, com_corrsgrb, com_corrsgru, com_crossg, com_invang, com_sigrsg, corrsgall, corrsgc, corrsgl, corrsglb, corrsglu, corrsgr, corrsgrb, corrsgru, GenMuonPlsPt100GeV_cfg::cout, cro_ssg, crossg, lat::endl(), etamap, edm::EventID::event(), edm::EventSetup::get(), edm::Event::getByType(), hbhe_sig, hbhesig, ho_sig00, ho_sig1m, ho_sig1p, ho_sig2m, ho_sig2p, hoang, hocorsig, hocro, hodx, hody, hosig, htime, i, edm::Event::id(), ievt, int, invang, ipass, irun, irunold, isect, itrg1, itrg2, k, m_checkmap, m_combined, m_correl, m_cosmic, m_digiInput, m_hbinfo, m_histfit, m_sigma, mapx0m, mapx0p, mapx1, mapx2, muonch, muonmm, muonnm, muonph, muonth, ncut, ndof, neffip, Nevents, nmuon, nphimx, npixlebt, npixleft, npixleup, npixribt, npixrigh, npixriup, pherr, phimap, funct::pow(), rout12mx, routmx, edm::EventID::run(), sel_muonch, sel_muonmm, sel_muonnm, sel_muonph, sel_muonth, sig_effi, sig_reg, sigrsg, sigvsevt, size, T1, therr, trkdr, trkdz, trkmm, trkph, trkth, trkvx, trkvy, and trkvz.
00906 { 00907 00908 /* 00909 //FIXGM Put this is initialiser 00910 int mapx1[6][3]={{1,4,8}, {12,7,3}, {5,9,13}, {11,6,2}, {16,15,14}, {19,18,17}}; 00911 // int etamap1[21]={-1, 0,3,1, 0,2,3, 1,0,2, -1, 3,1,2, 4,4,4, 5,5,5, -1}; 00912 // int phimap1[21]={-1, 0,2,2, 1,0,1, 1,2,1, -1, 0,0,2, 2,1,0, 2,1,0,-1}; 00913 00914 int mapx2[6][3]={{1,4,8}, {12,7,3}, {5,9,13}, {11,6,2}, {16,15,14}, {-1,-1,-1}}; 00915 // int etamap2[21]={-1, 0,3,1, 0,2,3, 1,0,2, -1, 3,1,2, 4,4,4, -1,-1,-1, -1}; 00916 // int phimap2[21]={-1, 0,2,2, 1,0,1, 1,2,1, -1, 0,0,2, 2,1,0, 2, 1, 0, -1}; 00917 00918 int mapx0p[9][2]={{3,1}, {7,4}, {6,5}, {12,8}, {0,0}, {11,9}, {16,13}, {15,14}, {19,17}}; 00919 int mapx0m[9][2]={{17,19}, {14,15}, {13,16}, {9,11}, {0,0}, {8,12}, {5,6}, {4,7}, {1,3}}; 00920 00921 // int etamap0p[21]={-1, 0,-1,0, 1,2,2, 1,3,5, -1, 5,3,6, 7,7,6, 8,-1,8, -1}; 00922 // int phimap0p[21]={-1, 1,-1,0, 1,1,0, 0,1,1, -1, 0,0,1, 1,0,0, 1,-1,0, -1}; 00923 00924 // int etamap0m[21]={-1, 8,-1,8, 7,6,6, 7,5,3, -1, 3,5,2, 1,1,2, 0,-1,0, -1}; 00925 // int phimap0m[21]={-1, 0,-1,1, 0,0,1, 1,0,0, -1, 1,1,0, 0,1,1, 0,-1,1, -1}; 00926 00927 int etamap[4][21]={{-1, 0,3,1, 0,2,3, 1,0,2, -1, 3,1,2, 4,4,4, -1,-1,-1, -1}, //etamap2 00928 {-1, 0,3,1, 0,2,3, 1,0,2, -1, 3,1,2, 4,4,4, 5,5,5, -1}, //etamap1 00929 {-1, 0,-1,0, 1,2,2, 1,3,5, -1, 5,3,6, 7,7,6, 8,-1,8, -1}, //etamap0p 00930 {-1, 8,-1,8, 7,6,6, 7,5,3, -1, 3,5,2, 1,1,2, 0,-1,0, -1}}; //etamap0m 00931 00932 int phimap[4][21] ={{-1, 0,2,2, 1,0,1, 1,2,1, -1, 0,0,2, 2,1,0, 2,1,0, -1}, //phimap2 00933 {-1, 0,2,2, 1,0,1, 1,2,1, -1, 0,0,2, 2,1,0, 2,1,0, -1}, //phimap1 00934 {-1, 1,-1,0, 1,1,0, 0,1,1, -1, 0,0,1, 1,0,0, 1,-1,0, -1}, //phimap0p 00935 {-1, 0,-1,1, 0,0,1, 1,0,0, -1, 1,1,0, 0,1,1, 0,-1,1, -1}}; //phimap0m 00936 //swapped phi map for R0+/R0- (15/03/07) 00937 for (int i=0; i<4; i++) { 00938 for (int j=0; j<21; j++) { 00939 cout <<"ieta "<<i<<" "<<j<<" "<<etamap[i][j]<<endl; 00940 } 00941 } 00942 00943 // Character convention for R+/-1/2 00944 // int npixleft[21] = {-1, F, Q,-1, M, D, J,-1, T,-1, C,-1, R, P, H,-1, N, G}; 00945 // int npixrigh[21] = { Q, S,-1, D, J, L,-1, K,-1, E,-1, P, H, B,-1, G, A,-1}; 00946 00947 // int npixlb1[21]={-1,-1,-1,-1, F, Q, S,-1, M, J, L, T, K,-1, C, R, P, H}; 00948 // int npixrb1[21]={-1,-1,-1, F, Q, S,-1, M, D, L,-1, K,-1, C, E, P, H, B}; 00949 // int npixlu1[21]={ M, D, J, T, K,-1, C,-1, R, H, B,-1, N, G, A,-1,-1,-1}; 00950 // int npixru1[21]={ D, J, L, K,-1, C, E, R, P, B,-1, N, G, A,-1,-1,-1,-1}; 00951 00952 int npixleft[21]={0, 0, 1, 2, 0, 4, 5, 6, 0, 8, 0, 0,11, 0,13,14,15, 0,17,18,0}; 00953 int npixrigh[21]={0, 2, 3, 0, 5, 6, 7, 0, 9, 0, 0,12, 0,14,15,16, 0,18,19, 0,0}; 00954 int npixlebt[21]={0, 0, 0, 0, 0, 1, 2, 3, 0, 4, 0, 6, 7, 8, 9, 0,11,13,14,15,0}; 00955 int npixribt[21]={0, 0, 0, 0, 1, 2, 3, 0, 4, 5, 0, 7, 0, 9, 0,11,12,14,15,16,0}; 00956 int npixleup[21]={0, 4, 5, 6, 8, 9, 0,11, 0,13, 0,15,16, 0,17,18,19, 0, 0, 0,0}; 00957 int npixriup[21]={0, 5, 6, 7, 9, 0,11,12,13,14, 0,16, 0,17,18,19, 0, 0, 0, 0,0}; 00958 */ 00959 00960 int iaxxx = 0; 00961 int ibxxx = 0; 00962 00963 Nevents++; 00964 00965 using namespace edm; 00966 00967 float pival = acos(-1.); 00968 irunold = irun = iEvent.id().run(); 00969 ievt = iEvent.id().event(); 00970 00971 // cout <<"Nevents "<<Nevents<<endl; 00972 00973 edm::Handle<HOCalibVariableCollection>HOCalib; 00974 bool isCosMu = true; 00975 try { 00976 iEvent.getByType(HOCalib); 00977 // iEvent.getByLabel("hoCalibProducer","HOCalibVariableCollection",HOCalib); 00978 00979 } catch ( cms::Exception &iEvent ) { isCosMu = false; } 00980 00981 if (isCosMu && (*HOCalib).size() >0 ) { 00982 nmuon = (*HOCalib).size(); 00983 if (Nevents%5000==1) cout <<"nmuon event # "<<Nevents<<" Run # "<<iEvent.id().run()<<" Evt # "<<iEvent.id().event()<<" "<<nmuon<<endl; 00984 00985 for (HOCalibVariableCollection::const_iterator hoC=(*HOCalib).begin(); hoC!=(*HOCalib).end(); hoC++){ 00986 itrg1 = (*hoC).trig1; 00987 itrg2 = (*hoC).trig2; 00988 00989 trkdr = (*hoC).trkdr; 00990 trkdz = (*hoC).trkdz; 00991 00992 trkvx = (*hoC).trkvx; 00993 trkvy = (*hoC).trkvy; 00994 trkvz = (*hoC).trkvz; 00995 00996 trkmm = (*hoC).trkmm; 00997 trkth = (*hoC).trkth; 00998 trkph = (*hoC).trkph; 00999 01000 ndof = (int)(*hoC).ndof; 01001 // nrecht = (int)(*hoC).nrecht; 01002 chisq = (*hoC).chisq; 01003 01004 therr = (*hoC).therr; 01005 pherr = (*hoC).pherr; 01006 trkph = (*hoC).trkph; 01007 01008 isect = (*hoC).isect; 01009 hodx = (*hoC).hodx; 01010 hody = (*hoC).hody; 01011 hoang = (*hoC).hoang; 01012 htime = (*hoC).htime; 01013 for (int i=0; i<9; i++) { hosig[i] = (*hoC).hosig[i];} //cout<<"hosig "<<i<<" "<<hosig[i]<<endl;} 01014 for (int i=0; i<18; i++) { hocorsig[i] = (*hoC).hocorsig[i];} // cout<<"hocorsig "<<i<<" "<<hocorsig[i]<<endl;} 01015 hocro = (*hoC).hocro; 01016 for (int i=0; i<3; i++) { caloen[i] = (*hoC).caloen[i];} 01017 01018 if (m_hbinfo) { for (int i=0; i<9; i++) { hbhesig[i] = (*hoC).hbhesig[i];}} // cout<<"hbhesig "<<i<<" "<<hbhesig[i]<<endl;}} 01019 01020 01021 int ipsall=0; 01022 int ips0=0; 01023 int ips1=0; 01024 int ips2=0; 01025 int ips3=0; 01026 int ips4=0; 01027 int ips5=0; 01028 int ips6=0; 01029 int ips7=0; 01030 int ips8=0; 01031 int ips9=0; 01032 int ips10 =0; 01033 int ips11 =0; 01034 int ips12 = 0; 01035 01036 int iselect3 = 0; 01037 if (ndof >=15 && chisq <30) iselect3 = 1; 01038 01039 if (isect <0) continue; //FIXGM Is it proper place ? 01040 if (fabs(trkth-pival/2)<0.000001) continue; //22OCT07 01041 01042 int ieta = int((abs(isect)%10000)/100.)-30; //an offset to acodate -ve eta values 01043 if (abs(ieta)>=16) continue; 01044 int iphi = abs(isect)%100; 01045 01046 int tmpsect = int((iphi + 1)/6.) + 1; 01047 if (tmpsect >12) tmpsect = 1; 01048 01049 int iring = 0; 01050 int tmpeta = ieta + 4; //For pixel mapping 01051 if (ieta >=-15 && ieta <=-11) {iring = -2; tmpeta =-11-ieta; } //abs(ieta)-11;} 01052 if (ieta >=-10 && ieta <=-5) {iring = -1; tmpeta =-5-ieta; } // abs(ieta)-5;} 01053 if (ieta >= 5 && ieta <= 10) {iring = 1; tmpeta =ieta-5; } 01054 if (ieta >= 11 && ieta <= 15) {iring = 2; tmpeta =ieta-11;} 01055 01056 int iring2 = iring + 2; 01057 01058 int tmprout = int((iphi + 1)/3.) + 1; 01059 int tmproutmx =routmx; 01060 if (iring==0) { 01061 tmprout = int((iphi + 1)/2.) + 1; 01062 if (tmprout >routmx) tmprout = 1; 01063 } else { 01064 if (tmprout >rout12mx) tmprout = 1; 01065 tmproutmx =rout12mx; 01066 } 01067 01068 // CRUZET1 01069 if (m_cosmic) { 01070 /* GMA temoparily change to increase event size at 3 & 9 O'clock position */ 01071 if (abs(ndof) >=20 && abs(ndof) <40) {ips0 = (int)pow(2,0); ipsall += ips0;} 01072 if (chisq >0 && chisq<15) {ips1 = (int)pow(2,1); ipsall +=ips1;} //18Jan2008 01073 if (fabs(trkth-pival/2) <21.5) {ips2 = (int)pow(2,2); ipsall +=ips2;} //No nead for pp evt 01074 if (fabs(trkph+pival/2) <21.5) {ips3 = (int)pow(2,3); ipsall +=ips3;} //No nead for pp evt 01075 01076 if (therr <0.02) {ips4 = (int)pow(2,4); ipsall +=ips4;} 01077 if (pherr <0.0002) {ips5 = (int)pow(2,5); ipsall +=ips5;} 01078 if (fabs(hoang) >0.30) {ips6 = (int)pow(2,6); ipsall +=ips6;} 01079 if (fabs(trkmm) >0.100) {ips7 = (int)pow(2,7); ipsall +=ips7;} 01080 // if (nmuon ==1) {ips8 = (int)pow(2,8); ipsall +=ips8;} 01081 if (nmuon >=1 && nmuon <=4) {ips8 = (int)pow(2,8); ipsall +=ips8;} 01082 01083 if (iring2==2) { 01084 if (fabs(hodx)<100 && fabs(hodx)>2 && fabs(hocorsig[8]) <40 && fabs(hocorsig[8]) >2 ) 01085 {ips10=(int)pow(2,10);ipsall +=ips10;} 01086 01087 if (fabs(hody)<100 && fabs(hody)>2 && fabs(hocorsig[9]) <40 && fabs(hocorsig[9]) >2 ) 01088 {ips11=(int)pow(2,11);ipsall +=ips11;} 01089 01090 } else { 01091 if (fabs(hodx)<100 && fabs(hodx)>2 ) 01092 {ips10=(int)pow(2,10);ipsall +=ips10;} 01093 01094 if (fabs(hody)<100 && fabs(hody)>2) 01095 {ips11=(int)pow(2,11);ipsall +=ips11;} 01096 } 01097 if (caloen[0] ==0) { ips12=(int)pow(2,12);ipsall +=ips12;} 01098 } else { 01099 //csa08 01100 if (abs(ndof) >=20 && abs(ndof) <40) {ips0 = (int)pow(2,0); ipsall += ips0;} 01101 if (chisq >0 && chisq<15) {ips1 = (int)pow(2,1); ipsall +=ips1;} //18Jan2008 01102 if (fabs(trkth-pival/2) <21.5) {ips2 = (int)pow(2,2); ipsall +=ips2;} //No nead for pp evt 01103 if (fabs(trkph+pival/2) <21.5) {ips3 = (int)pow(2,3); ipsall +=ips3;} //No nead for pp evt 01104 01105 if (therr <0.02) {ips4 = (int)pow(2,4); ipsall +=ips4;} 01106 if (pherr <0.0002) {ips5 = (int)pow(2,5); ipsall +=ips5;} 01107 if (fabs(hoang) >0.30) {ips6 = (int)pow(2,6); ipsall +=ips6;} 01108 if (fabs(trkmm) >4.0) {ips7 = (int)pow(2,7); ipsall +=ips7;} 01109 if (nmuon >=1 && nmuon <=2) {ips8 = (int)pow(2,8); ipsall +=ips8;} 01110 01111 if (iring2==2) { 01112 if (fabs(hodx)<100 && fabs(hodx)>2 && fabs(hocorsig[8]) <40 && fabs(hocorsig[8]) >2 ) 01113 {ips10=(int)pow(2,10);ipsall +=ips10;} 01114 01115 if (fabs(hody)<100 && fabs(hody)>2 && fabs(hocorsig[9]) <40 && fabs(hocorsig[9]) >2 ) 01116 {ips11=(int)pow(2,11);ipsall +=ips11;} 01117 01118 } else { 01119 if (fabs(hodx)<100 && fabs(hodx)>2 ) 01120 {ips10=(int)pow(2,10);ipsall +=ips10;} 01121 01122 if (fabs(hody)<100 && fabs(hody)>2) 01123 {ips11=(int)pow(2,11);ipsall +=ips11;} 01124 } 01125 // if (m_cosmic || (caloen[0] >0.5 && caloen[0]<5.0)) {ips12=(int)pow(2,12);ipsall +=ips12;} 01126 if (ndof >0 && caloen[0]<5.0) {ips12=(int)pow(2,12);ipsall +=ips12;} 01127 /* */ 01128 } 01129 01130 if (m_digiInput) { 01131 if (htime >2.5 && htime <6.5) {ips9=(int)pow(2.,9);ipsall +=ips9;} 01132 } else { 01133 if (htime >-40 && htime <60) {ips9=(int)pow(2.,9);ipsall +=ips9;} 01134 } 01135 01136 if (ipsall-ips0==pow(2,ncut)-pow(2,0)-1) sigvsevt[iring2][0]->Fill(abs(ndof), hosig[4]); 01137 if (ipsall-ips1==pow(2,ncut)-pow(2,1)-1) sigvsevt[iring2][1]->Fill(chisq, hosig[4]); 01138 if (ipsall-ips2==pow(2,ncut)-pow(2,2)-1) sigvsevt[iring2][2]->Fill(trkth, hosig[4]); 01139 if (ipsall-ips3==pow(2,ncut)-pow(2,3)-1) sigvsevt[iring2][3]->Fill(trkph, hosig[4]); 01140 if (ipsall-ips4==pow(2,ncut)-pow(2,4)-1) sigvsevt[iring2][4]->Fill(therr, hosig[4]); 01141 if (ipsall-ips5==pow(2,ncut)-pow(2,5)-1) sigvsevt[iring2][5]->Fill(pherr, hosig[4]); 01142 if (ipsall-ips6==pow(2,ncut)-pow(2,6)-1) sigvsevt[iring2][6]->Fill(hoang, hosig[4]); 01143 if (ipsall-ips7==pow(2,ncut)-pow(2,7)-1) sigvsevt[iring2][7]->Fill(fabs(trkmm), hosig[4]); 01144 if (ipsall-ips8==pow(2,ncut)-pow(2,8)-1) sigvsevt[iring2][8]->Fill(nmuon, hosig[4]); 01145 if (ipsall-ips9==pow(2,ncut)-pow(2,9)-1) sigvsevt[iring2][9]->Fill(htime, hosig[4]); 01146 if (ipsall-ips10==pow(2,ncut)-pow(2,10)-1) sigvsevt[iring2][10]->Fill(hodx, hosig[4]); 01147 if (ipsall-ips11==pow(2,ncut)-pow(2,11)-1) sigvsevt[iring2][11]->Fill(hody, hosig[4]); 01148 if (!m_cosmic) { 01149 if (ipsall-ips12==pow(2,ncut)-pow(2,12)-1) sigvsevt[iring2][12]->Fill(caloen[0], hosig[4]); 01150 } 01151 01152 sigvsevt[iring2+5][0]->Fill(abs(ndof), hosig[4]); 01153 if (ips0 >0) { 01154 sigvsevt[iring2+5][1]->Fill(chisq, hosig[4]); 01155 if (ips1 >0) { 01156 sigvsevt[iring2+5][2]->Fill(trkth, hosig[4]); 01157 if (ips2 >0) { 01158 sigvsevt[iring2+5][3]->Fill(trkph, hosig[4]); 01159 if (ips3 >0) { 01160 sigvsevt[iring2+5][4]->Fill(therr, hosig[4]); 01161 if (ips4 >0) { 01162 sigvsevt[iring2+5][5]->Fill(pherr, hosig[4]); 01163 if (ips5 >0) { 01164 sigvsevt[iring2+5][6]->Fill(hoang, hosig[4]); 01165 if (ips6 >0) { 01166 sigvsevt[iring2+5][7]->Fill(fabs(trkmm), hosig[4]); 01167 if (ips7 >0) { 01168 sigvsevt[iring2+5][8]->Fill(nmuon, hosig[4]); 01169 if (ips8 >0) { 01170 sigvsevt[iring2+5][9]->Fill(htime, hosig[4]); 01171 if (ips9 >0) { 01172 sigvsevt[iring2+5][10]->Fill(hodx, hosig[4]); 01173 if (ips10>0) { 01174 sigvsevt[iring2+5][11]->Fill(hody, hosig[4]); 01175 if (ips11>0) { 01176 if (!m_cosmic) sigvsevt[iring2+5][12]->Fill(caloen[0], hosig[4]); 01177 } 01178 } 01179 } 01180 } 01181 } 01182 } 01183 } 01184 } 01185 } 01186 } 01187 } 01188 } 01189 01190 sigvsevt[iring2+10][0]->Fill(abs(ndof), hosig[4]); 01191 sigvsevt[iring2+10][1]->Fill(chisq, hosig[4]); 01192 sigvsevt[iring2+10][2]->Fill(trkth, hosig[4]); 01193 sigvsevt[iring2+10][3]->Fill(trkph, hosig[4]); 01194 sigvsevt[iring2+10][4]->Fill(therr, hosig[4]); 01195 sigvsevt[iring2+10][5]->Fill(pherr, hosig[4]); 01196 sigvsevt[iring2+10][6]->Fill(hoang, hosig[4]); 01197 sigvsevt[iring2+10][7]->Fill(fabs(trkmm), hosig[4]); 01198 sigvsevt[iring2+10][8]->Fill(nmuon, hosig[4]); 01199 sigvsevt[iring2+10][9]->Fill(htime, hosig[4]); 01200 sigvsevt[iring2+10][10]->Fill(hodx, hosig[4]); 01201 sigvsevt[iring2+10][11]->Fill(hody, hosig[4]); 01202 if (!m_cosmic) sigvsevt[iring2+10][12]->Fill(caloen[0], hosig[4]); 01203 01204 int iselect = (ipsall == pow(2,ncut) - 1) ? 1 : 0; 01205 01206 if (hocro !=-100.0 && hocro <-50.0) hocro +=100.; 01207 01208 muonnm->Fill(nmuon); 01209 muonmm->Fill(trkmm); 01210 muonth->Fill(trkth*180/pival); 01211 muonph->Fill(trkph*180/pival); 01212 muonch->Fill(chisq); 01213 01214 if (iselect==1) { 01215 ipass++; 01216 sel_muonnm->Fill(nmuon); 01217 sel_muonmm->Fill(trkmm); 01218 sel_muonth->Fill(trkth*180/pival); 01219 sel_muonph->Fill(trkph*180/pival); 01220 sel_muonch->Fill(chisq); 01221 } 01222 01223 if (iselect3) T1->Fill(); 01224 01225 int tmpphi = (iphi + 1)%3; //pixel mapping 01226 int npixel = 0; 01227 int itag = -1; 01228 int iflip = 0; 01229 int fact = 2; 01230 01231 if (iring ==0) { 01232 tmpphi = (iphi+1)%2; 01233 if (tmpsect==2 || tmpsect==3 || tmpsect==6 || tmpsect==7 || tmpsect==10 || tmpsect==11) { 01234 npixel = mapx0p[tmpeta][tmpphi]; 01235 itag = 2; 01236 } else { 01237 npixel = mapx0m[tmpeta][tmpphi]; 01238 itag = 3; 01239 } 01240 } else { 01241 fact = 3; 01242 if (tmpsect%2==1) iflip =1; 01243 if (abs(iring)==1) { 01244 npixel = mapx1[tmpeta][(iflip==0) ? tmpphi : abs(tmpphi-2)]; 01245 itag = 1; 01246 } else { 01247 npixel = mapx2[tmpeta][(iflip==0) ? tmpphi : abs(tmpphi-2)]; 01248 itag = 0; 01249 } 01250 } 01251 01252 int tmpeta1 = (ieta>0) ? ieta -1 : -ieta +14; 01253 01254 //Histogram filling for noise study: phi shift according to DTChamberAnalysis 01255 int tmpphi1 = iphi -1 ; //(iphi+6 <=nphimx) ? iphi+5 : iphi+5-nphimx; 01256 01257 int iselect2=0; 01258 if (hosig[4]!=-100) { 01259 if (m_cosmic) { 01260 if (caloen[2]<=0.0) iselect2=1; 01261 } else { 01262 if (caloen[2]<=3.0) iselect2=1; 01263 } 01264 } 01265 01266 // cout <<"cosmic "<<hosig[4]<<" "<<caloen[3]<<" "<<int(iselect2)<<" "<<int(m_cosmic)<<endl; 01267 01268 01269 if (iselect2==1) { 01270 int tmpphi2 = iphi - 1; 01271 if (!m_digiInput) { tmpphi2 = (iphi+6 <=nphimx) ? iphi+5 : iphi+5-nphimx;} 01272 01273 int tmpsect2 = int((tmpphi2 + 2)/6.) + 1; 01274 if (tmpsect2 >12) tmpsect2 = 1; 01275 01276 int tmprout2 = int((tmpphi2 + 2)/3.) + 1; 01277 if (iring==0) { 01278 tmprout2 = int((tmpphi2 + 2)/2.) + 1; 01279 if (tmprout2 >routmx) tmprout2 = 1; 01280 } else { 01281 if (tmprout2 >rout12mx) tmprout2 = 1; 01282 } 01283 01284 if (cro_ssg[tmpeta1][tmpphi2].size()<4000) { 01285 if (hocro>alow && hocro<ahigh) { 01286 if (!m_histfit) cro_ssg[tmpeta1][tmpphi2].push_back(hocro); 01287 crossg[tmpeta1][tmpphi2]->Fill(hocro); 01288 } 01289 } 01290 01291 if (tmpphi2 >=0 && tmpphi2 <nphimx) { 01292 crossg[tmpeta1][nphimx]->Fill(hocro); 01293 } 01294 if (m_combined) { 01295 com_crossg[iring2][tmprout2-1]->Fill(hocro); 01296 com_crossg[iring2][tmproutmx]->Fill(hocro); 01297 } 01298 } 01299 01300 if (iselect==1) { 01301 for (int ij=0; ij<neffip; ij++) { 01302 if (ij==0) { 01303 sig_effi[ij]->Fill(ieta, iphi, 1.); 01304 } else { 01305 if (hosig[4] >ij*m_sigma) { 01306 sig_effi[ij]->Fill(ieta, iphi, 1.); 01307 } 01308 } 01309 } 01310 01311 tmpphi1 = iphi - 1; 01312 01313 if (sig_reg[tmpeta1][tmpphi1].size()<4000 ) { 01314 if (hosig[4]>-50&& hosig[4] <15) { 01315 sigrsg[tmpeta1][tmpphi1]->Fill(hosig[4]); 01316 if (!m_histfit && hosig[4]<=ahigh/2.) sig_reg[tmpeta1][tmpphi1].push_back(hosig[4]); 01317 invang[tmpeta1][tmpphi1] += 1./fabs(hoang); 01318 } 01319 } 01320 01321 if (tmpphi1 >=0 && tmpphi1 <nphimx) { //GREN 01322 sigrsg[tmpeta1][nphimx]->Fill(hosig[4]); 01323 invang[tmpeta1][nphimx] += 1./fabs(hoang); 01324 } 01325 01326 if (m_combined) { //#ifdef COMBINED 01327 com_sigrsg[iring2][tmprout-1]->Fill(hosig[4]); 01328 com_invang[iring2][tmprout-1] += 1./fabs(hoang); 01329 01330 com_sigrsg[iring2][tmproutmx]->Fill(hosig[4]); 01331 com_invang[iring2][tmproutmx] += 1./fabs(hoang); 01332 } //m_combined #endif 01333 01334 if (m_checkmap || m_correl) { //#ifdef CHECKMAP 01335 tmpeta = etamap[itag][npixel]; 01336 tmpphi = phimap[itag][npixel]; 01337 if (tmpeta>=0 && tmpphi >=0) { 01338 if (iflip !=0) tmpphi = abs(tmpphi-2); 01339 if (int((hocorsig[fact*tmpeta+tmpphi]-hosig[4])*10000)/10000.!=0) { 01340 iaxxx++; 01341 cout<<"iring2xxx "<<irun<<" "<<ievt<<" "<<isect<<" "<<iring<<" "<<tmpsect<<" "<<ieta<<" "<<iphi<<" "<<npixel<<" "<<tmpeta<<" "<<tmpphi<<" "<<tmpeta1<<" "<<tmpphi1<<" itag "<<itag<<" "<<iflip<<" "<<fact<<" "<<hocorsig[fact*tmpeta+tmpphi]<<" "<<fact*tmpeta+tmpphi<<" "<<hosig[4]<<" "<<hodx<<" "<<hody<<endl; 01342 01343 for (int i=0; i<18; i++) {cout <<" "<<i<<" "<<hocorsig[i];} 01344 cout<<" ix "<<iaxxx<<" "<<ibxxx<<endl; 01345 } else { ibxxx++; } 01346 01347 corrsgc[tmpeta1][tmpphi1]->Fill(hocorsig[fact*tmpeta+tmpphi]); 01348 if (m_combined) { //#ifdef COMBINED 01349 com_corrsgc[iring2][tmpsect-1]->Fill(hocorsig[fact*tmpeta+tmpphi]); 01350 } //m_combined #endif 01351 } 01352 } //m_checkmap #endif 01353 01354 if (m_correl) { //#ifdef CORREL 01355 float allcorsig = 0.0; 01356 01357 tmpeta = etamap[itag][npixleft[npixel]]; 01358 tmpphi = phimap[itag][npixleft[npixel]]; 01359 01360 if (tmpeta>=0 && tmpphi >=0) { 01361 if (iflip !=0) tmpphi = abs(tmpphi-2); 01362 corrsgl[tmpeta1][tmpphi1]->Fill(hocorsig[fact*tmpeta+tmpphi]); 01363 allcorsig +=hocorsig[fact*tmpeta+tmpphi]; 01364 if (m_combined) { //#ifdef COMBINED 01365 com_corrsgl[iring2][tmpsect-1]->Fill(hocorsig[fact*tmpeta+tmpphi]); 01366 } //m_combined #endif 01367 } 01368 01369 tmpeta = etamap[itag][npixrigh[npixel]]; 01370 tmpphi = phimap[itag][npixrigh[npixel]]; 01371 if (tmpeta>=0 && tmpphi >=0) { 01372 if (iflip !=0) tmpphi = abs(tmpphi-2); 01373 corrsgr[tmpeta1][tmpphi1]->Fill(hocorsig[fact*tmpeta+tmpphi]); 01374 allcorsig +=hocorsig[fact*tmpeta+tmpphi]; 01375 if (m_combined) { // #ifdef COMBINED 01376 com_corrsgr[iring2][tmpsect-1]->Fill(hocorsig[fact*tmpeta+tmpphi]); 01377 } //m_combined #endif 01378 } 01379 01380 tmpeta = etamap[itag][npixlebt[npixel]]; 01381 tmpphi = phimap[itag][npixlebt[npixel]]; 01382 if (tmpeta>=0 && tmpphi >=0) { 01383 if (iflip !=0) tmpphi = abs(tmpphi-2); 01384 corrsglb[tmpeta1][tmpphi1]->Fill(hocorsig[fact*tmpeta+tmpphi]); 01385 allcorsig +=hocorsig[fact*tmpeta+tmpphi]; 01386 if (m_combined){ //#ifdef COMBINED 01387 com_corrsglb[iring2][tmpsect-1]->Fill(hocorsig[fact*tmpeta+tmpphi]); 01388 } //m_combined #endif 01389 } 01390 01391 tmpeta = etamap[itag][npixribt[npixel]]; 01392 tmpphi = phimap[itag][npixribt[npixel]]; 01393 if (tmpeta>=0 && tmpphi >=0) { 01394 if (iflip !=0) tmpphi = abs(tmpphi-2); 01395 corrsgrb[tmpeta1][tmpphi1]->Fill(hocorsig[fact*tmpeta+tmpphi]); 01396 allcorsig +=hocorsig[fact*tmpeta+tmpphi]; 01397 if (m_combined) { // #ifdef COMBINED 01398 com_corrsgrb[iring2][tmpsect-1]->Fill(hocorsig[fact*tmpeta+tmpphi]); 01399 } //m_combined #endif 01400 } 01401 01402 tmpeta = etamap[itag][npixleup[npixel]]; 01403 tmpphi = phimap[itag][npixleup[npixel]]; 01404 if (tmpeta>=0 && tmpphi >=0) { 01405 if (iflip !=0) tmpphi = abs(tmpphi-2); 01406 corrsglu[tmpeta1][tmpphi1]->Fill(hocorsig[fact*tmpeta+tmpphi]); 01407 allcorsig +=hocorsig[fact*tmpeta+tmpphi]; 01408 if (m_combined) {// #ifdef COMBINED 01409 com_corrsglu[iring2][tmpsect-1]->Fill(hocorsig[fact*tmpeta+tmpphi]); 01410 } //m_combined #endif 01411 } 01412 01413 tmpeta = etamap[itag][npixriup[npixel]]; 01414 tmpphi = phimap[itag][npixriup[npixel]]; 01415 if (tmpeta>=0 && tmpphi >=0) { 01416 if (iflip !=0) tmpphi = abs(tmpphi-2); 01417 corrsgru[tmpeta1][tmpphi1]->Fill(hocorsig[fact*tmpeta+tmpphi]); 01418 allcorsig +=hocorsig[fact*tmpeta+tmpphi]; 01419 if (m_combined) { // #ifdef COMBINED 01420 com_corrsgru[iring2][tmpsect-1]->Fill(hocorsig[fact*tmpeta+tmpphi]); 01421 } //m_combined #endif 01422 } 01423 corrsgall[tmpeta1][tmpphi1]->Fill(allcorsig); 01424 if (m_combined) { // #ifdef COMBINED 01425 com_corrsgall[iring2][tmpsect-1]->Fill(allcorsig); 01426 } //m_combined #endif 01427 01428 01429 } //m_correl #endif 01430 for (int k=0; k<9; k++) { 01431 switch (iring) 01432 { 01433 case 2 : ho_sig2p[k]->Fill(hosig[k]); break; 01434 case 1 : ho_sig1p[k]->Fill(hosig[k]); break; 01435 case 0 : ho_sig00[k]->Fill(hosig[k]); break; 01436 case -1 : ho_sig1m[k]->Fill(hosig[k]); break; 01437 case -2 : ho_sig2m[k]->Fill(hosig[k]); break; 01438 } 01439 if (m_hbinfo) { // #ifdef HBINFO 01440 hbhe_sig[k]->Fill(hbhesig[k]); 01441 // cout <<"hbhe "<<k<<" "<<hbhesig[k]<<endl; 01442 } //m_hbinfo #endif 01443 } 01444 } //if (iselect==1) 01445 } //for (HOCalibVariableCollection::const_iterator hoC=(*HOCalib).begin(); hoC!=(*HOCalib).end(); hoC++){ 01446 01447 } //if (isCosMu) 01448 01449 #ifdef THIS_IS_AN_EVENT_EXAMPLE 01450 Handle<ExampleData> pIn; 01451 iEvent.getByLabel("example",pIn); 01452 #endif 01453 01454 #ifdef THIS_IS_AN_EVENTSETUP_EXAMPLE 01455 ESHandle<SetupData> pSetup; 01456 iSetup.get<SetupRecord>().get(pSetup); 01457 #endif 01458 }
void HOCalibAnalyzer::beginJob | ( | const edm::EventSetup & | ) | [private, virtual] |
Reimplemented from edm::EDAnalyzer.
Definition at line 1469 of file HOCalibAnalyzer.cc.
References funct::abs(), binwid, c1, c2, c3, com_corrsgall, com_corrsgc, com_corrsgl, com_corrsglb, com_corrsglu, com_corrsgr, com_corrsgrb, com_corrsgru, com_crossg, com_invang, com_sigrsg, const_eta, const_eta_phi, const_hpdrm, corrsgall, corrsgc, corrsgl, corrsglb, corrsglu, corrsgr, corrsgrb, corrsgru, GenMuonPlsPt100GeV_cfg::cout, crossg, diff, lat::endl(), err, error, fcnbg(), fcnsg(), fit_bkgevt, fit_chi, fit_sigevt, fitprm, gausX(), i, ietafit, invang, iphifit, irun, irunold, j, k, langaufun(), m_checkmap, m_combined, m_constant, m_correl, m_digiInput, m_figure, m_histfit, m_pedsuppr, max, mean(), mean_energy, mean_eta_ave, mean_phi_ave, mean_phi_hst, mncorrsgall, mncorrsgc, mncorrsgl, mncorrsglb, mncorrsglu, mncorrsgr, mncorrsgrb, mncorrsgru, mncrossg, mnsigrsg, name, nbgpr, nbn, neffip, netamx, nevcorrsgall, nevcorrsgc, nevcorrsgl, nevcorrsglb, nevcorrsglu, nevcorrsgr, nevcorrsgrb, nevcorrsgru, nevcrossg, nevsigrsg, nphimx, nsgpr, peak_eta, peak_hpdrm, ped_evt, ped_mean, ped_rms, ped_statmean, ped_width, funct::pow(), ringmx, rmscorrsgall, rmscorrsgc, rmscorrsgl, rmscorrsglb, rmscorrsglu, rmscorrsgr, rmscorrsgrb, rmscorrsgru, rmscrossg, rmssigrsg, rout12mx, routmx, sectmx, set_mean(), set_sigma(), sig_diff, sig_effi, sig_evt, sig_mean, sig_meanerr, sig_meanerrp, sig_reg, sig_rms, sig_sigma, sig_signf, sig_statmean, sig_width, signal, sigrsg, funct::sqrt(), stat_eta, statmn_eta, cmsRelvalreportInput::step, pyDBSRunClass::temp, theFile, theoutputpsFile, theoutputtxtFile, and totalfunc().
01469 { 01470 01471 theFile->cd(); 01472 01473 for (int i=0; i<nphimx; i++) { 01474 for (int j=0; j<netamx; j++) { 01475 01476 nevsigrsg->Fill(netamx*i+j, sigrsg[j][i]->GetEntries()); 01477 mnsigrsg->Fill(netamx*i+j, sigrsg[j][i]->GetMean()); 01478 rmssigrsg->Fill(netamx*i+j, sigrsg[j][i]->GetRMS()); 01479 01480 nevcrossg->Fill(netamx*i+j, crossg[j][i]->GetEntries()); 01481 mncrossg->Fill(netamx*i+j, crossg[j][i]->GetMean()); 01482 rmscrossg->Fill(netamx*i+j, crossg[j][i]->GetRMS()); 01483 01484 if (m_correl) { //#ifdef CORREL 01485 01486 nevcorrsglb->Fill(netamx*i+j, corrsglb[j][i]->GetEntries()); 01487 mncorrsglb->Fill(netamx*i+j, corrsglb[j][i]->GetMean()); 01488 rmscorrsglb->Fill(netamx*i+j, corrsglb[j][i]->GetRMS()); 01489 01490 nevcorrsgrb->Fill(netamx*i+j, corrsgrb[j][i]->GetEntries()); 01491 mncorrsgrb->Fill(netamx*i+j, corrsgrb[j][i]->GetMean()); 01492 rmscorrsgrb->Fill(netamx*i+j, corrsgrb[j][i]->GetRMS()); 01493 01494 nevcorrsglu->Fill(netamx*i+j, corrsglu[j][i]->GetEntries()); 01495 mncorrsglu->Fill(netamx*i+j, corrsglu[j][i]->GetMean()); 01496 rmscorrsglu->Fill(netamx*i+j, corrsglu[j][i]->GetRMS()); 01497 01498 nevcorrsgru->Fill(netamx*i+j, corrsgru[j][i]->GetEntries()); 01499 mncorrsgru->Fill(netamx*i+j, corrsgru[j][i]->GetMean()); 01500 rmscorrsgru->Fill(netamx*i+j, corrsgru[j][i]->GetRMS()); 01501 01502 nevcorrsgall->Fill(netamx*i+j, corrsgall[j][i]->GetEntries()); 01503 mncorrsgall->Fill(netamx*i+j, corrsgall[j][i]->GetMean()); 01504 rmscorrsgall->Fill(netamx*i+j, corrsgall[j][i]->GetRMS()); 01505 01506 nevcorrsgl->Fill(netamx*i+j, corrsgl[j][i]->GetEntries()); 01507 mncorrsgl->Fill(netamx*i+j, corrsgl[j][i]->GetMean()); 01508 rmscorrsgl->Fill(netamx*i+j, corrsgl[j][i]->GetRMS()); 01509 01510 nevcorrsgr->Fill(netamx*i+j, corrsgr[j][i]->GetEntries()); 01511 mncorrsgr->Fill(netamx*i+j, corrsgr[j][i]->GetMean()); 01512 rmscorrsgr->Fill(netamx*i+j, corrsgr[j][i]->GetRMS()); 01513 } //m_correl #endif 01514 if (m_checkmap) { //#ifdef CHECKMAP 01515 nevcorrsgc->Fill(netamx*i+j, corrsgc[j][i]->GetEntries()); 01516 mncorrsgc->Fill(netamx*i+j, corrsgc[j][i]->GetMean()); 01517 rmscorrsgc->Fill(netamx*i+j, corrsgc[j][i]->GetRMS()); 01518 } //m_checkmap #endif 01519 } 01520 } 01521 01522 if (m_combined) { // #ifdef COMBINED 01523 for (int j=0; j<ringmx; j++) { 01524 for (int i=0; i<routmx; i++) { 01525 if (j!=2 && i>=rout12mx) continue; 01526 nevsigrsg->Fill(netamx*nphimx+ringmx*i+j, com_sigrsg[j][i]->GetEntries()); 01527 mnsigrsg->Fill(netamx*nphimx+ringmx*i+j, com_sigrsg[j][i]->GetMean()); 01528 rmssigrsg->Fill(netamx*nphimx+ringmx*i+j, com_sigrsg[j][i]->GetRMS()); 01529 01530 nevcrossg->Fill(netamx*nphimx+ringmx*i+j, com_crossg[j][i]->GetEntries()); 01531 mncrossg->Fill(netamx*nphimx+ringmx*i+j, com_crossg[j][i]->GetMean()); 01532 rmscrossg->Fill(netamx*nphimx+ringmx*i+j, com_crossg[j][i]->GetRMS()); 01533 } 01534 } 01535 01536 for (int i=0; i<sectmx; i++) { 01537 for (int j=0; j<ringmx; j++) { 01538 if (m_correl) { // #ifdef CORREL 01539 nevcorrsglb->Fill(netamx*nphimx+ringmx*i+j, com_corrsglb[j][i]->GetEntries()); 01540 mncorrsglb->Fill(netamx*nphimx+ringmx*i+j, com_corrsglb[j][i]->GetMean()); 01541 rmscorrsglb->Fill(netamx*nphimx+ringmx*i+j, com_corrsglb[j][i]->GetRMS()); 01542 01543 nevcorrsgrb->Fill(netamx*nphimx+ringmx*i+j, com_corrsgrb[j][i]->GetEntries()); 01544 mncorrsgrb->Fill(netamx*nphimx+ringmx*i+j, com_corrsgrb[j][i]->GetMean()); 01545 rmscorrsgrb->Fill(netamx*nphimx+ringmx*i+j, com_corrsgrb[j][i]->GetRMS()); 01546 01547 nevcorrsglu->Fill(netamx*nphimx+ringmx*i+j, com_corrsglu[j][i]->GetEntries()); 01548 mncorrsglu->Fill(netamx*nphimx+ringmx*i+j, com_corrsglu[j][i]->GetMean()); 01549 rmscorrsglu->Fill(netamx*nphimx+ringmx*i+j, com_corrsglu[j][i]->GetRMS()); 01550 01551 nevcorrsgru->Fill(netamx*nphimx+ringmx*i+j, com_corrsgru[j][i]->GetEntries()); 01552 mncorrsgru->Fill(netamx*nphimx+ringmx*i+j, com_corrsgru[j][i]->GetMean()); 01553 rmscorrsgru->Fill(netamx*nphimx+ringmx*i+j, com_corrsgru[j][i]->GetRMS()); 01554 01555 nevcorrsgall->Fill(netamx*nphimx+ringmx*i+j, com_corrsgall[j][i]->GetEntries()); 01556 mncorrsgall->Fill(netamx*nphimx+ringmx*i+j, com_corrsgall[j][i]->GetMean()); 01557 rmscorrsgall->Fill(netamx*nphimx+ringmx*i+j, com_corrsgall[j][i]->GetRMS()); 01558 01559 nevcorrsgl->Fill(netamx*nphimx+ringmx*i+j, com_corrsgl[j][i]->GetEntries()); 01560 mncorrsgl->Fill(netamx*nphimx+ringmx*i+j, com_corrsgl[j][i]->GetMean()); 01561 rmscorrsgl->Fill(netamx*nphimx+ringmx*i+j, com_corrsgl[j][i]->GetRMS()); 01562 01563 nevcorrsgr->Fill(netamx*nphimx+ringmx*i+j, com_corrsgr[j][i]->GetEntries()); 01564 mncorrsgr->Fill(netamx*nphimx+ringmx*i+j, com_corrsgr[j][i]->GetMean()); 01565 rmscorrsgr->Fill(netamx*nphimx+ringmx*i+j, com_corrsgr[j][i]->GetRMS()); 01566 } //m_correl #endif 01567 if (m_checkmap) { // #ifdef CHECKMAP 01568 nevcorrsgc->Fill(netamx*nphimx+ringmx*i+j, com_corrsgc[j][i]->GetEntries()); 01569 mncorrsgc->Fill(netamx*nphimx+ringmx*i+j, com_corrsgc[j][i]->GetMean()); 01570 rmscorrsgc->Fill(netamx*nphimx+ringmx*i+j, com_corrsgc[j][i]->GetRMS()); 01571 } //m_checkmap #endif 01572 } 01573 } 01574 } //m_combined #endif 01575 01576 01577 for (int i=1; i<neffip; i++) { 01578 sig_effi[i]->Divide(sig_effi[0]); 01579 } 01580 for (int ij=0; ij<netamx; ij++) { 01581 for (int jk = 0; jk <nphimx; jk++) { 01582 int ieta = (ij<15) ? ij+1 : 14-ij; 01583 int iphi = jk+1; 01584 double signal = sigrsg[ij][jk]->GetMean(); 01585 mean_energy->Fill(ieta, iphi, signal); 01586 } 01587 } 01588 01589 int irunold = irun; 01590 01591 01592 gStyle->SetOptLogy(0); 01593 gStyle->SetTitleFillColor(10); 01594 gStyle->SetStatColor(10); 01595 01596 gStyle->SetCanvasColor(10); 01597 gStyle->SetOptStat(0); //1110); 01598 gStyle->SetOptTitle(1); 01599 01600 gStyle->SetTitleColor(10); 01601 gStyle->SetTitleFontSize(0.09); 01602 gStyle->SetTitleOffset(-0.05); 01603 gStyle->SetTitleBorderSize(1); 01604 01605 gStyle->SetPadColor(10); 01606 gStyle->SetPadBorderMode(0); 01607 gStyle->SetStatColor(10); 01608 gStyle->SetPadBorderMode(0); 01609 gStyle->SetStatBorderSize(1); 01610 gStyle->SetStatFontSize(.07); 01611 01612 gStyle->SetStatStyle(1001); 01613 gStyle->SetOptFit(101); 01614 gStyle->SetCanvasColor(10); 01615 gStyle->SetCanvasBorderMode(0); 01616 01617 gStyle->SetStatX(.99); 01618 gStyle->SetStatY(.99); 01619 gStyle->SetStatW(.45); 01620 gStyle->SetStatH(.16); 01621 gStyle->SetLabelSize(0.075,"XY"); 01622 gStyle->SetLabelOffset(0.21,"XYZ"); 01623 gStyle->SetTitleSize(0.065,"XY"); 01624 gStyle->SetTitleOffset(0.06,"XYZ"); 01625 gStyle->SetPadTopMargin(.09); 01626 gStyle->SetPadBottomMargin(0.11); 01627 gStyle->SetPadLeftMargin(0.12); 01628 gStyle->SetPadRightMargin(0.15); 01629 gStyle->SetPadGridX(3); 01630 gStyle->SetPadGridY(3); 01631 gStyle->SetGridStyle(2); 01632 gStyle->SetNdivisions(303,"XY"); 01633 01634 gStyle->SetMarkerSize(0.60); 01635 gStyle->SetMarkerColor(2); 01636 gStyle->SetMarkerStyle(20); 01637 gStyle->SetTitleFontSize(0.07); 01638 01639 char out_file[200]; 01640 int xsiz = 700; 01641 int ysiz = 500; 01642 01643 TCanvas *c2 = new TCanvas("c2", "Statistics and efficiency", xsiz, ysiz); 01644 c2->Divide(2,1); //(3,2); 01645 for (int ij=0; ij<neffip; ij=ij+3) { 01646 sig_effi[ij]->GetXaxis()->SetTitle("#eta"); 01647 sig_effi[ij]->GetXaxis()->SetTitleSize(0.075); 01648 sig_effi[ij]->GetXaxis()->SetTitleOffset(0.65); //0.85 01649 sig_effi[ij]->GetXaxis()->CenterTitle(); 01650 sig_effi[ij]->GetXaxis()->SetLabelSize(0.055); 01651 sig_effi[ij]->GetXaxis()->SetLabelOffset(0.001); 01652 01653 sig_effi[ij]->GetYaxis()->SetTitle("#phi"); 01654 sig_effi[ij]->GetYaxis()->SetTitleSize(0.075); 01655 sig_effi[ij]->GetYaxis()->SetTitleOffset(0.9); 01656 sig_effi[ij]->GetYaxis()->CenterTitle(); 01657 sig_effi[ij]->GetYaxis()->SetLabelSize(0.055); 01658 sig_effi[ij]->GetYaxis()->SetLabelOffset(0.01); 01659 01660 c2->cd(int(ij/3.)+1); sig_effi[ij]->Draw("colz"); 01661 } 01662 sprintf(out_file, "comb_hosig_evt_%i.jpg",irunold); 01663 c2->SaveAs(out_file); 01664 01665 gStyle->SetTitleFontSize(0.045); 01666 gStyle->SetPadRightMargin(0.1); 01667 gStyle->SetPadLeftMargin(0.1); 01668 gStyle->SetPadBottomMargin(0.12); 01669 01670 TCanvas *c1 = new TCanvas("c1", "Mean signal in each tower", xsiz, ysiz); 01671 01672 mean_energy->GetXaxis()->SetTitle("#eta"); 01673 mean_energy->GetXaxis()->SetTitleSize(0.075); 01674 mean_energy->GetXaxis()->SetTitleOffset(0.65); //0.6 01675 mean_energy->GetXaxis()->CenterTitle(); 01676 mean_energy->GetXaxis()->SetLabelSize(0.045); 01677 mean_energy->GetXaxis()->SetLabelOffset(0.001); 01678 01679 mean_energy->GetYaxis()->SetTitle("#phi"); 01680 mean_energy->GetYaxis()->SetTitleSize(0.075); 01681 mean_energy->GetYaxis()->SetTitleOffset(0.5); 01682 mean_energy->GetYaxis()->CenterTitle(); 01683 mean_energy->GetYaxis()->SetLabelSize(0.045); 01684 mean_energy->GetYaxis()->SetLabelOffset(0.01); 01685 01686 mean_energy->Draw("colz"); 01687 sprintf(out_file, "homean_energy_%i.jpg",irunold); 01688 c1->SaveAs(out_file); 01689 01690 delete c1; 01691 delete c2; 01692 01693 gStyle->SetPadBottomMargin(0.14); 01694 gStyle->SetPadLeftMargin(0.17); 01695 gStyle->SetPadRightMargin(0.03); 01696 01697 gStyle->SetOptStat(1110); 01698 01699 const int nsample =8; 01700 TF1* gx0[nsample]={0}; 01701 TF1* ped0fun[nsample]={0}; 01702 TF1* signal[nsample]={0}; 01703 TF1* pedfun[nsample]={0}; 01704 TF1* sigfun[nsample]={0}; 01705 TF1* signalx[nsample]={0}; 01706 01707 TH1F* signall[nsample]={0}; 01708 TH1F* pedstll[nsample]={0}; 01709 01710 if (m_constant) { 01711 01712 gStyle->SetOptFit(101); 01713 gStyle->SetCanvasBorderMode(0); 01714 gStyle->SetPadBorderMode(0); 01715 gStyle->SetStatBorderSize(1); 01716 gStyle->SetStatStyle(1001); 01717 gStyle->SetTitleColor(10); 01718 gStyle->SetTitleFontSize(0.09); 01719 gStyle->SetTitleOffset(-0.05); 01720 gStyle->SetTitleBorderSize(1); 01721 01722 gStyle->SetCanvasColor(10); 01723 gStyle->SetPadColor(10); 01724 gStyle->SetStatColor(10); 01725 gStyle->SetStatFontSize(.07); 01726 gStyle->SetStatX(0.99); 01727 gStyle->SetStatY(0.99); 01728 gStyle->SetStatW(0.30); 01729 gStyle->SetStatH(0.10); 01730 gStyle->SetTitleSize(0.065,"XYZ"); 01731 gStyle->SetLabelSize(0.075,"XYZ"); 01732 gStyle->SetLabelOffset(0.012,"XYZ"); 01733 gStyle->SetPadGridX(1); 01734 gStyle->SetPadGridY(1); 01735 gStyle->SetGridStyle(3); 01736 gStyle->SetNdivisions(101,"XY"); 01737 gStyle->SetOptLogy(0); 01738 int iiter = 0; 01739 01740 01741 ofstream file_out(theoutputtxtFile.c_str()); 01742 // TPostScript* ps=0; 01743 int ips=111; 01744 TPostScript ps(theoutputpsFile.c_str(),ips); 01745 ps.Range(20,28); 01746 01747 xsiz = 900; //900; 01748 ysiz = 1200; //600; 01749 TCanvas *c0 = new TCanvas("c0", " Pedestal vs signal", xsiz, ysiz); 01750 01751 float mean_eta[nphimx]; 01752 float mean_phi[netamx]; 01753 float rms_eta[nphimx]; 01754 float rms_phi[netamx]; 01755 01756 for (int ij=0; ij<nphimx; ij++) {mean_phi[ij] = rms_phi[ij] =0;} 01757 for (int ij=0; ij<netamx; ij++) {mean_eta[ij] = rms_eta[ij] =0;} 01758 01759 int mxeta = 0; 01760 int mxphi = 0; 01761 int mneta = 0; 01762 int mnphi = 0; 01763 01764 //iijj = 0 : Merging all ring 01765 // = 1 : Individual HPD 01766 //iijj = 2 : merging all phi 01767 // = 3 : Individual tower 01768 01769 for (int iijj = 0; iijj <4; iijj++) { 01770 // if ((!mx_combined) && iijj==1) continue; //Use this only for combined data 01771 if (iijj==0){ 01772 mxeta = ringmx; mxphi = 1; mneta = 0; mnphi = 0; 01773 } else if (iijj==1) { 01774 mxeta = ringmx; mxphi = routmx; 01775 mneta = 0; mnphi = 0; 01776 } else if (iijj==2) { 01777 mxeta = netamx; mxphi = 1; mneta = 0; mnphi = 0; 01778 } else if (iijj==3) { 01779 mxeta = netamx; mxphi = nphimx; 01780 mneta = 0; mnphi = 0; 01781 } 01782 01783 for (int jk=mneta; jk<mxeta; jk++) { 01784 for (int ij=mnphi; ij<mxphi; ij++) { 01785 if (iijj==1) continue; 01786 if ((iijj==0 || iijj==1) && jk !=2 && ij >=rout12mx) continue; 01787 int izone = iiter%nsample; 01788 01789 if (iijj==0) { 01790 int iread = (jk==2) ? routmx : rout12mx; 01791 signall[izone] = (TH1F*)com_sigrsg[jk][iread]->Clone("hnew"); 01792 pedstll[izone] = (TH1F*)com_crossg[jk][iread]->Clone("hnew"); 01793 } else if (iijj==1) { 01794 signall[izone] = (TH1F*)com_sigrsg[jk][ij]->Clone("hnew"); 01795 pedstll[izone] = (TH1F*)com_crossg[jk][ij]->Clone("hnew"); 01796 } else if (iijj==2) { 01797 signall[izone] = (TH1F*)sigrsg[jk][nphimx]->Clone("hnew"); 01798 pedstll[izone] = (TH1F*)crossg[jk][nphimx]->Clone("hnew"); 01799 } else if (iijj==3) { 01800 signall[izone] = (TH1F*)sigrsg[jk][ij]->Clone("hnew"); 01801 pedstll[izone] = (TH1F*)crossg[jk][ij]->Clone("hnew"); 01802 } 01803 01804 pedstll[izone]->SetLineWidth(2); 01805 signall[izone]->SetLineWidth(2); 01806 pedstll[izone]->SetLineColor(2); 01807 signall[izone]->SetLineColor(4); 01808 pedstll[izone]->SetNdivisions(506,"XY"); 01809 signall[izone]->SetNdivisions(506,"XY"); 01810 01811 signall[izone]->GetXaxis()->SetLabelSize(.065); 01812 signall[izone]->GetYaxis()->SetLabelSize(.06); 01813 if (m_digiInput) { 01814 signall[izone]->GetXaxis()->SetTitle("Signal (fC)"); 01815 } else { 01816 signall[izone]->GetXaxis()->SetTitle("Signal (GeV)"); 01817 } 01818 signall[izone]->GetXaxis()->SetTitleSize(.065); 01819 signall[izone]->GetXaxis()->CenterTitle(); 01820 01821 if (izone==0) { //iiter%8 ==0) { 01822 ps.NewPage(); 01823 c0->Divide(4,4); //c0->Divide(2,4); // c0->Divide(1,2); 01824 } 01825 c0->cd(2*izone+1); // (iiter%8)+1); //c0->cd(iiter%8+1); 01826 01827 /* 01828 if (iijj==0 && izone==0) { 01829 gStyle->SetOptLogy(1); 01830 gStyle->SetOptStat(0); 01831 gStyle->SetOptFit(0); 01832 c0->Divide(3,2); 01833 } 01834 01835 if (iijj>0) { 01836 gStyle->SetOptLogy(0); 01837 gStyle->SetOptStat(1110); 01838 gStyle->SetOptFit(101); 01839 01840 if (iiter==0) { 01841 int ips=111; 01842 ps = new TPostScript(theoutputpsFile.c_str(),ips); 01843 ps.Range(20,28); 01844 xsiz = 900; //900; 01845 ysiz = 1200; //600; 01846 c0 = new TCanvas("c0", " Pedestal vs signal", xsiz, ysiz); 01847 } 01848 if (izone==0) { 01849 ps.NewPage(); 01850 c0->Divide(4,4); 01851 } 01852 } 01853 if (iijj==0) {c0->cd(izone+1); } else { c0->cd(2*izone+1);} 01854 */ 01855 01856 float mean = pedstll[izone]->GetMean(); 01857 float rms = pedstll[izone]->GetRMS(); 01858 if (m_digiInput) { 01859 if (rms <0.6) rms = 0.6; 01860 if (rms >1.2) rms = 1.2; 01861 if (mean >1.2) mean = 1.2; 01862 if (mean <-1.2) mean = -1.2; 01863 } else { 01864 if (rms <0.10) rms = 0.10; 01865 if (rms >0.15) rms=0.15; 01866 if (mean >0.20) mean = 0.20; 01867 if (mean <-0.20) mean = -0.20; 01868 } 01869 float xmn = mean-6.*rms; 01870 float xmx = mean+6.*rms; 01871 01872 binwid = pedstll[izone]->GetBinWidth(1); 01873 if (xmx > pedstll[izone]->GetXaxis()->GetXmax()) xmx = pedstll[izone]->GetXaxis()->GetXmax()-0.5*binwid; 01874 if (xmn < pedstll[izone]->GetXaxis()->GetXmin()) xmn = pedstll[izone]->GetXaxis()->GetXmin()+0.5*binwid; 01875 01876 float height = pedstll[izone]->GetEntries(); 01877 01878 double par[nbgpr] ={height, mean, 0.75*rms}; 01879 01880 double gaupr[nbgpr]; 01881 double parer[nbgpr]; 01882 01883 ietafit = jk; 01884 iphifit = ij; 01885 pedstll[izone]->GetXaxis()->SetLabelSize(.065); 01886 pedstll[izone]->GetYaxis()->SetLabelSize(.06); 01887 01888 // if (iijj==0) { 01889 // pedstll[izone]->GetXaxis()->SetRangeUser(alow, ahigh); 01890 // } else { 01891 pedstll[izone]->GetXaxis()->SetRangeUser(xmn, xmx); 01892 // } 01893 01894 if (m_digiInput) { 01895 if (iijj==0) { 01896 pedstll[izone]->GetXaxis()->SetTitle("Pedestal/Signal (fC)"); 01897 } else { 01898 pedstll[izone]->GetXaxis()->SetTitle("Pedestal (fC)"); 01899 } 01900 } else { 01901 if (iijj==0) { 01902 pedstll[izone]->GetXaxis()->SetTitle("Pedestal/Signal (GeV)"); 01903 } else { 01904 pedstll[izone]->GetXaxis()->SetTitle("Pedestal (GeV)"); 01905 } 01906 } 01907 pedstll[izone]->GetXaxis()->SetTitleSize(.065); 01908 pedstll[izone]->GetXaxis()->CenterTitle(); 01909 // pedstll[izone]->SetLineWidth(2); 01910 01911 pedstll[izone]->Draw(); 01912 if (m_pedsuppr && !m_digiInput) { 01913 gaupr[0] = 0; 01914 gaupr[1] = 0.0; // pedmean[ietafit][iphifit]; 01915 if (m_digiInput) { 01916 gaupr[2] = 0.90; //GMA need from database pedwidth[ietafit][iphifit]; 01917 } else { 01918 gaupr[2] = 0.15; //GMA need from database 01919 } 01920 parer[0] = parer[1] = parer[2] = 0; 01921 } else { 01922 01923 if (pedstll[izone]->GetEntries() >5) { 01924 01925 if ((iijj!=3) || m_histfit) { 01926 char temp[20]; 01927 sprintf(temp, "gx0_%i",izone); 01928 gx0[izone] = new TF1(temp, gausX, xmn, xmx, nbgpr); 01929 gx0[izone]->SetParameters(par); 01930 gx0[izone]->SetLineWidth(1); 01931 pedstll[izone]->Fit(gx0[izone], "R+"); 01932 01933 for (int k=0; k<nbgpr; k++) { 01934 parer[k] = gx0[izone]->GetParError(k); 01935 gaupr[k] = gx0[izone]->GetParameter(k); 01936 } 01937 } else { 01938 double strt[nbgpr] = {height, mean, 0.75*rms}; 01939 double step[nbgpr] = {1.0, 0.001, 0.001}; 01940 double alowmn[nbgpr] = {0.5*height, mean-rms, 0.3*rms}; 01941 double ahighmn[nbgpr] ={1.5*height, mean+rms, 1.5*rms}; 01942 01943 TMinuit *gMinuit = new TMinuit(nbgpr); 01944 gMinuit->SetFCN(fcnbg); 01945 01946 double arglist[10]; 01947 int ierflg = 0; 01948 arglist[0] =0.5; 01949 gMinuit->mnexcm("SET ERR", arglist, 1, ierflg); 01950 char name[100]; 01951 for (int k=0; k<nbgpr; k++) { 01952 sprintf(name, "pedpar%i",k); 01953 gMinuit->mnparm(k, name, strt[k], step[k], alowmn[k], ahighmn[k],ierflg); 01954 } 01955 01956 arglist[0] = 0; 01957 gMinuit->mnexcm("SIMPLEX", arglist, 0, ierflg); 01958 01959 arglist[0] = 0; 01960 gMinuit->mnexcm("IMPROVE", arglist, 0, ierflg); 01961 01962 TString chnam; 01963 double parv,err,xlo,xup, plerr, mierr, eparab, gcc; 01964 int iuit; 01965 01966 for (int k=0; k<nbgpr; k++) { 01967 if (step[k] >-10) { 01968 gMinuit->mnpout(k, chnam, parv, err, xlo, xup, iuit); 01969 gMinuit->mnerrs(k, plerr, mierr, eparab, gcc); 01970 // cout <<"k "<< k<<" "<<chnam<<" "<<parv<<" "<<err<<" "<<xlo<<" "<<xup<<" "<<plerr<<" "<<mierr<<" "<<eparab<<endl; 01971 if (k==0) { 01972 gaupr[k] = parv*binwid; 01973 parer[k] = err*binwid; 01974 } else { 01975 gaupr[k] = parv; 01976 parer[k] = err; 01977 } 01978 } 01979 } 01980 01981 // gx0[izone]->SetParameters(gaupr); 01982 01983 char temp[20]; 01984 sprintf(temp, "ped0fun_%i",izone); 01985 ped0fun[izone] = new TF1(temp, gausX, xmn, xmx, nbgpr); 01986 ped0fun[izone]->SetParameters(gaupr); 01987 ped0fun[izone]->SetLineColor(3); 01988 ped0fun[izone]->SetLineWidth(1); 01989 ped0fun[izone]->Draw("same"); 01990 01991 delete gMinuit; 01992 } 01993 } else { 01994 for (int k=0; k<nbgpr; k++) {gaupr[k] = par[k]; } 01995 if (m_digiInput) { gaupr[2] = 0.90; } else { gaupr[2] = 0.15;} 01996 } 01997 } 01998 // if (iijj!=0) 01999 c0->cd(2*izone+2); 02000 if (signall[izone]->GetEntries() >5) { 02001 Double_t parall[nsgpr]; 02002 double parserr[nsgpr]; 02003 double fitres[nsgpr]; 02004 double pedht = 0; 02005 02006 char temp[20]; 02007 sprintf(temp, "signal_%i",izone); 02008 xmn = signall[izone]->GetXaxis()->GetXmin(); 02009 xmx = 0.5*signall[izone]->GetXaxis()->GetXmax(); 02010 signal[izone] = new TF1(temp, totalfunc, xmn, xmx, nsgpr); 02011 xmx *=2.0; 02012 if ((iijj!=3) || m_histfit) { 02013 pedht = (signall[izone]->GetBinContent(nbn-1)+ 02014 signall[izone]->GetBinContent(nbn)+ 02015 signall[izone]->GetBinContent(nbn+1))/3.; 02016 02017 if (m_pedsuppr && !m_digiInput) { 02018 parall[1] = 0.0; // pedmean[ietafit][iphifit]; 02019 if (m_digiInput) { parall[2] = 0.90; } else { parall[2] = 0.15;} 02020 } else { 02021 for (int i=0; i<nbgpr; i++) {parall[i] = gaupr[i];} 02022 } 02023 02024 set_mean(parall[1], m_digiInput); 02025 set_sigma(parall[2], m_digiInput); 02026 02027 parall[0] = 0.9*pedht; //GM for Z-mumu, there is almost no pedestal 02028 parall[3] = 0.14; 02029 double area = binwid*signall[izone]->GetEntries(); 02030 parall[5]= area; 02031 02032 if (iijj==3) { 02033 parall[4] = fitprm[4][jk]; 02034 parall[6] = fitprm[6][jk]; 02035 } else { 02036 parall[4] = signall[izone]->GetMean(); 02037 parall[6]=parall[2]; 02038 } 02039 02040 signal[izone]->SetParameters(parall); 02041 signal[izone]->FixParameter(1, parall[1]); 02042 signal[izone]->FixParameter(2, parall[2]); 02043 signal[izone]->SetParLimits(0, 0.00, 2.0*pedht+0.1); 02044 signal[izone]->FixParameter(3, 0.14); 02045 02046 signal[izone]->SetParLimits(5, 0.40*area, 1.15*area); 02047 // if (m_histfit) { //GMA 02048 if (iijj==3) { 02049 signal[izone]->SetParLimits(4, 0.2*fitprm[4][jk], 2.0*fitprm[4][jk]); 02050 signal[izone]->SetParLimits(6, 0.2*fitprm[6][jk], 2.0*fitprm[6][jk]); 02051 } else { 02052 if (m_digiInput) { 02053 signal[izone]->SetParLimits(4, 0.6, 6.0); 02054 signal[izone]->SetParLimits(6, 0.60, 3.0); 02055 } else { 02056 signal[izone]->SetParLimits(4, 0.1, 1.0); 02057 signal[izone]->SetParLimits(6, 0.035, 0.3); 02058 } 02059 } 02060 signal[izone]->SetParNames("const", "mean", "sigma","Width","MP","Area","GSigma"); 02061 signall[izone]->Fit(signal[izone], "0R+"); 02062 02063 signall[izone]->GetXaxis()->SetRangeUser(xmn,xmx); 02064 for (int k=0; k<nsgpr; k++) { 02065 fitres[k] = fitprm[k][jk] = signal[izone]->GetParameter(k); 02066 parserr[k] = signal[izone]->GetParError(k); 02067 } 02068 02069 } else { 02070 double pedhtx = 0; 02071 for (unsigned i =0; i<sig_reg[ietafit][iphifit].size(); i++) { 02072 if (sig_reg[ietafit][iphifit][i] >gaupr[1]-3*gaupr[2] && sig_reg[ietafit][iphifit][i]<gaupr[1]+gaupr[2]) pedhtx++; 02073 } 02074 02075 set_mean(gaupr[1], m_digiInput); 02076 set_sigma(gaupr[2], m_digiInput); 02077 02078 TString name[nsgpr] = {"const", "mean", "sigma","Width","MP","Area","GSigma"}; 02079 double strt[nsgpr] = {0.9*pedhtx, gaupr[1], gaupr[2], fitprm[3][jk], fitprm[4][jk], signall[izone]->GetEntries(), fitprm[6][jk]}; 02080 double alowmn[nsgpr] = {0.1*pedhtx-0.1, gaupr[1]-0.1, gaupr[2]-0.1,0.07, 0.2*strt[4], 0.1*strt[5], 0.2*strt[6]}; 02081 double ahighmn[nsgpr] ={1.2*pedhtx+0.1, gaupr[1]+0.1, gaupr[2]+0.1,0.20, 2.5*strt[4], 1.5*strt[5], 2.2*strt[6]}; 02082 double step[nsgpr] = {1.0, 0.0, 0.0, 0.0, 0.001, 1.0, 0.002}; 02083 02084 TMinuit *gMinuit = new TMinuit(nsgpr); 02085 gMinuit->SetFCN(fcnsg); 02086 02087 double arglist[10]; 02088 int ierflg = 0; 02089 arglist[0] =0.5; 02090 gMinuit->mnexcm("SET ERR", arglist, 1, ierflg); 02091 02092 for (int k=0; k<nsgpr; k++) { 02093 gMinuit->mnparm(k, name[k], strt[k], step[k], alowmn[k], ahighmn[k],ierflg); 02094 } 02095 02096 arglist[0] = 0; 02097 gMinuit->mnexcm("SIMPLEX", arglist, 0, ierflg); 02098 02099 arglist[0] = 0; 02100 gMinuit->mnexcm("IMPROVE", arglist, 0, ierflg); 02101 02102 TString chnam; 02103 double parv,err,xlo,xup, plerr, mierr, eparab, gcc; 02104 int iuit; 02105 02106 for (int k=0; k<nsgpr; k++) { 02107 if (step[k] >-10) { 02108 gMinuit->mnpout(k, chnam, parv, err, xlo, xup, iuit); 02109 gMinuit->mnerrs(k, plerr, mierr, eparab, gcc); 02110 if (k==0 || k==5) { 02111 fitres[k] = parv*binwid; 02112 parserr[k]= err*binwid; 02113 } else { 02114 fitres[k] = parv; 02115 parserr[k]= err; 02116 } 02117 02118 } 02119 } 02120 02121 delete gMinuit; 02122 } 02123 02124 // if (iijj==0) { 02125 // signall[izone]->Draw("same"); 02126 // } else { 02127 signall[izone]->Draw(); 02128 // } 02129 02130 sprintf(temp, "pedfun_%i",izone); 02131 pedfun[izone] = new TF1(temp, gausX, xmn, xmx, nbgpr); 02132 pedfun[izone]->SetParameters(fitres); 02133 pedfun[izone]->SetLineColor(3); 02134 pedfun[izone]->SetLineWidth(1); 02135 pedfun[izone]->Draw("same"); 02136 02137 sprintf(temp, "signalfun_%i",izone); 02138 sigfun[izone] = new TF1(temp, langaufun, xmn, xmx, nsgpr-nbgpr); 02139 sigfun[izone]->SetParameters(&fitres[3]); 02140 sigfun[izone]->SetLineWidth(1); 02141 sigfun[izone]->SetLineColor(4); 02142 sigfun[izone]->Draw("same"); 02143 02144 sprintf(temp, "total_%i",izone); 02145 signalx[izone] = new TF1(temp, totalfunc, xmn, xmx, nsgpr); 02146 signalx[izone]->SetParameters(fitres); 02147 signalx[izone]->SetLineWidth(1); 02148 signalx[izone]->Draw("same"); 02149 02150 int kl = (jk<15) ? jk+1 : 14-jk; 02151 02152 cout<<"histinfo"<<iijj<<" fit " 02153 <<std::setw(3)<< kl<<" " 02154 <<std::setw(3)<< ij+1<<" " 02155 <<std::setw(5)<<pedstll[izone]->GetEntries()<<" " 02156 <<std::setw(6)<<pedstll[izone]->GetMean()<<" " 02157 <<std::setw(6)<<pedstll[izone]->GetRMS()<<" " 02158 <<std::setw(5)<<signall[izone]->GetEntries()<<" " 02159 <<std::setw(6)<<signall[izone]->GetMean()<<" " 02160 <<std::setw(6)<<signall[izone]->GetRMS()<<" " 02161 <<std::setw(6)<< signal[izone]->GetChisquare()<<" " 02162 <<std::setw(3)<< signal[izone]->GetNDF()<<endl; 02163 02164 file_out<<"histinfo"<<iijj<<" fit " 02165 <<std::setw(3)<< kl<<" " 02166 <<std::setw(3)<< ij+1<<" " 02167 <<std::setw(5)<<pedstll[izone]->GetEntries()<<" " 02168 <<std::setw(6)<<pedstll[izone]->GetMean()<<" " 02169 <<std::setw(6)<<pedstll[izone]->GetRMS()<<" " 02170 <<std::setw(5)<<signall[izone]->GetEntries()<<" " 02171 <<std::setw(6)<<signall[izone]->GetMean()<<" " 02172 <<std::setw(6)<<signall[izone]->GetRMS()<<" " 02173 <<std::setw(6)<< signal[izone]->GetChisquare()<<" " 02174 <<std::setw(3)<< signal[izone]->GetNDF()<<endl; 02175 02176 file_out <<"fitres x"<<iijj<<" "<<kl<<" "<<ij+1<<" "<< fitres[0]<<" "<< fitres[1]<<" "<< fitres[2]<<" "<< fitres[3]<<" "<< fitres[4]<<" "<< fitres[5]<<" "<< fitres[6]<<endl; 02177 file_out <<"parserr"<<iijj<<" "<<kl<<" "<<ij+1<<" "<< parserr[0]<<" "<< parserr[1]<<" "<< parserr[2]<<" "<< parserr[3]<<" "<< parserr[4]<<" "<< parserr[5]<<" "<< parserr[6]<<endl; 02178 02179 double diff=fitres[4]-fitres[1]; 02180 if (diff <=0) diff = 0.000001; 02181 double error=parserr[4]*parserr[4]+parer[2]*parer[2]; 02182 error = pow(error,0.5); 02183 02184 int ieta = (jk<15) ? (15+jk) : (29-jk); 02185 int ifl = nphimx*ieta + ij; 02186 02187 if (iijj==3) { 02188 ped_evt->Fill(ifl,pedstll[izone]->GetEntries()); 02189 ped_mean->Fill(ifl,gaupr[1]); 02190 ped_width->Fill(ifl,gaupr[2]); 02191 fit_chi->Fill(ifl,signal[izone]->GetChisquare()); 02192 sig_evt->Fill(ifl, signall[izone]->GetEntries()); 02193 fit_sigevt->Fill(ifl, fitres[5]); 02194 fit_bkgevt->Fill(ifl, fitres[0]*sqrt(2*acos(-1.))*gaupr[2]); 02195 sig_mean->Fill(ifl, fitres[4]); 02196 sig_diff->Fill(ifl, fitres[4]-fitres[1]); 02197 sig_width->Fill(ifl, fitres[3]); 02198 sig_sigma->Fill(ifl, fitres[6]); 02199 sig_meanerr->Fill(ifl, parserr[4]); 02200 if (fitres[4]-fitres[1] !=0) sig_meanerrp->Fill(ifl, 100*parserr[4]/(fitres[4]-fitres[1])); 02201 if (gaupr[2]!=0) sig_signf->Fill(ifl,(fitres[4]-fitres[1])/gaupr[2]); 02202 02203 ped_statmean->Fill(ifl,pedstll[izone]->GetMean()); 02204 sig_statmean->Fill(ifl,signall[izone]->GetMean()); 02205 ped_rms->Fill(ifl,pedstll[izone]->GetRMS()); 02206 sig_rms->Fill(ifl,signall[izone]->GetRMS()); 02207 } 02208 02209 if ((iijj==2) || (iijj==3) || (iijj==1)) { 02210 if (signall[izone]->GetEntries() >5 && fitres[4]>0.1) { 02211 //GMA need to put this==1 in future 02212 float fact=0.812; 02213 if (abs(kl)<=4) fact=0.895; 02214 if (!m_digiInput) fact *=0.19; //conversion factor for GeV/fC 02215 02216 float fact2 = 0; 02217 if (iijj==2) fact2 = invang[jk][nphimx]; 02218 if (iijj==3) fact2 = invang[jk][ij]; 02219 if (iijj==1) fact2 = com_invang[jk][ij]; 02220 02221 float calibc = fact*fact2/(fitres[4]*signall[izone]->GetEntries()); 02222 float caliberr= TMath::Abs(calibc*parserr[4]/max(0.001,fitres[4])); 02223 02224 if (iijj==2) { 02225 int ieta = (jk<15) ? jk+1 : 14-jk; 02226 mean_phi_hst->Fill(ieta, calibc); 02227 mean_phi_hst->SetBinError(mean_phi_hst->FindBin(ieta), caliberr); 02228 file_out<<"intieta "<<jk<<" "<<ij<<" "<<ieta<<" "<<mean_phi_hst->FindBin(double(ieta))<<" "<<calibc<<" "<<caliberr<<endl; 02229 } else if (iijj==3) { 02230 const_eta[jk]->Fill(ij+1,calibc); 02231 const_eta[jk]->SetBinError(const_eta[jk]->FindBin(ij+1), caliberr); 02232 02233 peak_eta[jk]->Fill(ij+1,fitres[4]); 02234 peak_eta[jk]->SetBinError(peak_eta[jk]->FindBin(ij+1),parserr[4]); 02235 02236 int ieta = (jk<15) ? jk+1 : 14-jk; 02237 const_eta_phi->Fill(ieta, ij+1,calibc); 02238 file_out<<"intietax "<<jk<<" "<<ij<<" "<<ieta<<" "<<const_eta_phi->FindBin(ieta, ij+1)<<endl; 02239 if (caliberr >0) { 02240 const_eta_phi->SetBinError(const_eta_phi->FindBin(ieta, ij+1),caliberr); 02241 02242 mean_eta[ij] +=calibc/(caliberr*caliberr); 02243 mean_phi[jk] +=calibc/(caliberr*caliberr); 02244 02245 rms_eta[ij] +=1./(caliberr*caliberr); 02246 rms_phi[jk] +=1./(caliberr*caliberr); 02247 02248 } else { 02249 const_eta_phi->SetBinError(const_eta_phi->FindBin(ieta, ij+1), 0.0); 02250 } 02251 } else if (iijj==1) { 02252 const_hpdrm[jk]->Fill(ij+1,calibc); 02253 const_hpdrm[jk]->SetBinError(const_hpdrm[jk]->FindBin(ij+1), caliberr); 02254 02255 peak_hpdrm[jk]->Fill(ij+1,fitres[4]); 02256 peak_hpdrm[jk]->SetBinError(peak_hpdrm[jk]->FindBin(ij+1),parserr[4]); 02257 } 02258 02259 file_out<<"HO 4 "<<iijj<<" "<< std::setw(3)<<kl<<" "<<std::setw(3)<<ij+1<<" " 02260 <<std::setw(7)<<calibc<<" "<<std::setw(7)<<caliberr<<endl; 02261 } 02262 } 02263 02264 } else { //if (signall[izone]->GetEntries() >10) { 02265 signall[izone]->Draw(); 02266 float varx = 0.000; 02267 int kl = (jk<15) ? jk+1 : 14-jk; 02268 file_out<<"histinfo"<<iijj<<" nof " 02269 <<std::setw(3)<< kl<<" " 02270 <<std::setw(3)<< ij+1<<" " 02271 <<std::setw(5)<<pedstll[izone]->GetEntries()<<" " 02272 <<std::setw(6)<<pedstll[izone]->GetMean()<<" " 02273 <<std::setw(6)<<pedstll[izone]->GetRMS()<<" " 02274 <<std::setw(5)<<signall[izone]->GetEntries()<<" " 02275 <<std::setw(6)<<signall[izone]->GetMean()<<" " 02276 <<std::setw(6)<<signall[izone]->GetRMS()<<" " 02277 <<std::setw(6)<< varx<<" " 02278 <<std::setw(3)<< varx<<endl; 02279 02280 file_out <<"fitres x"<<iijj<<" "<<kl<<" "<<ij+1<<" "<< varx<<" "<< varx<<" "<< varx<<" "<< varx<<" "<< varx<<" "<< varx<<" "<< varx<<endl; 02281 file_out <<"parserr"<<iijj<<" "<<kl<<" "<<ij+1<<" "<< varx<<" "<< varx<<" "<< varx<<" "<< varx<<" "<< varx<<" "<< varx<<" "<< varx<<endl; 02282 02283 } 02284 iiter++; 02285 if (iiter%nsample==0) { 02286 c0->Update(); 02287 02288 for (int kl=0; kl<nsample; kl++) { 02289 if (gx0[kl]) {delete gx0[kl];gx0[kl] = 0;} 02290 if (ped0fun[kl]) {delete ped0fun[kl];ped0fun[kl] = 0;} 02291 if (signal[kl]) {delete signal[kl];signal[kl] = 0;} 02292 if (pedfun[kl]) {delete pedfun[kl];pedfun[kl] = 0;} 02293 if (sigfun[kl]) {delete sigfun[kl];sigfun[kl] = 0;} 02294 if (signalx[kl]) {delete signalx[kl];signalx[kl] = 0;} 02295 if (signall[kl]) {delete signall[kl];signall[kl] = 0;} 02296 if (pedstll[kl]) {delete pedstll[kl];pedstll[kl] = 0;} 02297 } 02298 02299 } 02300 } //for (int jk=0; jk<netamx; jk++) { 02301 } //for (int ij=0; ij<nphimx; ij++) { 02302 02303 // if (iijj==0) { 02304 // sprintf(out_file, "comb_hosig_allring_%i.jpg", irunold); 02305 // c0->SaveAs(out_file); 02306 // iiter = 0; 02307 // } else { 02308 // // c0->Update(); 02309 // } 02310 02311 // iiter = 0; 02312 } //end of iijj 02313 if (iiter%nsample!=0) { 02314 c0->Update(); 02315 for (int kl=0; kl<nsample; kl++) { 02316 if (gx0[kl]) {delete gx0[kl];gx0[kl] = 0;} 02317 if (ped0fun[kl]) {delete ped0fun[kl];ped0fun[kl] = 0;} 02318 if (signal[kl]) {delete signal[kl];signal[kl] = 0;} 02319 if (pedfun[kl]) {delete pedfun[kl];pedfun[kl] = 0;} 02320 if (sigfun[kl]) {delete sigfun[kl];sigfun[kl] = 0;} 02321 if (signalx[kl]) {delete signalx[kl];signalx[kl] = 0;} 02322 if (signall[kl]) {delete signall[kl];signall[kl] = 0;} 02323 if (pedstll[kl]) {delete pedstll[kl];pedstll[kl] = 0;} 02324 } 02325 } 02326 02327 delete c0; 02328 02329 xsiz = 600; //int xsiz = 600; 02330 ysiz = 800; //int ysiz = 800; 02331 02332 gStyle->SetTitleFontSize(0.05); 02333 gStyle->SetTitleSize(0.025,"XYZ"); 02334 gStyle->SetLabelSize(0.025,"XYZ"); 02335 gStyle->SetStatFontSize(.045); 02336 02337 gStyle->SetOptStat(0); 02338 ps.NewPage(); TCanvas *c1 = new TCanvas("c1", " Pedestal vs signal", xsiz, ysiz); 02339 ped_evt->Draw(); c1->Update(); 02340 02341 ps.NewPage(); 02342 ped_statmean->Draw(); c1->Update(); 02343 02344 ps.NewPage(); 02345 ped_rms->Draw(); c1->Update(); 02346 02347 ps.NewPage(); 02348 ped_mean->Draw(); c1->Update(); 02349 02350 ps.NewPage(); 02351 ped_width->Draw(); c1->Update(); 02352 02353 ps.NewPage(); 02354 sig_evt->Draw(); c1->Update(); 02355 02356 ps.NewPage(); 02357 sig_statmean->Draw(); c1->Update(); 02358 02359 ps.NewPage(); 02360 sig_rms->Draw(); c1->Update(); 02361 02362 ps.NewPage(); 02363 fit_chi->Draw(); c1->Update(); 02364 02365 ps.NewPage(); 02366 fit_sigevt->Draw(); c1->Update(); 02367 02368 ps.NewPage(); 02369 fit_bkgevt->Draw(); c1->Update(); 02370 02371 ps.NewPage(); 02372 sig_mean->Draw(); c1->Update(); 02373 02374 ps.NewPage(); 02375 sig_width->Draw(); c1->Update(); 02376 02377 ps.NewPage(); 02378 sig_sigma->Draw(); c1->Update(); 02379 02380 ps.NewPage(); 02381 sig_meanerr->Draw(); c1->Update(); 02382 02383 ps.NewPage(); 02384 sig_meanerrp->Draw(); c1->Update(); 02385 02386 ps.NewPage(); 02387 sig_signf->Draw(); c1->Update(); 02388 02389 ps.Close(); 02390 delete c1; 02391 02392 file_out.close(); 02393 02394 if (m_figure) { 02395 xsiz = 700; 02396 ysiz = 450; 02397 02398 gStyle->SetTitleFontSize(0.09); 02399 gStyle->SetPadBottomMargin(0.17); 02400 gStyle->SetPadLeftMargin(0.18); 02401 gStyle->SetPadRightMargin(0.01); 02402 gStyle->SetOptLogy(0); 02403 gStyle->SetOptStat(0); 02404 02405 TCanvas *c2 = new TCanvas("c2", "runfile", xsiz, ysiz); 02406 c2->Divide(5,3); 02407 02408 for (int side=0; side <2; side++) { 02409 gStyle->SetNdivisions(303,"XY"); 02410 gStyle->SetPadRightMargin(0.01); 02411 int nmn = 0; 02412 int nmx = netamx/2; 02413 if (side==1) { 02414 nmn = netamx/2; 02415 nmx = netamx; 02416 } 02417 02418 int nzone = 0; 02419 02420 for (int ij=nmn; ij<nmx; ij++) { 02421 02422 c2->cd(nzone+1); 02423 const_eta[ij]->GetXaxis()->SetTitle("#phi index"); 02424 const_eta[ij]->GetXaxis()->SetTitleSize(.08); 02425 const_eta[ij]->GetXaxis()->CenterTitle(); 02426 const_eta[ij]->GetXaxis()->SetTitleOffset(0.9); 02427 const_eta[ij]->GetXaxis()->SetLabelSize(.085); 02428 const_eta[ij]->GetXaxis()->SetLabelOffset(.01); 02429 02430 const_eta[ij]->GetYaxis()->SetLabelSize(.08); 02431 const_eta[ij]->GetYaxis()->SetLabelOffset(.01); 02432 if (m_digiInput) { 02433 const_eta[ij]->GetYaxis()->SetTitle("GeV/fC"); 02434 } else { 02435 const_eta[ij]->GetYaxis()->SetTitle("GeV/MIP-GeV!!"); 02436 } 02437 02438 const_eta[ij]->GetYaxis()->SetTitleSize(.085); 02439 const_eta[ij]->GetYaxis()->CenterTitle(); 02440 const_eta[ij]->GetYaxis()->SetTitleOffset(1.3); 02441 const_eta[ij]->SetMarkerSize(0.60); 02442 const_eta[ij]->SetMarkerColor(2); 02443 const_eta[ij]->SetMarkerStyle(20); 02444 02445 02446 const_eta[ij]->Draw(); 02447 nzone++; 02448 } 02449 02450 sprintf(out_file, "calibho_%i_side%i.eps", irunold, side); 02451 c2->SaveAs(out_file); 02452 02453 sprintf(out_file, "calibho_%i_side%i.jpg", irunold, side); 02454 c2->SaveAs(out_file); 02455 02456 nzone = 0; 02457 for (int ij=nmn; ij<nmx; ij++) { 02458 c2->cd(nzone+1); 02459 peak_eta[ij]->GetXaxis()->SetTitle("#phi index"); 02460 peak_eta[ij]->GetXaxis()->SetTitleSize(.08); 02461 peak_eta[ij]->GetXaxis()->CenterTitle(); 02462 peak_eta[ij]->GetXaxis()->SetTitleOffset(0.90); 02463 peak_eta[ij]->GetXaxis()->SetLabelSize(.08); 02464 peak_eta[ij]->GetXaxis()->SetLabelOffset(.01); 02465 02466 peak_eta[ij]->GetYaxis()->SetLabelSize(.08); 02467 peak_eta[ij]->GetYaxis()->SetLabelOffset(.01); 02468 if (m_digiInput) { 02469 peak_eta[ij]->GetYaxis()->SetTitle("fC"); 02470 } else { 02471 peak_eta[ij]->GetYaxis()->SetTitle("GeV"); 02472 } 02473 02474 peak_eta[ij]->GetYaxis()->SetTitleSize(.085); 02475 peak_eta[ij]->GetYaxis()->CenterTitle(); 02476 peak_eta[ij]->GetYaxis()->SetTitleOffset(1.3); 02477 02478 peak_eta[ij]->SetMarkerSize(0.60); 02479 peak_eta[ij]->SetMarkerColor(2); 02480 peak_eta[ij]->SetMarkerStyle(20); 02481 02482 peak_eta[ij]->Draw(); 02483 nzone++; 02484 } 02485 02486 sprintf(out_file, "peakho_%i_side%i.eps", irunold, side); 02487 c2->SaveAs(out_file); 02488 02489 sprintf(out_file, "peakho_%i_side%i.jpg", irunold, side); 02490 c2->SaveAs(out_file); 02491 } 02492 delete c2; 02493 02494 // if (m_combined) { 02495 gStyle->SetTitleFontSize(0.045); 02496 gStyle->SetPadRightMargin(0.13); 02497 gStyle->SetPadBottomMargin(0.15); 02498 gStyle->SetPadLeftMargin(0.1); 02499 gStyle->SetOptStat(0); 02500 xsiz = 700; 02501 ysiz = 600; 02502 TCanvas *c1 = new TCanvas("c1", "Fitted const in each tower", xsiz, ysiz); 02503 const_eta_phi->GetXaxis()->SetTitle("#eta"); 02504 const_eta_phi->GetXaxis()->SetTitleSize(0.065); 02505 const_eta_phi->GetXaxis()->SetTitleOffset(0.85); //6); 02506 const_eta_phi->GetXaxis()->CenterTitle(); 02507 const_eta_phi->GetXaxis()->SetLabelSize(0.045); 02508 const_eta_phi->GetXaxis()->SetLabelOffset(0.01); 02509 02510 const_eta_phi->GetYaxis()->SetTitle("#phi"); 02511 const_eta_phi->GetYaxis()->SetTitleSize(0.075); 02512 const_eta_phi->GetYaxis()->SetTitleOffset(0.5); 02513 const_eta_phi->GetYaxis()->CenterTitle(); 02514 const_eta_phi->GetYaxis()->SetLabelSize(0.045); 02515 const_eta_phi->GetYaxis()->SetLabelOffset(0.01); 02516 02517 const_eta_phi->Draw("colz"); 02518 sprintf(out_file, "high_hoconst_eta_phi_%i.jpg",irunold); 02519 c1->SaveAs(out_file); 02520 02521 delete c1; 02522 02523 for (int jk=0; jk<netamx; jk++) { 02524 int ieta = (jk<15) ? jk+1 : 14-jk; 02525 if (rms_phi[jk]>0) { 02526 mean_phi_ave->Fill(ieta, mean_phi[jk]/rms_phi[jk]); 02527 mean_phi_ave->SetBinError(mean_phi_ave->FindBin(ieta), pow(double(rms_phi[jk]), -0.5)); 02528 } 02529 } 02530 02531 for (int ij=0; ij<nphimx; ij++) { 02532 if (rms_eta[ij] >0) { 02533 mean_eta_ave->Fill(ij+1, mean_eta[ij]/rms_eta[ij]); 02534 mean_eta_ave->SetBinError(mean_eta_ave->FindBin(ij+1), pow(double(rms_eta[ij]), -0.5)); 02535 } 02536 } 02537 02538 ysiz =450; 02539 gStyle->SetPadLeftMargin(0.13); 02540 gStyle->SetPadRightMargin(0.03); 02541 02542 02543 TCanvas *c2y = new TCanvas("c2", "Avearge signal in eta and phi", xsiz, ysiz); 02544 c2y->Divide(2,1); 02545 mean_eta_ave->GetXaxis()->SetTitle("#phi"); 02546 mean_eta_ave->GetXaxis()->SetTitleSize(0.085); 02547 mean_eta_ave->GetXaxis()->SetTitleOffset(0.65); 02548 mean_eta_ave->GetXaxis()->CenterTitle(); 02549 mean_eta_ave->GetXaxis()->SetLabelSize(0.05); 02550 mean_eta_ave->GetXaxis()->SetLabelOffset(0.001); 02551 02552 mean_eta_ave->GetYaxis()->SetTitle("Signal (GeV)/MIP"); 02553 mean_eta_ave->GetYaxis()->SetTitleSize(0.055); 02554 mean_eta_ave->GetYaxis()->SetTitleOffset(1.3); 02555 mean_eta_ave->GetYaxis()->CenterTitle(); 02556 mean_eta_ave->GetYaxis()->SetLabelSize(0.045); 02557 mean_eta_ave->GetYaxis()->SetLabelOffset(0.01); 02558 mean_eta_ave->SetMarkerSize(0.60); 02559 mean_eta_ave->SetMarkerColor(2); 02560 mean_eta_ave->SetMarkerStyle(20); 02561 02562 c2y->cd(1); mean_eta_ave->Draw(); 02563 02564 mean_phi_ave->GetXaxis()->SetTitle("#eta"); 02565 mean_phi_ave->GetXaxis()->SetTitleSize(0.085); 02566 mean_phi_ave->GetXaxis()->SetTitleOffset(0.65); //55); 02567 mean_phi_ave->GetXaxis()->CenterTitle(); 02568 mean_phi_ave->GetXaxis()->SetLabelSize(0.05); 02569 mean_phi_ave->GetXaxis()->SetLabelOffset(0.001); 02570 02571 mean_phi_ave->GetYaxis()->SetTitle("Signal (GeV)/MIP"); 02572 mean_phi_ave->GetYaxis()->SetTitleSize(0.055); 02573 mean_phi_ave->GetYaxis()->SetTitleOffset(1.3); 02574 mean_phi_ave->GetYaxis()->CenterTitle(); 02575 mean_phi_ave->GetYaxis()->SetLabelSize(0.045); 02576 mean_phi_ave->GetYaxis()->SetLabelOffset(0.01); 02577 mean_phi_ave->SetMarkerSize(0.60); 02578 mean_phi_ave->SetMarkerColor(2); 02579 mean_phi_ave->SetMarkerStyle(20); 02580 02581 c2y->cd(2); mean_phi_ave->Draw(); 02582 02583 sprintf(out_file, "high_hoaverage_eta_phi_%i.jpg",irunold); 02584 c2y->SaveAs(out_file); 02585 02586 delete c2y; 02587 // } else { //m_combined 02588 02589 xsiz = 800; 02590 ysiz = 450; 02591 TCanvas *c3 = new TCanvas("c3", "Avearge signal in eta and phi", xsiz, ysiz); 02592 c3->Divide(2,1); 02593 mean_phi_hst->GetXaxis()->SetTitle("#eta"); 02594 mean_phi_hst->GetXaxis()->SetTitleSize(0.065); 02595 mean_phi_hst->GetXaxis()->SetTitleOffset(0.9); 02596 mean_phi_hst->GetXaxis()->CenterTitle(); 02597 mean_phi_hst->GetXaxis()->SetLabelSize(0.065); 02598 mean_phi_hst->GetXaxis()->SetLabelOffset(0.001); 02599 02600 mean_phi_hst->GetYaxis()->SetTitle("GeV/MIP"); 02601 mean_phi_hst->GetYaxis()->SetTitleSize(0.055); 02602 mean_phi_hst->GetYaxis()->SetTitleOffset(0.9); 02603 mean_phi_hst->GetYaxis()->CenterTitle(); 02604 mean_phi_hst->GetYaxis()->SetLabelSize(0.065); 02605 mean_phi_hst->GetYaxis()->SetLabelOffset(0.01); 02606 02607 mean_phi_hst->SetMarkerColor(4); 02608 mean_phi_hst->SetMarkerSize(0.8); 02609 mean_phi_hst->SetMarkerStyle(20); 02610 mean_phi_hst->Draw(); 02611 02612 sprintf(out_file, "low_mean_phi_hst_%i.jpg",irunold); 02613 c3->SaveAs(out_file); 02614 02615 delete c3; 02616 02617 // } //m_combined 02618 02619 02620 gStyle->SetOptLogy(1); 02621 gStyle->SetPadTopMargin(.1); 02622 gStyle->SetPadLeftMargin(.15); 02623 xsiz = 800; 02624 ysiz = 500; 02625 TCanvas *c0x = new TCanvas("c0x", "Signal in each ring", xsiz, ysiz); 02626 02627 c0x->Divide(3,2); 02628 for (int ij=0; ij<ringmx; ij++) { 02629 int iread = (ij==2) ? routmx : rout12mx; 02630 if (m_digiInput) { 02631 com_sigrsg[ij][iread]->GetXaxis()->SetTitle("Signal/ped (fC)"); 02632 } else { 02633 com_sigrsg[ij][iread]->GetXaxis()->SetTitle("Signal/ped (GeV)"); 02634 } 02635 com_sigrsg[ij][iread]->GetXaxis()->SetTitleSize(0.060); 02636 com_sigrsg[ij][iread]->GetXaxis()->SetTitleOffset(1.05); 02637 com_sigrsg[ij][iread]->GetXaxis()->CenterTitle(); 02638 com_sigrsg[ij][iread]->GetXaxis()->SetLabelSize(0.065); 02639 com_sigrsg[ij][iread]->GetXaxis()->SetLabelOffset(0.01); 02640 02641 com_sigrsg[ij][iread]->GetYaxis()->SetLabelSize(0.065); 02642 com_sigrsg[ij][iread]->GetYaxis()->SetLabelOffset(0.01); 02643 02644 02645 com_sigrsg[ij][iread]->SetLineWidth(3); 02646 com_sigrsg[ij][iread]->SetLineColor(4); 02647 02648 c0x->cd(ij+1); com_sigrsg[ij][iread]->Draw(); 02649 02650 com_crossg[ij][iread]->SetLineWidth(2); 02651 com_crossg[ij][iread]->SetLineColor(2); 02652 com_crossg[ij][iread]->Draw("same"); 02653 } 02654 sprintf(out_file, "hosig_ring_%i.jpg",irunold); 02655 c0x->SaveAs(out_file); 02656 delete c0x; 02657 02658 gStyle->SetTitleFontSize(0.06); 02659 gStyle->SetOptStat(0); 02660 gStyle->SetOptLogy(0); 02661 02662 TCanvas *c0 = new TCanvas("c0", "Signal in each ring", xsiz, ysiz); 02663 02664 c0->Divide(3,2); 02665 for (int jk=0; jk<ringmx; jk++) { 02666 peak_hpdrm[jk]->GetXaxis()->SetTitle("RM #"); 02667 peak_hpdrm[jk]->GetXaxis()->SetTitleSize(0.070); 02668 peak_hpdrm[jk]->GetXaxis()->SetTitleOffset(1.0); 02669 peak_hpdrm[jk]->GetXaxis()->CenterTitle(); 02670 peak_hpdrm[jk]->GetXaxis()->SetLabelSize(0.065); 02671 peak_hpdrm[jk]->GetXaxis()->SetLabelOffset(0.01); 02672 02673 peak_hpdrm[jk]->GetYaxis()->SetTitle("Peak(GeV)/MIP"); 02674 02675 peak_hpdrm[jk]->GetYaxis()->SetTitleSize(0.07); 02676 peak_hpdrm[jk]->GetYaxis()->SetTitleOffset(1.3); 02677 peak_hpdrm[jk]->GetYaxis()->CenterTitle(); 02678 peak_hpdrm[jk]->GetYaxis()->SetLabelSize(0.065); 02679 peak_hpdrm[jk]->GetYaxis()->SetLabelOffset(0.01); 02680 // peak_hpdrm[jk]->SetLineWidth(3); 02681 // peak_hpdrm[jk]->SetLineColor(4); 02682 peak_hpdrm[jk]->SetMarkerSize(0.60); 02683 peak_hpdrm[jk]->SetMarkerColor(2); 02684 peak_hpdrm[jk]->SetMarkerStyle(20); 02685 02686 02687 c0->cd(jk+1); peak_hpdrm[jk]->Draw(); 02688 } 02689 sprintf(out_file, "comb_peak_hpdrm_%i.jpg",irunold); 02690 c0->SaveAs(out_file); 02691 02692 delete c0; 02693 02694 TCanvas *c1y = new TCanvas("c1y", "Signal in each ring", xsiz, ysiz); 02695 02696 c1y->Divide(3,2); 02697 for (int jk=0; jk<ringmx; jk++) { 02698 const_hpdrm[jk]->GetXaxis()->SetTitle("RM #"); 02699 const_hpdrm[jk]->GetXaxis()->SetTitleSize(0.070); 02700 const_hpdrm[jk]->GetXaxis()->SetTitleOffset(1.3); 02701 const_hpdrm[jk]->GetXaxis()->CenterTitle(); 02702 const_hpdrm[jk]->GetXaxis()->SetLabelSize(0.065); 02703 const_hpdrm[jk]->GetXaxis()->SetLabelOffset(0.01); 02704 02705 if (m_digiInput) { 02706 const_hpdrm[jk]->GetYaxis()->SetTitle("Peak(fC)"); 02707 } else { 02708 const_hpdrm[jk]->GetYaxis()->SetTitle("Peak(GeV)"); 02709 } 02710 const_hpdrm[jk]->GetYaxis()->SetTitleSize(0.065); 02711 const_hpdrm[jk]->GetYaxis()->SetTitleOffset(1.0); 02712 const_hpdrm[jk]->GetYaxis()->CenterTitle(); 02713 const_hpdrm[jk]->GetYaxis()->SetLabelSize(0.065); 02714 const_hpdrm[jk]->GetYaxis()->SetLabelOffset(0.01); 02715 // const_hpdrm[jk]->SetLineWidth(3); 02716 // const_hpdrm[jk]->SetLineColor(4); 02717 const_hpdrm[jk]->SetMarkerSize(0.60); 02718 const_hpdrm[jk]->SetMarkerColor(2); 02719 const_hpdrm[jk]->SetMarkerStyle(20); 02720 02721 c1y->cd(jk+1); const_hpdrm[jk]->Draw(); 02722 } 02723 02724 sprintf(out_file, "comb_const_hpdrm_%i.jpg",irunold); 02725 c1y->SaveAs(out_file); 02726 02727 delete c1y; 02728 02729 } //if (m_figure) { 02730 02731 // ps.Close(); 02732 // file_out.close(); 02733 02734 }// if (m_constant){ 02735 02736 02737 if (m_figure) { 02738 for (int ij=0; ij<nphimx; ij++) { 02739 for (int jk=0; jk<netamx; jk++) { 02740 stat_eta[jk]->Fill(ij+1,sigrsg[jk][ij]->GetEntries()); 02741 statmn_eta[jk]->Fill(ij+1,sigrsg[jk][ij]->GetMean()); 02742 } 02743 } 02744 02745 xsiz = 700; 02746 ysiz = 450; 02747 gStyle->SetTitleFontSize(0.09); 02748 gStyle->SetPadBottomMargin(0.14); 02749 gStyle->SetPadLeftMargin(0.17); 02750 gStyle->SetPadRightMargin(0.01); 02751 gStyle->SetNdivisions(303,"XY"); 02752 gStyle->SetOptLogy(1); 02753 02754 TCanvas *c2x = new TCanvas("c2x", "runfile", xsiz, ysiz); 02755 c2x->Divide(5,3); 02756 for (int side=0; side <2; side++) { 02757 int nmn = 0; 02758 int nmx = netamx/2; 02759 if (side==1) { 02760 nmn = netamx/2; 02761 nmx = netamx; 02762 } 02763 int nzone = 0; 02764 char name[200]; 02765 02766 for (int ij=nmn; ij<nmx; ij++) { 02767 int ieta = (ij<15) ? ij+1 : 14-ij; 02768 c2x->cd(nzone+1); 02769 if (m_digiInput) { 02770 sprintf(name,"fC(#eta=%i)",ieta); 02771 } else { 02772 sprintf(name,"GeV(#eta=%i)",ieta); 02773 } 02774 sigrsg[ij][nphimx]->GetXaxis()->SetTitle(name); 02775 sigrsg[ij][nphimx]->GetXaxis()->SetTitleSize(.08); 02776 sigrsg[ij][nphimx]->GetXaxis()->CenterTitle(); 02777 sigrsg[ij][nphimx]->GetXaxis()->SetTitleOffset(0.90); 02778 sigrsg[ij][nphimx]->GetXaxis()->SetLabelSize(.08); 02779 sigrsg[ij][nphimx]->GetXaxis()->SetLabelOffset(.01); 02780 02781 sigrsg[ij][nphimx]->GetYaxis()->SetLabelSize(.08); 02782 sigrsg[ij][nphimx]->GetYaxis()->SetLabelOffset(.01); 02783 sigrsg[ij][nphimx]->SetLineWidth(2); 02784 sigrsg[ij][nphimx]->SetLineColor(4); 02785 sigrsg[ij][nphimx]->Draw(); 02786 crossg[ij][nphimx]->SetLineWidth(2); 02787 crossg[ij][nphimx]->SetLineColor(2); 02788 crossg[ij][nphimx]->Draw("same"); 02789 nzone++; 02790 } 02791 02792 sprintf(out_file, "sig_ho_%i_side%i.eps", irunold, side); 02793 c2x->SaveAs(out_file); 02794 02795 sprintf(out_file, "sig_ho_%i_side%i.jpg", irunold, side); 02796 c2x->SaveAs(out_file); 02797 } 02798 02799 gStyle->SetOptLogy(0); 02800 c2x = new TCanvas("c2x", "runfile", xsiz, ysiz); 02801 c2x->Divide(5,3); 02802 for (int side=0; side <2; side++) { 02803 int nmn = 0; 02804 int nmx = netamx/2; 02805 if (side==1) { 02806 nmn = netamx/2; 02807 nmx = netamx; 02808 } 02809 int nzone = 0; 02810 02811 nzone = 0; 02812 for (int ij=nmn; ij<nmx; ij++) { 02813 c2x->cd(nzone+1); 02814 statmn_eta[ij]->SetLineWidth(2); 02815 statmn_eta[ij]->SetLineColor(4); 02816 statmn_eta[ij]->GetXaxis()->SetTitle("#phi index"); 02817 statmn_eta[ij]->GetXaxis()->SetTitleSize(.08); 02818 statmn_eta[ij]->GetXaxis()->CenterTitle(); 02819 statmn_eta[ij]->GetXaxis()->SetTitleOffset(0.9); 02820 statmn_eta[ij]->GetYaxis()->SetLabelSize(.08); 02821 statmn_eta[ij]->GetYaxis()->SetLabelOffset(.01); 02822 statmn_eta[ij]->GetXaxis()->SetLabelSize(.08); 02823 statmn_eta[ij]->GetXaxis()->SetLabelOffset(.01); 02824 if (m_digiInput) { 02825 statmn_eta[ij]->GetYaxis()->SetTitle("fC"); 02826 } else { 02827 statmn_eta[ij]->GetYaxis()->SetTitle("GeV"); 02828 } 02829 statmn_eta[ij]->GetYaxis()->SetTitleSize(.075); 02830 statmn_eta[ij]->GetYaxis()->CenterTitle(); 02831 statmn_eta[ij]->GetYaxis()->SetTitleOffset(1.30); 02832 02833 statmn_eta[ij]->Draw(); 02834 nzone++; 02835 } 02836 02837 sprintf(out_file, "statmnho_%i_side%i.eps", irunold, side); 02838 c2x->SaveAs(out_file); 02839 02840 sprintf(out_file, "statmnho_%i_side%i.jpg", irunold, side); 02841 c2x->SaveAs(out_file); 02842 02843 gStyle->SetOptLogy(1); 02844 gStyle->SetNdivisions(203,"XY"); 02845 02846 nzone = 0; 02847 for (int ij=nmn; ij<nmx; ij++) { 02848 c2x->cd(nzone+1); 02849 stat_eta[ij]->SetLineWidth(2); 02850 stat_eta[ij]->SetLineColor(4); 02851 stat_eta[ij]->GetXaxis()->SetTitle("#phi index"); 02852 stat_eta[ij]->GetXaxis()->SetTitleSize(.08); 02853 stat_eta[ij]->GetXaxis()->CenterTitle(); 02854 stat_eta[ij]->GetXaxis()->SetTitleOffset(0.80); 02855 stat_eta[ij]->GetXaxis()->SetLabelSize(.08); 02856 stat_eta[ij]->GetXaxis()->SetLabelOffset(.01); 02857 stat_eta[ij]->GetYaxis()->SetLabelSize(.08); 02858 stat_eta[ij]->GetYaxis()->SetLabelOffset(.01); 02859 02860 stat_eta[ij]->Draw(); 02861 nzone++; 02862 } 02863 02864 sprintf(out_file, "statho_%i_side%i.eps", irunold, side); 02865 c2x->SaveAs(out_file); 02866 02867 sprintf(out_file, "statho_%i_side%i.jpg", irunold, side); 02868 c2x->SaveAs(out_file); 02869 } 02870 delete c2x; 02871 02872 } //if (m_figure) { 02873 02874 if (!m_constant) { //m_constant 02875 for (int j=0; j<netamx; j++) { 02876 for (int i=0; i<nphimx; i++) { 02877 if (crossg[j][i]) { delete crossg[j][i];} 02878 if (sigrsg[j][i]) { delete sigrsg[j][i];} 02879 } 02880 } 02881 } 02882 }
float HOCalibAnalyzer::ahigh [private] |
float HOCalibAnalyzer::alow [private] |
float HOCalibAnalyzer::binwid [private] |
float HOCalibAnalyzer::caloen[3] [private] |
float HOCalibAnalyzer::chisq [private] |
TH1F* HOCalibAnalyzer::com_corrsgall[ringmx][sectmx] [private] |
Definition at line 366 of file HOCalibAnalyzer.cc.
Referenced by analyze(), endJob(), and HOCalibAnalyzer().
TH1F* HOCalibAnalyzer::com_corrsgc[ringmx][sectmx] [private] |
Definition at line 372 of file HOCalibAnalyzer.cc.
Referenced by analyze(), endJob(), and HOCalibAnalyzer().
TH1F* HOCalibAnalyzer::com_corrsgl[ringmx][sectmx] [private] |
Definition at line 368 of file HOCalibAnalyzer.cc.
Referenced by analyze(), endJob(), and HOCalibAnalyzer().
TH1F* HOCalibAnalyzer::com_corrsglb[ringmx][sectmx] [private] |
Definition at line 362 of file HOCalibAnalyzer.cc.
Referenced by analyze(), endJob(), and HOCalibAnalyzer().
TH1F* HOCalibAnalyzer::com_corrsglu[ringmx][sectmx] [private] |
Definition at line 364 of file HOCalibAnalyzer.cc.
Referenced by analyze(), endJob(), and HOCalibAnalyzer().
TH1F* HOCalibAnalyzer::com_corrsgr[ringmx][sectmx] [private] |
Definition at line 369 of file HOCalibAnalyzer.cc.
Referenced by analyze(), endJob(), and HOCalibAnalyzer().
TH1F* HOCalibAnalyzer::com_corrsgrb[ringmx][sectmx] [private] |
Definition at line 363 of file HOCalibAnalyzer.cc.
Referenced by analyze(), endJob(), and HOCalibAnalyzer().
TH1F* HOCalibAnalyzer::com_corrsgru[ringmx][sectmx] [private] |
Definition at line 365 of file HOCalibAnalyzer.cc.
Referenced by analyze(), endJob(), and HOCalibAnalyzer().
TH1F* HOCalibAnalyzer::com_crossg[ringmx][routmx+1] [private] |
Definition at line 376 of file HOCalibAnalyzer.cc.
Referenced by analyze(), endJob(), and HOCalibAnalyzer().
TProfile* HOCalibAnalyzer::com_hbtime[ringmx][sectmx] [private] |
TProfile* HOCalibAnalyzer::com_hopedtime[ringmx][sectmx] [private] |
TProfile* HOCalibAnalyzer::com_hotime[ringmx][sectmx] [private] |
float HOCalibAnalyzer::com_invang[ringmx][routmx+1] [private] |
Definition at line 377 of file HOCalibAnalyzer.cc.
Referenced by analyze(), endJob(), and HOCalibAnalyzer().
TH1F* HOCalibAnalyzer::com_sigrsg[ringmx][routmx+1] [private] |
Definition at line 375 of file HOCalibAnalyzer.cc.
Referenced by analyze(), endJob(), and HOCalibAnalyzer().
TH1F* HOCalibAnalyzer::const_eta[netamx] [private] |
TH2F* HOCalibAnalyzer::const_eta_phi [private] |
TH1F* HOCalibAnalyzer::const_hpdrm[ringmx] [private] |
TH1F* HOCalibAnalyzer::corrsgall[netamx][nphimx] [private] |
Definition at line 282 of file HOCalibAnalyzer.cc.
Referenced by analyze(), endJob(), and HOCalibAnalyzer().
TH1F* HOCalibAnalyzer::corrsgc[netamx][nphimx] [private] |
Definition at line 316 of file HOCalibAnalyzer.cc.
Referenced by analyze(), endJob(), and HOCalibAnalyzer().
TH1F* HOCalibAnalyzer::corrsgl[netamx][nphimx] [private] |
Definition at line 284 of file HOCalibAnalyzer.cc.
Referenced by analyze(), endJob(), and HOCalibAnalyzer().
TH1F* HOCalibAnalyzer::corrsglb[netamx][nphimx] [private] |
Definition at line 278 of file HOCalibAnalyzer.cc.
Referenced by analyze(), endJob(), and HOCalibAnalyzer().
TH1F* HOCalibAnalyzer::corrsglu[netamx][nphimx] [private] |
Definition at line 280 of file HOCalibAnalyzer.cc.
Referenced by analyze(), endJob(), and HOCalibAnalyzer().
TH1F* HOCalibAnalyzer::corrsgr[netamx][nphimx] [private] |
Definition at line 285 of file HOCalibAnalyzer.cc.
Referenced by analyze(), endJob(), and HOCalibAnalyzer().
TH1F* HOCalibAnalyzer::corrsgrb[netamx][nphimx] [private] |
Definition at line 279 of file HOCalibAnalyzer.cc.
Referenced by analyze(), endJob(), and HOCalibAnalyzer().
TH1F* HOCalibAnalyzer::corrsgru[netamx][nphimx] [private] |
Definition at line 281 of file HOCalibAnalyzer.cc.
Referenced by analyze(), endJob(), and HOCalibAnalyzer().
TH1F* HOCalibAnalyzer::crossg[netamx][nphimx+1] [private] |
Definition at line 324 of file HOCalibAnalyzer.cc.
Referenced by analyze(), endJob(), and HOCalibAnalyzer().
TH1F* HOCalibAnalyzer::fit_bkgevt [private] |
TH1F* HOCalibAnalyzer::fit_chi [private] |
TH1F* HOCalibAnalyzer::fit_sigevt [private] |
double HOCalibAnalyzer::fitprm[nsgpr][netamx] [private] |
TH1F* HOCalibAnalyzer::hbhe_sig[9] [private] |
float HOCalibAnalyzer::hbhesig[9] [private] |
TProfile* HOCalibAnalyzer::hbtime[netamx][nphimx] [private] |
TH1F* HOCalibAnalyzer::ho_sig00[9] [private] |
TH1F* HOCalibAnalyzer::ho_sig1m[9] [private] |
TH1F* HOCalibAnalyzer::ho_sig1p[9] [private] |
TH1F* HOCalibAnalyzer::ho_sig2m[9] [private] |
TH1F* HOCalibAnalyzer::ho_sig2p[9] [private] |
float HOCalibAnalyzer::hoang [private] |
float HOCalibAnalyzer::hocorsig[18] [private] |
float HOCalibAnalyzer::hocro [private] |
float HOCalibAnalyzer::hodx [private] |
float HOCalibAnalyzer::hody [private] |
TProfile* HOCalibAnalyzer::hopedtime[netamx][nphimx] [private] |
float HOCalibAnalyzer::hosig[9] [private] |
TProfile* HOCalibAnalyzer::hotime[netamx][nphimx] [private] |
float HOCalibAnalyzer::htime [private] |
int HOCalibAnalyzer::ievt [private] |
float HOCalibAnalyzer::invang[netamx][nphimx+1] [private] |
Definition at line 325 of file HOCalibAnalyzer.cc.
Referenced by analyze(), endJob(), and HOCalibAnalyzer().
int HOCalibAnalyzer::ipass [private] |
Definition at line 251 of file HOCalibAnalyzer.cc.
Referenced by analyze(), HOCalibAnalyzer(), and ~HOCalibAnalyzer().
int HOCalibAnalyzer::irun [private] |
Definition at line 428 of file HOCalibAnalyzer.cc.
Referenced by analyze(), endJob(), and HOCalibAnalyzer().
int HOCalibAnalyzer::irunold [private] |
int HOCalibAnalyzer::isect [private] |
int HOCalibAnalyzer::itrg1 [private] |
int HOCalibAnalyzer::itrg2 [private] |
bool HOCalibAnalyzer::m_checkmap [private] |
Definition at line 238 of file HOCalibAnalyzer.cc.
Referenced by analyze(), endJob(), and HOCalibAnalyzer().
bool HOCalibAnalyzer::m_combined [private] |
Definition at line 240 of file HOCalibAnalyzer.cc.
Referenced by analyze(), endJob(), and HOCalibAnalyzer().
bool HOCalibAnalyzer::m_constant [private] |
bool HOCalibAnalyzer::m_correl [private] |
Definition at line 237 of file HOCalibAnalyzer.cc.
Referenced by analyze(), endJob(), and HOCalibAnalyzer().
bool HOCalibAnalyzer::m_cosmic [private] |
bool HOCalibAnalyzer::m_digiInput [private] |
Definition at line 243 of file HOCalibAnalyzer.cc.
Referenced by analyze(), endJob(), and HOCalibAnalyzer().
bool HOCalibAnalyzer::m_figure [private] |
bool HOCalibAnalyzer::m_hbinfo [private] |
bool HOCalibAnalyzer::m_hbtime [private] |
bool HOCalibAnalyzer::m_histfit [private] |
Definition at line 245 of file HOCalibAnalyzer.cc.
Referenced by analyze(), endJob(), and HOCalibAnalyzer().
bool HOCalibAnalyzer::m_hotime [private] |
bool HOCalibAnalyzer::m_pedsuppr [private] |
double HOCalibAnalyzer::m_sigma [private] |
TH2F* HOCalibAnalyzer::mean_energy [private] |
TH1F* HOCalibAnalyzer::mean_eta_ave [private] |
TH1F* HOCalibAnalyzer::mean_phi_ave [private] |
TH1F* HOCalibAnalyzer::mean_phi_hst [private] |
TH1F* HOCalibAnalyzer::mncorrsgall [private] |
TH1F* HOCalibAnalyzer::mncorrsgc [private] |
TH1F* HOCalibAnalyzer::mncorrsgl [private] |
TH1F* HOCalibAnalyzer::mncorrsglb [private] |
TH1F* HOCalibAnalyzer::mncorrsglu [private] |
TH1F* HOCalibAnalyzer::mncorrsgr [private] |
TH1F* HOCalibAnalyzer::mncorrsgrb [private] |
TH1F* HOCalibAnalyzer::mncorrsgru [private] |
TH1F* HOCalibAnalyzer::mncrossg [private] |
TH1F* HOCalibAnalyzer::mnsigrsg [private] |
TH1F* HOCalibAnalyzer::muonch [private] |
TH1F* HOCalibAnalyzer::muonmm [private] |
TH1F* HOCalibAnalyzer::muonnm [private] |
TH1F* HOCalibAnalyzer::muonph [private] |
TH1F* HOCalibAnalyzer::muonth [private] |
int HOCalibAnalyzer::nbn [private] |
const int HOCalibAnalyzer::ncut = 13 [static, private] |
int HOCalibAnalyzer::ndof [private] |
const int HOCalibAnalyzer::neffip = 6 [static, private] |
Definition at line 352 of file HOCalibAnalyzer.cc.
Referenced by analyze(), endJob(), and HOCalibAnalyzer().
TH1F* HOCalibAnalyzer::nevcorrsgall [private] |
TH1F* HOCalibAnalyzer::nevcorrsgc [private] |
TH1F* HOCalibAnalyzer::nevcorrsgl [private] |
TH1F* HOCalibAnalyzer::nevcorrsglb [private] |
TH1F* HOCalibAnalyzer::nevcorrsglu [private] |
TH1F* HOCalibAnalyzer::nevcorrsgr [private] |
TH1F* HOCalibAnalyzer::nevcorrsgrb [private] |
TH1F* HOCalibAnalyzer::nevcorrsgru [private] |
TH1F* HOCalibAnalyzer::nevcrossg [private] |
int HOCalibAnalyzer::Nevents [private] |
TH1F* HOCalibAnalyzer::nevsigrsg [private] |
int HOCalibAnalyzer::nmuon [private] |
TH1F* HOCalibAnalyzer::peak_eta[netamx] [private] |
TH1F* HOCalibAnalyzer::peak_hpdrm[ringmx] [private] |
TH1F* HOCalibAnalyzer::ped_evt [private] |
TH1F* HOCalibAnalyzer::ped_mean [private] |
TH1F* HOCalibAnalyzer::ped_rms [private] |
TH1F* HOCalibAnalyzer::ped_statmean [private] |
TH1F* HOCalibAnalyzer::ped_width [private] |
float HOCalibAnalyzer::pherr [private] |
const int HOCalibAnalyzer::ringmx = 5 [static, private] |
TH1F* HOCalibAnalyzer::rmscorrsgall [private] |
TH1F* HOCalibAnalyzer::rmscorrsgc [private] |
TH1F* HOCalibAnalyzer::rmscorrsgl [private] |
TH1F* HOCalibAnalyzer::rmscorrsglb [private] |
TH1F* HOCalibAnalyzer::rmscorrsglu [private] |
TH1F* HOCalibAnalyzer::rmscorrsgr [private] |
TH1F* HOCalibAnalyzer::rmscorrsgrb [private] |
TH1F* HOCalibAnalyzer::rmscorrsgru [private] |
TH1F* HOCalibAnalyzer::rmscrossg [private] |
TH1F* HOCalibAnalyzer::rmssigrsg [private] |
const int HOCalibAnalyzer::rout12mx = 24 [static, private] |
Definition at line 351 of file HOCalibAnalyzer.cc.
Referenced by analyze(), endJob(), and HOCalibAnalyzer().
const int HOCalibAnalyzer::routmx = 36 [static, private] |
Definition at line 350 of file HOCalibAnalyzer.cc.
Referenced by analyze(), endJob(), and HOCalibAnalyzer().
const int HOCalibAnalyzer::sectmx = 12 [static, private] |
TH1F* HOCalibAnalyzer::sel_muonch [private] |
TH1F* HOCalibAnalyzer::sel_muonmm [private] |
TH1F* HOCalibAnalyzer::sel_muonnm [private] |
TH1F* HOCalibAnalyzer::sel_muonph [private] |
TH1F* HOCalibAnalyzer::sel_muonth [private] |
TH1F* HOCalibAnalyzer::sig_diff [private] |
TH2F* HOCalibAnalyzer::sig_effi[neffip] [private] |
Definition at line 418 of file HOCalibAnalyzer.cc.
Referenced by analyze(), endJob(), and HOCalibAnalyzer().
TH1F* HOCalibAnalyzer::sig_evt [private] |
TH1F* HOCalibAnalyzer::sig_mean [private] |
TH1F* HOCalibAnalyzer::sig_meanerr [private] |
TH1F* HOCalibAnalyzer::sig_meanerrp [private] |
TH1F* HOCalibAnalyzer::sig_rms [private] |
TH1F* HOCalibAnalyzer::sig_sigma [private] |
TH1F* HOCalibAnalyzer::sig_signf [private] |
TH1F* HOCalibAnalyzer::sig_statmean [private] |
TH1F* HOCalibAnalyzer::sig_width [private] |
TH1F* HOCalibAnalyzer::sigrsg[netamx][nphimx+1] [private] |
Definition at line 323 of file HOCalibAnalyzer.cc.
Referenced by analyze(), endJob(), and HOCalibAnalyzer().
TProfile* HOCalibAnalyzer::sigvsevt[15][ncut] [private] |
TH1F* HOCalibAnalyzer::stat_eta[netamx] [private] |
TH1F* HOCalibAnalyzer::statmn_eta[netamx] [private] |
TTree* HOCalibAnalyzer::T1 [private] |
TFile* HOCalibAnalyzer::theFile [private] |
Definition at line 230 of file HOCalibAnalyzer.cc.
Referenced by endJob(), HOCalibAnalyzer(), and ~HOCalibAnalyzer().
std::string HOCalibAnalyzer::theoutputpsFile [private] |
std::string HOCalibAnalyzer::theoutputtxtFile [private] |
std::string HOCalibAnalyzer::theRootFileName [private] |
float HOCalibAnalyzer::therr [private] |
float HOCalibAnalyzer::trkdr [private] |
float HOCalibAnalyzer::trkdz [private] |
float HOCalibAnalyzer::trkmm [private] |
float HOCalibAnalyzer::trkph [private] |
float HOCalibAnalyzer::trkth [private] |
float HOCalibAnalyzer::trkvx [private] |
float HOCalibAnalyzer::trkvy [private] |
float HOCalibAnalyzer::trkvz [private] |