51 #include "TPostScript.h"
74 static const int mapx1[6][3]={{1,4,8}, {12,7,3}, {5,9,13}, {11,6,2}, {16,15,14}, {19,18,17}};
76 static const int mapx2[6][3]={{1,4,8}, {12,7,3}, {5,9,13}, {11,6,2}, {16,15,14}, {-1,-1,-1}};
78 static const int mapx0p[9][2]={{3,1}, {7,4}, {6,5}, {12,8}, {0,0}, {11,9}, {16,13}, {15,14}, {19,17}};
79 static const int mapx0m[9][2]={{17,19}, {14,15}, {13,16}, {9,11}, {0,0}, {8,12}, {5,6}, {4,7}, {1,3}};
81 static const 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},
82 {-1, 0,3,1, 0,2,3, 1,0,2, -1, 3,1,2, 4,4,4, 5,5,5, -1},
83 {-1, 0,-1,0, 1,2,2, 1,3,5, -1, 5,3,6, 7,7,6, 8,-1,8, -1},
84 {-1, 8,-1,8, 7,6,6, 7,5,3, -1, 3,5,2, 1,1,2, 0,-1,0, -1}};
86 static const 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},
87 {-1, 0,2,2, 1,0,1, 1,2,1, -1, 0,0,2, 2,1,0, 2,1,0, -1},
88 {-1, 1,-1,0, 1,1,0, 0,1,1, -1, 0,0,1, 1,0,0, 1,-1,0, -1},
89 {-1, 0,-1,1, 0,0,1, 1,0,0, -1, 1,1,0, 0,1,1, 0,-1,1, -1}};
92 static const int npixleft[21]={0, 0, 1, 2, 0, 4, 5, 6, 0, 8, 0, 0,11, 0,13,14,15, 0,17,18,0};
93 static const int npixrigh[21]={0, 2, 3, 0, 5, 6, 7, 0, 9, 0, 0,12, 0,14,15,16, 0,18,19, 0,0};
94 static const int npixlebt[21]={0, 0, 0, 0, 0, 1, 2, 3, 0, 4, 0, 6, 7, 8, 9, 0,11,13,14,15,0};
95 static const int npixribt[21]={0, 0, 0, 0, 1, 2, 3, 0, 4, 5, 0, 7, 0, 9, 0,11,12,14,15,16,0};
96 static const int npixleup[21]={0, 4, 5, 6, 8, 9, 0,11, 0,13, 0,15,16, 0,17,18,19, 0, 0, 0,0};
97 static const int npixriup[21]={0, 5, 6, 7, 9, 0,11,12,13,14, 0,16, 0,17,18,19, 0, 0, 0, 0,0};
115 Double_t
gausX(Double_t*
x, Double_t* par){
116 return par[0]*(TMath::Gaus(x[0], par[1], par[2], kTRUE));
133 Double_t invsq2pi = 0.3989422804014;
134 Double_t mpshift = -0.22278298;
149 mpc = par[1] - mpshift * par[0]*par[1];
152 xlow = x[0] - sc * par[3];
153 xupp = x[0] + sc * par[3];
155 step = (xupp-xlow) / np;
158 for(
double ij=1.0; ij<=np/2; ij++) {
159 xx = xlow + (ij-.5) *
step;
160 fland = TMath::Landau(xx,mpc,par[0]*par[1], kTRUE);
161 sum += fland * TMath::Gaus(x[0],xx,par[3]);
162 xx = xupp - (ij-.5) *
step;
163 fland = TMath::Landau(xx,mpc,par[0]*par[1], kTRUE);
164 sum += fland * TMath::Gaus(x[0],xx,par[3]);
167 return (par[2] * step * sum * invsq2pi / par[3]);
174 void fcnbg(Int_t &npar, Double_t* gin, Double_t &
f, Double_t* par, Int_t flag) {
176 double fval = -par[0];
185 void fcnsg(Int_t &npar, Double_t* gin, Double_t &
f, Double_t* par, Int_t flag) {
188 double fval = -(par[0]+par[5]);
228 virtual void endJob()
override ;
420 float inslumi,
trkdr,
trkdz,
trkvx,
trkvy,
trkvz,
trkmm,
trkth,
trkph,
chisq,
therr,
pherr,
hodx,
hody,
489 T1 =
new TTree(
"T1",
"DT+CSC+HO");
491 T1->Branch(
"irun",&
irun,
"irun/I");
492 T1->Branch(
"ievt",&
ievt,
"ievt/i");
497 T1->Branch(
"isect",&
isect,
"isect/I");
498 T1->Branch(
"isect2",&
isect2,
"isect2/I");
499 T1->Branch(
"ndof",&
ndof,
"ndof/I");
500 T1->Branch(
"nmuon",&
nmuon,
"nmuon/I");
502 T1->Branch(
"ilumi", &
ilumi,
"ilumi/I");
504 T1->Branch(
"inslumi",&
inslumi,
"inslumi/F");
505 T1->Branch(
"nprim", &
nprim,
"nprim/I");
506 T1->Branch(
"tkpt03", &
tkpt03,
" tkpt03/F");
507 T1->Branch(
"ecal03", &
ecal03,
" ecal03/F");
508 T1->Branch(
"hcal03", &
hcal03,
" hcal03/F");
511 T1->Branch(
"trkdr",&
trkdr,
"trkdr/F");
512 T1->Branch(
"trkdz",&
trkdz,
"trkdz/F");
514 T1->Branch(
"trkvx",&
trkvx,
"trkvx/F");
515 T1->Branch(
"trkvy",&
trkvy,
"trkvy/F");
516 T1->Branch(
"trkvz",&
trkvz,
"trkvz/F");
517 T1->Branch(
"trkmm",&
trkmm,
"trkmm/F");
518 T1->Branch(
"trkth",&
trkth,
"trkth/F");
519 T1->Branch(
"trkph",&
trkph,
"trkph/F");
521 T1->Branch(
"chisq",&
chisq,
"chisq/F");
522 T1->Branch(
"therr",&
therr,
"therr/F");
523 T1->Branch(
"pherr",&
pherr,
"pherr/F");
524 T1->Branch(
"hodx",&
hodx,
"hodx/F");
525 T1->Branch(
"hody",&
hody,
"hody/F");
526 T1->Branch(
"hoang",&
hoang,
"hoang/F");
528 T1->Branch(
"momatho", &
momatho,
"momatho/F");
529 T1->Branch(
"hoflag",&
hoflag,
"hoflag/i");
530 T1->Branch(
"htime",&
htime,
"htime/F");
531 T1->Branch(
"hosig",
hosig,
"hosig[9]/F");
532 T1->Branch(
"hocro",&
hocro,
"hocro/F");
533 T1->Branch(
"hocorsig",
hocorsig,
"hocorsig[18]/F");
534 T1->Branch(
"caloen",
caloen,
"caloen[3]/F");
538 T1->Branch(
"hbhesig",
hbhesig,
"hbhesig[9]/F");
547 ho_energy = fs->
make<TH2F>(
"ho_energy",
"ho energy (GeV)", netamx+1, -netamx/2-0.5, netamx/2+0.5,
nphimx, 0.5,
nphimx+0.5);
549 ho_energy2 = fs->
make<TH2F>(
"ho_energy2",
"ho energy2 (GeV*GeV)", netamx+1, -netamx/2-0.5, netamx/2+0.5,
nphimx, 0.5,
nphimx+0.5);
551 ho_rms = fs->
make<TH2F>(
"ho_rms",
"ho rms (GeV)", netamx+1, -netamx/2-0.5, netamx/2+0.5,
nphimx, 0.5,
nphimx+0.5);
553 for (
int ij=0; ij<
netamx; ij++) {
555 for (
int jk=0; jk<
nphimx; jk++) {
556 sprintf(name,
"ho_indenergy_%i_%i", ij, jk);
557 sprintf(title,
"ho IndEnergy (GeV) i#eta=%i i#phi=%i", ieta, jk+1);
563 muonnm = fs->
make<TH1F>(
"muonnm",
"No of muon", 10, -0.5, 9.5);
564 muonmm = fs->
make<TH1F>(
"muonmm",
"P_{mu}", 200, -100., 100.);
565 muonth = fs->
make<TH1F>(
"muonth",
"{Theta}_{mu}", 180, 0., 180.);
566 muonph = fs->
make<TH1F>(
"muonph",
"{Phi}_{mu}", 180, -180., 180.);
567 muonch = fs->
make<TH1F>(
"muonch",
"{chi^2}/ndf", 100, 0., 1000.);
569 sel_muonnm = fs->
make<TH1F>(
"sel_muonnm",
"No of muon(sel)", 10, -0.5, 9.5);
570 sel_muonmm = fs->
make<TH1F>(
"sel_muonmm",
"P_{mu}(sel)", 200, -100., 100.);
571 sel_muonth = fs->
make<TH1F>(
"sel_muonth",
"{Theta}_{mu}(sel)", 180, 0., 180.);
572 sel_muonph = fs->
make<TH1F>(
"sel_muonph",
"{Phi}_{mu}(sel)", 180, -180., 180.);
573 sel_muonch = fs->
make<TH1F>(
"sel_muonch",
"{chi^2}/ndf(sel)", 100, 0., 1000.);
588 for (
int ij=0; ij<15; ij++) {
590 sprintf(title,
"sigvsndof_ring%i", ij+1);
593 sprintf(title,
"sigvschisq_ring%i", ij+1);
596 sprintf(title,
"sigvsth_ring%i", ij+1);
599 sprintf(title,
"sigvsph_ring%i", ij+1);
602 sprintf(title,
"sigvstherr_ring%i", ij+1);
605 sprintf(title,
"sigvspherr_ring%i", ij+1);
608 sprintf(title,
"sigvsdircos_ring%i", ij+1);
611 sprintf(title,
"sigvstrkmm_ring%i", ij+1);
614 sprintf(title,
"sigvsnmuon_ring%i", ij+1);
617 sprintf(title,
"sigvserr_ring%i", ij+1);
620 sprintf(title,
"sigvsaccx_ring%i", ij+1);
623 sprintf(title,
"sigvsaccy_ring%i", ij+1);
626 sprintf(title,
"sigvscalo_ring%i", ij+1);
630 for (
int jk=0; jk<
netamx; jk++) {
631 int ieta = (jk<15) ? jk+1 : 14-jk;
632 for (
int ij=0; ij<
nphimx+1; ij++) {
634 sprintf(title,
"sig_eta%i_allphi", ieta);
636 sprintf(title,
"sig_eta%i_phi%i", ieta,ij+1);
640 sprintf(title,
"ped_eta%i_allphi", ieta);
642 sprintf(title,
"ped_eta%i_phi%i", ieta,ij+1);
647 for (
int ij=0; ij<
nphimx; ij++) {
649 sprintf(title,
"hotime_eta%i_phi%i", (jk<=14) ? jk+1 : 14-jk, ij+1);
652 sprintf(title,
"hopedtime_eta%i_phi%i", (jk<=14) ? jk+1 : 14-jk, ij+1);
657 sprintf(title,
"hbtime_eta%i_phi%i", (jk<=15) ? jk+1 : 15-jk, ij+1);
662 sprintf(title,
"corrsg_eta%i_phi%i_leftbottom", ieta,ij+1);
665 sprintf(title,
"corrsg_eta%i_phi%i_rightbottom", ieta,ij+1);
668 sprintf(title,
"corrsg_eta%i_phi%i_leftup", ieta,ij+1);
671 sprintf(title,
"corrsg_eta%i_phi%i_rightup", ieta,ij+1);
674 sprintf(title,
"corrsg_eta%i_phi%i_all", ieta,ij+1);
677 sprintf(title,
"corrsg_eta%i_phi%i_left", ieta,ij+1);
680 sprintf(title,
"corrsg_eta%i_phi%i_right", ieta,ij+1);
684 sprintf(title,
"corrsg_eta%i_phi%i_centrl", ieta,ij+1);
699 for (
int ij=0; ij<
neffip; ij++) {
701 sprintf(title,
"Total projected muon in tower");
702 sprintf(name,
"total_evt");
704 sprintf(title,
"Efficiency with sig >%i #sigma", ij);
705 sprintf(name,
"Effi_with_gt%i_sig", ij);
710 sprintf(title,
"Mean Energy of all towers");
711 sprintf(name,
"mean_energy");
715 mncorrsglb = fs->
make<TH1F>(
"mncorrsglb",
"mncorrsglb", netamx*
nphimx+60, -0.5, netamx*nphimx+59.5);
716 rmscorrsglb = fs->
make<TH1F>(
"rmscorrsglb",
"rmscorrsglb", netamx*nphimx+60, -0.5, netamx*nphimx+59.5);
717 nevcorrsglb = fs->
make<TH1F>(
"nevcorrsglb",
"nevcorrsglb", netamx*nphimx+60, -0.5, netamx*nphimx+59.5);
719 mncorrsgrb = fs->
make<TH1F>(
"mncorrsgrb",
"mncorrsgrb", netamx*nphimx+60, -0.5, netamx*nphimx+59.5);
720 rmscorrsgrb = fs->
make<TH1F>(
"rmscorrsgrb",
"rmscorrsgrb", netamx*nphimx+60, -0.5, netamx*nphimx+59.5);
721 nevcorrsgrb = fs->
make<TH1F>(
"nevcorrsgrb",
"nevcorrsgrb", netamx*nphimx+60, -0.5, netamx*nphimx+59.5);
723 mncorrsglu = fs->
make<TH1F>(
"mncorrsglu",
"mncorrsglu", netamx*nphimx+60, -0.5, netamx*nphimx+59.5);
724 rmscorrsglu = fs->
make<TH1F>(
"rmscorrsglu",
"rmscorrsglu", netamx*nphimx+60, -0.5, netamx*nphimx+59.5);
725 nevcorrsglu = fs->
make<TH1F>(
"nevcorrsglu",
"nevcorrsglu", netamx*nphimx+60, -0.5, netamx*nphimx+59.5);
727 mncorrsgru = fs->
make<TH1F>(
"mncorrsgru",
"mncorrsgru", netamx*nphimx+60, -0.5, netamx*nphimx+59.5);
728 rmscorrsgru = fs->
make<TH1F>(
"rmscorrsgru",
"rmscorrsgru", netamx*nphimx+60, -0.5, netamx*nphimx+59.5);
729 nevcorrsgru = fs->
make<TH1F>(
"nevcorrsgru",
"nevcorrsgru", netamx*nphimx+60, -0.5, netamx*nphimx+59.5);
731 mncorrsgall = fs->
make<TH1F>(
"mncorrsgall",
"mncorrsgall", netamx*nphimx+60, -0.5, netamx*nphimx+59.5);
732 rmscorrsgall = fs->
make<TH1F>(
"rmscorrsgall",
"rmscorrsgall", netamx*nphimx+60, -0.5, netamx*nphimx+59.5);
733 nevcorrsgall = fs->
make<TH1F>(
"nevcorrsgall",
"nevcorrsgall", netamx*nphimx+60, -0.5, netamx*nphimx+59.5);
735 mncorrsgl = fs->
make<TH1F>(
"mncorrsgl",
"mncorrsgl", netamx*nphimx+60, -0.5, netamx*nphimx+59.5);
736 rmscorrsgl = fs->
make<TH1F>(
"rmscorrsgl",
"rmscorrsgl", netamx*nphimx+60, -0.5, netamx*nphimx+59.5);
737 nevcorrsgl = fs->
make<TH1F>(
"nevcorrsgl",
"nevcorrsgl", netamx*nphimx+60, -0.5, netamx*nphimx+59.5);
739 mncorrsgr = fs->
make<TH1F>(
"mncorrsgr",
"mncorrsgr", netamx*nphimx+60, -0.5, netamx*nphimx+59.5);
740 rmscorrsgr = fs->
make<TH1F>(
"rmscorrsgr",
"rmscorrsgr", netamx*nphimx+60, -0.5, netamx*nphimx+59.5);
741 nevcorrsgr = fs->
make<TH1F>(
"nevcorrsgr",
"nevcorrsgr", netamx*nphimx+60, -0.5, netamx*nphimx+59.5);
745 mncorrsgc = fs->
make<TH1F>(
"mncorrsgc",
"mncorrsgc", netamx*
nphimx+60, -0.5, netamx*nphimx+59.5);
746 rmscorrsgc = fs->
make<TH1F>(
"rmscorrsgc",
"rmscorrsgc", netamx*nphimx+60, -0.5, netamx*nphimx+59.5);
747 nevcorrsgc = fs->
make<TH1F>(
"nevcorrsgc",
"nevcorrsgc", netamx*nphimx+60, -0.5, netamx*nphimx+59.5);
751 for (
int jk=0; jk<
ringmx; jk++) {
753 for (
int ij=0; ij<routmx+1; ij++) {
757 if (jk==2) {phmn = 2*ij-1; phmx=2*ij;}
758 if (phmn <=0) phmn =
nphimx+phmn;
759 if (phmx <=0) phmx =
nphimx+phmx;
761 if ((jk==2 && ij==routmx) || (jk!=2 && ij==
rout12mx)) {
762 sprintf(title,
"sig_ring%i_allrm", jk-2);
763 sprintf(name,
"sig_ring%i_allrm", jk-2);
765 sprintf(title,
"sig_ring%i_phi%i-%i", jk-2,phmn,phmx);
766 sprintf(name,
"sig_ring%i_rout%i", jk-2,ij+1);
769 if ((jk==2 && ij==routmx) || (jk!=2 && ij==
rout12mx)) {
770 sprintf(title,
"ped_ring%i_allrm", jk-2);
771 sprintf(name,
"ped_ring%i_allrm", jk-2);
773 sprintf(title,
"ped_ring%i_phi%i-%i", jk-2,phmn, phmx);
774 sprintf(name,
"ped_ring%i_rout%i", jk-2,ij+1);
779 for (
int ij=0; ij<
sectmx; ij++) {
781 sprintf(title,
"com_hotime_ring%i_sect%i", jk-2, ij+1);
784 sprintf(title,
"com_hopedtime_ring%i_sect%i", jk-2, ij+1);
788 sprintf(title,
"_com_hbtime_ring%i_serrct%i", jk-2, ij+1);
793 sprintf(title,
"com_corrsg_ring%i_sect%i_leftbottom", jk-2,ij+1);
796 sprintf(title,
"com_corrsg_ring%i_sect%i_rightbottom", jk-2,ij+1);
799 sprintf(title,
"com_corrsg_ring%i_sect%i_leftup", jk-2,ij+1);
802 sprintf(title,
"com_corrsg_ring%i_sect%i_rightup", jk-2,ij+1);
805 sprintf(title,
"com_corrsg_ring%i_sect%i_all", jk-2,ij+1);
808 sprintf(title,
"com_corrsg_ring%i_sect%i_left", jk-2,ij+1);
811 sprintf(title,
"com_corrsg_ring%i_sect%i_right", jk-2,ij+1);
816 sprintf(title,
"com_corrsg_ring%i_sect%i_centrl", jk-2,ij+1);
823 for (
int ij=-1; ij<=1; ij++) {
824 for (
int jk=-1; jk<=1; jk++) {
825 int kl = 3*(ij+1)+jk+1;
827 sprintf(title,
"hosct2p_eta%i_phi%i", ij, jk);
830 sprintf(title,
"hosct1p_eta%i_phi%i", ij, jk);
833 sprintf(title,
"hosct00_eta%i_phi%i", ij, jk);
836 sprintf(title,
"hosct1m_eta%i_phi%i", ij, jk);
839 sprintf(title,
"hosct2m_eta%i_phi%i", ij, jk);
843 sprintf(title,
"hbhesig_eta%i_phi%i", ij, jk);
850 ped_evt = fs->
make<TH1F>(
"ped_evt",
"ped_evt", netamx*
nphimx, -0.5, netamx*nphimx-0.5);
851 ped_mean = fs->
make<TH1F>(
"ped_mean",
"ped_mean", netamx*
nphimx, -0.5, netamx*nphimx-0.5);
852 ped_width = fs->
make<TH1F>(
"ped_width",
"ped_width", netamx*
nphimx, -0.5, netamx*nphimx-0.5);
854 fit_chi = fs->
make<TH1F>(
"fit_chi",
"fit_chi", netamx*
nphimx, -0.5, netamx*nphimx-0.5);
855 sig_evt = fs->
make<TH1F>(
"sig_evt",
"sig_evt", netamx*
nphimx, -0.5, netamx*nphimx-0.5);
856 fit_sigevt = fs->
make<TH1F>(
"fit_sigevt",
"fit_sigevt", netamx*
nphimx, -0.5, netamx*nphimx-0.5);
857 fit_bkgevt = fs->
make<TH1F>(
"fit_bkgevt",
"fit_bkgevt", netamx*
nphimx, -0.5, netamx*nphimx-0.5);
858 sig_mean = fs->
make<TH1F>(
"sig_mean",
"sig_mean", netamx*
nphimx, -0.5, netamx*nphimx-0.5);
859 sig_diff = fs->
make<TH1F>(
"sig_diff",
"sig_diff", netamx*
nphimx, -0.5, netamx*nphimx-0.5);
860 sig_width = fs->
make<TH1F>(
"sig_width",
"sig_width", netamx*
nphimx, -0.5, netamx*nphimx-0.5);
861 sig_sigma = fs->
make<TH1F>(
"sig_sigma",
"sig_sigma", netamx*
nphimx, -0.5, netamx*nphimx-0.5);
864 sig_signf = fs->
make<TH1F>(
"sig_signf",
"sig_signf", netamx*
nphimx, -0.5, netamx*nphimx-0.5);
868 ped_rms = fs->
make<TH1F>(
"ped_rms",
"ped_rms", netamx*
nphimx, -0.5, netamx*nphimx-0.5);
869 sig_rms = fs->
make<TH1F>(
"sig_rms",
"sig_rms", netamx*
nphimx, -0.5, netamx*nphimx-0.5);
871 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);
873 for (
int ij=0; ij<
netamx; ij++) {
874 int ieta = (ij<15) ? ij+1 : 14-ij;
875 sprintf(title,
"Cont_Eta_%i", ieta);
878 sprintf(title,
"Peak_Eta_%i", ieta);
882 for (
int ij=0; ij<
ringmx; ij++) {
884 int iread = (ij==2) ? routmx :
rout12mx;
885 sprintf(title,
"Cont_hpdrm_%i", iring);
888 sprintf(title,
"Peak_hpdrm_%i", iring);
892 mean_phi_hst = fs->
make<TH1F>(
"mean_phi_hst",
"mean_phi_hst", netamx+1, -(netamx+1)/2., (netamx+1)/2.);
893 mean_phi_ave = fs->
make<TH1F>(
"mean_phi_ave",
"mean_phi_ave", netamx+1, -(netamx+1)/2., (netamx+1)/2.);
899 for (
int ij=0; ij<
netamx; ij++) {
900 int ieta = (ij<15) ? ij+1 : 14-ij;
902 sprintf(title,
"Stat_Eta_%i", ieta);
905 sprintf(title,
"#mu(stat)_Eta_%i", ieta);
909 for (
int jk=0; jk<
netamx; jk++) {
910 for (
int ij=0; ij<
nphimx; ij++) {
914 for (
int jk=0; jk<
ringmx; jk++) {
915 for (
int ij=0; ij<routmx+1; ij++) {
957 int mypow_2_10 = 1024;
958 int mypow_2_11 = 2048;
959 int mypow_2_12 = 4096;
1018 using namespace edm;
1020 float pival = acos(-1.);
1028 if (hoht.
isValid() && (*hoht).size()>0) {
1032 int tmpeta=
id.
ieta();
1033 int tmpphi=
id.iphi();
1034 float signal = (*ij).energy();
1036 ho_energy->Fill(tmpeta, tmpphi, signal);
1037 ho_energy2->Fill(tmpeta, tmpphi, signal*signal);
1050 bool isCosMu =
true;
1057 if (isCosMu && (*HOCalib).size() >0 ) {
1058 nmuon = (*HOCalib).size();
1059 for (HOCalibVariableCollection::const_iterator hoC=(*HOCalib).begin(); hoC!=(*HOCalib).end(); hoC++){
1062 trkdr = (*hoC).trkdr;
1063 trkdz = (*hoC).trkdz;
1065 trkvx = (*hoC).trkvx;
1066 trkvy = (*hoC).trkvy;
1067 trkvz = (*hoC).trkvz;
1069 trkmm = (*hoC).trkmm;
1070 trkth = (*hoC).trkth;
1071 trkph = (*hoC).trkph;
1073 ndof = (int)(*hoC).ndof;
1075 chisq = (*hoC).chisq;
1078 therr = (*hoC).therr;
1079 pherr = (*hoC).pherr;
1080 trkph = (*hoC).trkph;
1083 nprim = (*hoC).nprim;
1090 isect = (*hoC).isect;
1094 hoang = (*hoC).hoang;
1095 htime = (*hoC).htime;
1097 for (
int ij=0; ij<9; ij++) {
hosig[ij] = (*hoC).hosig[ij];}
1098 for (
int ij=0; ij<18; ij++) {
hocorsig[ij] = (*hoC).hocorsig[ij];}
1099 hocro = (*hoC).hocro;
1100 for (
int ij=0; ij<3; ij++) {
caloen[ij] = (*hoC).caloen[ij];}
1102 if (
m_hbinfo) {
for (
int ij=0; ij<9; ij++) {
hbhesig[ij] = (*hoC).hbhesig[ij];}}
1124 if (
isect <0)
continue;
1125 if (fabs(
trkth-pival/2)<0.000001)
continue;
1127 int ieta = int((
abs(
isect)%10000)/100.)-50;
1128 if (
abs(ieta)>=16)
continue;
1131 int tmpsect = int((iphi + 1)/6.) + 1;
1132 if (tmpsect >12) tmpsect = 1;
1135 int tmpeta = ieta + 4;
1136 if (ieta >=-15 && ieta <=-11) {iring = -2; tmpeta =-11-ieta; }
1137 if (ieta >=-10 && ieta <=-5) {iring = -1; tmpeta =-5-ieta; }
1138 if (ieta >= 5 && ieta <= 10) {iring = 1; tmpeta =ieta-5; }
1139 if (ieta >= 11 && ieta <= 15) {iring = 2; tmpeta =ieta-11;}
1141 int iring2 = iring + 2;
1143 int tmprout = int((iphi + 1)/3.) + 1;
1146 tmprout = int((iphi + 1)/2.) + 1;
1147 if (tmprout >
routmx) tmprout = 1;
1149 if (tmprout >
rout12mx) tmprout = 1;
1156 if (
abs(
ndof) >=20 &&
abs(
ndof) <40) {ips0 = (int)mypow_2_0; ipsall += ips0;}
1157 if (
chisq >0 &&
chisq<15) {ips1 = (int)mypow_2_1; ipsall +=ips1;}
1158 if (fabs(
trkth-pival/2) <21.5) {ips2 = (int)mypow_2_2; ipsall +=ips2;}
1159 if (fabs(
trkph+pival/2) <21.5) {ips3 = (int)mypow_2_3; ipsall +=ips3;}
1161 if (
therr <0.02) {ips4 = (int)mypow_2_4; ipsall +=ips4;}
1162 if (
pherr <0.0002) {ips5 = (int)mypow_2_5; ipsall +=ips5;}
1163 if (fabs(
hoang) >0.30) {ips6 = (int)mypow_2_6; ipsall +=ips6;}
1164 if (fabs(
trkmm) >0.100) {ips7 = (int)mypow_2_7; ipsall +=ips7;}
1166 if (
nmuon >=1 &&
nmuon <=4) {ips8 = (int)mypow_2_8; ipsall +=ips8;}
1170 {ips10=(int)mypow_2_10;ipsall +=ips10;}
1173 {ips11=(int)mypow_2_11;ipsall +=ips11;}
1176 if (fabs(
hodx)<100 && fabs(
hodx)>2 )
1177 {ips10=(int)mypow_2_10;ipsall +=ips10;}
1179 if (fabs(
hody)<100 && fabs(
hody)>2)
1180 {ips11=(int)mypow_2_11;ipsall +=ips11;}
1182 if (
caloen[0] ==0) { ips12=(int)mypow_2_12;ipsall +=ips12;}
1185 if (
abs(
ndof) >=20 &&
abs(
ndof) <40) {ips0 = (int)mypow_2_0; ipsall += ips0;}
1186 if (
chisq >0 &&
chisq<15) {ips1 = (int)mypow_2_1; ipsall +=ips1;}
1187 if (fabs(
trkth-pival/2) <21.5) {ips2 = (int)mypow_2_2; ipsall +=ips2;}
1188 if (fabs(
trkph+pival/2) <21.5) {ips3 = (int)mypow_2_3; ipsall +=ips3;}
1190 if (
therr <0.02) {ips4 = (int)mypow_2_4; ipsall +=ips4;}
1191 if (
pherr <0.0002) {ips5 = (int)mypow_2_5; ipsall +=ips5;}
1192 if (fabs(
hoang) >0.30) {ips6 = (int)mypow_2_6; ipsall +=ips6;}
1193 if (fabs(
trkmm) >4.0) {ips7 = (int)mypow_2_7; ipsall +=ips7;}
1194 if (
nmuon >=1 &&
nmuon <=2) {ips8 = (int)mypow_2_8; ipsall +=ips8;}
1198 {ips10=(int)mypow_2_10;ipsall +=ips10;}
1201 {ips11=(int)mypow_2_11;ipsall +=ips11;}
1204 if (fabs(
hodx)<100 && fabs(
hodx)>2 )
1205 {ips10=(int)mypow_2_10;ipsall +=ips10;}
1207 if (fabs(
hody)<100 && fabs(
hody)>2)
1208 {ips11=(int)mypow_2_11;ipsall +=ips11;}
1211 if (
ndof >0 &&
caloen[0]<5.0) {ips12=(int)mypow_2_12;ipsall +=ips12;}
1215 if (
htime >-40 &&
htime <60) {ips9=(int)mypow_2_9;ipsall +=ips9;}
1306 int tmpphi = (iphi + 1)%3;
1313 tmpphi = (iphi+1)%2;
1314 if (tmpsect==2 || tmpsect==3 || tmpsect==6 || tmpsect==7 || tmpsect==10 || tmpsect==11) {
1315 npixel =
mapx0p[tmpeta][tmpphi];
1318 npixel =
mapx0m[tmpeta][tmpphi];
1323 if (tmpsect%2==1) iflip =1;
1324 if (
abs(iring)==1) {
1325 npixel =
mapx1[tmpeta][(iflip==0) ? tmpphi :
abs(tmpphi-2)];
1328 npixel =
mapx2[tmpeta][(iflip==0) ? tmpphi :
abs(tmpphi-2)];
1333 int tmpeta1 = (ieta>0) ? ieta -1 : -ieta +14;
1336 int tmpphi1 = iphi -1 ;
1339 if (
hosig[4]!=-100) {
1341 if (
caloen[2]<=0.0) iselect2=1;
1343 if (
caloen[2]<=3.0) iselect2=1;
1351 int tmpphi2 = iphi - 1;
1354 int tmpsect2 = int((tmpphi2 + 2)/6.) + 1;
1355 if (tmpsect2 >12) tmpsect2 = 1;
1357 int tmprout2 = int((tmpphi2 + 2)/3.) + 1;
1359 tmprout2 = int((tmpphi2 + 2)/2.) + 1;
1360 if (tmprout2 >
routmx) tmprout2 = 1;
1362 if (tmprout2 >
rout12mx) tmprout2 = 1;
1372 if (tmpphi2 >=0 && tmpphi2 <
nphimx) {
1382 for (
int ij=0; ij<
neffip; ij++) {
1384 sig_effi[ij]->Fill(ieta, iphi, 1.);
1387 sig_effi[ij]->Fill(ieta, iphi, 1.);
1402 if (tmpphi1 >=0 && tmpphi1 <
nphimx) {
1416 tmpeta =
etamap[itag][npixel];
1417 tmpphi =
phimap[itag][npixel];
1418 if (tmpeta>=0 && tmpphi >=0) {
1419 if (iflip !=0) tmpphi =
abs(tmpphi-2);
1420 if (
int((
hocorsig[fact*tmpeta+tmpphi]-
hosig[4])*10000)/10000.!=0) {
1422 edm::LogInfo(
"HOCalib")<<
"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;
1436 float allcorsig = 0.0;
1439 tmpphi =
phimap[itag][npixleft[npixel]];
1441 if (tmpeta>=0 && tmpphi >=0) {
1442 if (iflip !=0) tmpphi =
abs(tmpphi-2);
1444 allcorsig +=
hocorsig[fact*tmpeta+tmpphi];
1451 tmpphi =
phimap[itag][npixrigh[npixel]];
1452 if (tmpeta>=0 && tmpphi >=0) {
1453 if (iflip !=0) tmpphi =
abs(tmpphi-2);
1455 allcorsig +=
hocorsig[fact*tmpeta+tmpphi];
1462 tmpphi =
phimap[itag][npixlebt[npixel]];
1463 if (tmpeta>=0 && tmpphi >=0) {
1464 if (iflip !=0) tmpphi =
abs(tmpphi-2);
1466 allcorsig +=
hocorsig[fact*tmpeta+tmpphi];
1473 tmpphi =
phimap[itag][npixribt[npixel]];
1474 if (tmpeta>=0 && tmpphi >=0) {
1475 if (iflip !=0) tmpphi =
abs(tmpphi-2);
1477 allcorsig +=
hocorsig[fact*tmpeta+tmpphi];
1484 tmpphi =
phimap[itag][npixleup[npixel]];
1485 if (tmpeta>=0 && tmpphi >=0) {
1486 if (iflip !=0) tmpphi =
abs(tmpphi-2);
1488 allcorsig +=
hocorsig[fact*tmpeta+tmpphi];
1495 tmpphi =
phimap[itag][npixriup[npixel]];
1496 if (tmpeta>=0 && tmpphi >=0) {
1497 if (iflip !=0) tmpphi =
abs(tmpphi-2);
1499 allcorsig +=
hocorsig[fact*tmpeta+tmpphi];
1504 corrsgall[tmpeta1][tmpphi1]->Fill(allcorsig);
1511 for (
int k=0;
k<9;
k++) {
1548 for (
int jk=0; jk<
ho_energy->GetNbinsX(); jk++) {
1549 for (
int kl=0; kl<
ho_energy->GetNbinsY(); kl++) {
1551 if (entry <1.) entry=1.;
1555 double rms =
sqrt(energy2 - energy*energy);
1557 double xval =
ho_energy->GetXaxis()->GetBinCenter(jk+1);
1558 double yval =
ho_energy->GetYaxis()->GetBinCenter(kl+1);
1560 ho_rms->Fill(xval, yval, rms);
1565 for (
int ij=0; ij<
nphimx; ij++) {
1566 for (
int jk=0; jk<
netamx; jk++) {
1615 for (
int jk=0; jk<
ringmx; jk++) {
1616 for (
int ij=0; ij<
routmx; ij++) {
1617 if (jk!=2 && ij>=
rout12mx)
continue;
1628 for (
int ij=0; ij<
sectmx; ij++) {
1629 for (
int jk=0; jk<
ringmx; jk++) {
1669 for (
int ij=1; ij<
neffip; ij++) {
1672 for (
int ij=0; ij<
netamx; ij++) {
1673 for (
int jk = 0; jk <
nphimx; jk++) {
1674 int ieta = (ij<15) ? ij+1 : 14-ij;
1676 double signal =
sigrsg[ij][jk]->GetMean();
1684 gStyle->SetOptLogy(0);
1685 gStyle->SetTitleFillColor(10);
1686 gStyle->SetStatColor(10);
1688 gStyle->SetCanvasColor(10);
1689 gStyle->SetOptStat(0);
1690 gStyle->SetOptTitle(1);
1692 gStyle->SetTitleColor(10);
1693 gStyle->SetTitleFontSize(0.09);
1694 gStyle->SetTitleOffset(-0.05);
1695 gStyle->SetTitleBorderSize(1);
1697 gStyle->SetPadColor(10);
1698 gStyle->SetPadBorderMode(0);
1699 gStyle->SetStatColor(10);
1700 gStyle->SetPadBorderMode(0);
1701 gStyle->SetStatBorderSize(1);
1702 gStyle->SetStatFontSize(.07);
1704 gStyle->SetStatStyle(1001);
1705 gStyle->SetOptFit(101);
1706 gStyle->SetCanvasColor(10);
1707 gStyle->SetCanvasBorderMode(0);
1709 gStyle->SetStatX(.99);
1710 gStyle->SetStatY(.99);
1711 gStyle->SetStatW(.45);
1712 gStyle->SetStatH(.16);
1713 gStyle->SetLabelSize(0.075,
"XY");
1714 gStyle->SetLabelOffset(0.21,
"XYZ");
1715 gStyle->SetTitleSize(0.065,
"XY");
1716 gStyle->SetTitleOffset(0.06,
"XYZ");
1717 gStyle->SetPadTopMargin(.09);
1718 gStyle->SetPadBottomMargin(0.11);
1719 gStyle->SetPadLeftMargin(0.12);
1720 gStyle->SetPadRightMargin(0.15);
1721 gStyle->SetPadGridX(3);
1722 gStyle->SetPadGridY(3);
1723 gStyle->SetGridStyle(2);
1724 gStyle->SetNdivisions(303,
"XY");
1726 gStyle->SetMarkerSize(0.60);
1727 gStyle->SetMarkerColor(2);
1728 gStyle->SetMarkerStyle(20);
1729 gStyle->SetTitleFontSize(0.07);
1785 gStyle->SetPadBottomMargin(0.14);
1786 gStyle->SetPadLeftMargin(0.17);
1787 gStyle->SetPadRightMargin(0.03);
1789 gStyle->SetOptStat(1110);
1791 const int nsample =8;
1792 TF1* gx0[nsample]={0};
1793 TF1* ped0fun[nsample]={0};
1794 TF1* signal[nsample]={0};
1795 TF1* pedfun[nsample]={0};
1796 TF1* sigfun[nsample]={0};
1797 TF1* signalx[nsample]={0};
1799 TH1F* signall[nsample]={0};
1800 TH1F* pedstll[nsample]={0};
1804 gStyle->SetOptFit(101);
1805 gStyle->SetCanvasBorderMode(0);
1806 gStyle->SetPadBorderMode(0);
1807 gStyle->SetStatBorderSize(1);
1808 gStyle->SetStatStyle(1001);
1809 gStyle->SetTitleColor(10);
1810 gStyle->SetTitleFontSize(0.09);
1811 gStyle->SetTitleOffset(-0.05);
1812 gStyle->SetTitleBorderSize(1);
1814 gStyle->SetCanvasColor(10);
1815 gStyle->SetPadColor(10);
1816 gStyle->SetStatColor(10);
1817 gStyle->SetStatFontSize(.07);
1818 gStyle->SetStatX(0.99);
1819 gStyle->SetStatY(0.99);
1820 gStyle->SetStatW(0.30);
1821 gStyle->SetStatH(0.10);
1822 gStyle->SetTitleSize(0.065,
"XYZ");
1823 gStyle->SetLabelSize(0.075,
"XYZ");
1824 gStyle->SetLabelOffset(0.012,
"XYZ");
1825 gStyle->SetPadGridX(1);
1826 gStyle->SetPadGridY(1);
1827 gStyle->SetGridStyle(3);
1828 gStyle->SetNdivisions(101,
"XY");
1829 gStyle->SetOptLogy(0);
1841 TCanvas *c0 =
new TCanvas(
"c0",
" Pedestal vs signal", xsiz, ysiz);
1850 for (
int ij=0; ij<
nphimx; ++ij) {mean_phi[ij] = 0; rms_phi[ij] = 0;}
1851 for (
int ij=0; ij<
netamx; ++ij) {mean_eta[ij] = 0; rms_eta[ij] = 0;}
1863 for (
int iijj = 0; iijj <4; iijj++) {
1866 mxeta =
ringmx; mxphi = 1; mneta = 0; mnphi = 0;
1867 }
else if (iijj==1) {
1869 mneta = 0; mnphi = 0;
1870 }
else if (iijj==2) {
1871 mxeta =
netamx; mxphi = 1; mneta = 0; mnphi = 0;
1872 }
else if (iijj==3) {
1874 mneta = 0; mnphi = 0;
1877 for (
int jk=mneta; jk<mxeta; jk++) {
1878 for (
int ij=mnphi; ij<mxphi; ij++) {
1879 if (iijj==1)
continue;
1880 if ((iijj==0 || iijj==1) && jk !=2 && ij >=
rout12mx)
continue;
1881 int izone = iiter%nsample;
1885 signall[izone] = (TH1F*)
com_sigrsg[jk][iread]->Clone(
"hnew");
1886 pedstll[izone] = (TH1F*)
com_crossg[jk][iread]->Clone(
"hnew");
1887 }
else if (iijj==1) {
1888 signall[izone] = (TH1F*)
com_sigrsg[jk][ij]->Clone(
"hnew");
1889 pedstll[izone] = (TH1F*)
com_crossg[jk][ij]->Clone(
"hnew");
1890 }
else if (iijj==2) {
1891 signall[izone] = (TH1F*)
sigrsg[jk][nphimx]->Clone(
"hnew");
1892 pedstll[izone] = (TH1F*)
crossg[jk][nphimx]->Clone(
"hnew");
1893 }
else if (iijj==3) {
1894 signall[izone] = (TH1F*)
sigrsg[jk][ij]->Clone(
"hnew");
1895 pedstll[izone] = (TH1F*)
crossg[jk][ij]->Clone(
"hnew");
1898 pedstll[izone]->SetLineWidth(2);
1899 signall[izone]->SetLineWidth(2);
1900 pedstll[izone]->SetLineColor(2);
1901 signall[izone]->SetLineColor(4);
1902 pedstll[izone]->SetNdivisions(506,
"XY");
1903 signall[izone]->SetNdivisions(506,
"XY");
1905 signall[izone]->GetXaxis()->SetLabelSize(.065);
1906 signall[izone]->GetYaxis()->SetLabelSize(.06);
1907 signall[izone]->GetXaxis()->SetTitle(
"Signal (GeV)");
1909 signall[izone]->GetXaxis()->SetTitleSize(.065);
1910 signall[izone]->GetXaxis()->CenterTitle();
1947 float mean = pedstll[izone]->GetMean();
1948 float rms = pedstll[izone]->GetRMS();
1950 if (rms <0.10) rms = 0.10;
1951 if (rms >0.15) rms=0.15;
1952 if (mean >0.20) mean = 0.20;
1953 if (mean <-0.20) mean = -0.20;
1955 float xmn = mean-6.*
rms;
1956 float xmx = mean+6.*
rms;
1958 binwid = pedstll[izone]->GetBinWidth(1);
1959 if (xmx > pedstll[izone]->GetXaxis()->GetXmax()) xmx = pedstll[izone]->GetXaxis()->GetXmax()-0.5*
binwid;
1960 if (xmn < pedstll[izone]->GetXaxis()->GetXmin()) xmn = pedstll[izone]->GetXaxis()->GetXmin()+0.5*
binwid;
1962 float height = pedstll[izone]->GetEntries();
1964 double par[
nbgpr] ={height,
mean, 0.75*rms};
1966 double gaupr[
nbgpr];
1967 double parer[
nbgpr];
1971 pedstll[izone]->GetXaxis()->SetLabelSize(.065);
1972 pedstll[izone]->GetYaxis()->SetLabelSize(.06);
1977 pedstll[izone]->GetXaxis()->SetRangeUser(xmn, xmx);
1981 pedstll[izone]->GetXaxis()->SetTitle(
"Pedestal/Signal (GeV)");
1983 pedstll[izone]->GetXaxis()->SetTitle(
"Pedestal (GeV)");
1985 pedstll[izone]->GetXaxis()->SetTitleSize(.065);
1986 pedstll[izone]->GetXaxis()->CenterTitle();
1989 pedstll[izone]->Draw();
1994 parer[0] = parer[1] = parer[2] = 0;
1997 if (pedstll[izone]->GetEntries() >5) {
2001 sprintf(temp,
"gx0_%i",izone);
2002 gx0[izone] =
new TF1(temp,
gausX, xmn, xmx,
nbgpr);
2003 gx0[izone]->SetParameters(par);
2004 gx0[izone]->SetLineWidth(1);
2005 pedstll[izone]->Fit(gx0[izone],
"R+");
2008 parer[
k] = gx0[izone]->GetParError(
k);
2009 gaupr[
k] = gx0[izone]->GetParameter(
k);
2012 double strt[
nbgpr] = {height,
mean, 0.75*rms};
2013 double step[
nbgpr] = {1.0, 0.001, 0.001};
2014 double alowmn[
nbgpr] = {0.5*height, mean-
rms, 0.3*rms};
2015 double ahighmn[
nbgpr] ={1.5*height, mean+
rms, 1.5*rms};
2018 gMinuit->SetFCN(
fcnbg);
2023 gMinuit->mnexcm(
"SET ERR", arglist, 1, ierflg);
2026 sprintf(name,
"pedpar%i",
k);
2027 gMinuit->mnparm(
k, name, strt[
k], step[k], alowmn[k], ahighmn[k],ierflg);
2031 gMinuit->mnexcm(
"SIMPLEX", arglist, 0, ierflg);
2034 gMinuit->mnexcm(
"IMPROVE", arglist, 0, ierflg);
2037 double parv,err,xlo,xup, plerr, mierr, eparab, gcc;
2042 gMinuit->mnpout(
k, chnam, parv, err, xlo, xup, iuit);
2043 gMinuit->mnerrs(
k, plerr, mierr, eparab, gcc);
2058 sprintf(temp,
"ped0fun_%i",izone);
2059 ped0fun[izone] =
new TF1(temp,
gausX, xmn, xmx, nbgpr);
2060 ped0fun[izone]->SetParameters(gaupr);
2061 ped0fun[izone]->SetLineColor(3);
2062 ped0fun[izone]->SetLineWidth(1);
2063 ped0fun[izone]->Draw(
"same");
2068 for (
int k=0;
k<
nbgpr;
k++) {gaupr[
k] = par[
k]; }
2074 if (signall[izone]->GetEntries() >5) {
2075 Double_t parall[
nsgpr];
2076 double parserr[
nsgpr];
2077 double fitres[
nsgpr];
2081 sprintf(temp,
"signal_%i",izone);
2082 xmn = signall[izone]->GetXaxis()->GetXmin();
2083 xmx = 0.5*signall[izone]->GetXaxis()->GetXmax();
2087 pedht = (signall[izone]->GetBinContent(
nbn-1)+
2088 signall[izone]->GetBinContent(
nbn)+
2089 signall[izone]->GetBinContent(
nbn+1))/3.;
2095 for (
int lm=0; lm<
nbgpr; lm++) {parall[lm] = gaupr[lm];}
2101 parall[0] = 0.9*pedht;
2103 double area =
binwid*signall[izone]->GetEntries();
2107 parall[4] =
fitprm[4][jk];
2108 parall[6] =
fitprm[6][jk];
2110 parall[4] = signall[izone]->GetMean();
2111 parall[6]=parall[2];
2114 signal[izone]->SetParameters(parall);
2115 signal[izone]->FixParameter(1, parall[1]);
2116 signal[izone]->FixParameter(2, parall[2]);
2117 signal[izone]->SetParLimits(0, 0.00, 2.0*pedht+0.1);
2118 signal[izone]->FixParameter(3, 0.14);
2120 signal[izone]->SetParLimits(5, 0.40*area, 1.15*area);
2123 signal[izone]->SetParLimits(4, 0.2*
fitprm[4][jk], 2.0*
fitprm[4][jk]);
2124 signal[izone]->SetParLimits(6, 0.2*
fitprm[6][jk], 2.0*
fitprm[6][jk]);
2126 signal[izone]->SetParLimits(4, 0.1, 1.0);
2127 signal[izone]->SetParLimits(6, 0.035, 0.3);
2129 signal[izone]->SetParNames(
"const",
"mean",
"sigma",
"Width",
"MP",
"Area",
"GSigma");
2130 signall[izone]->Fit(signal[izone],
"0R+");
2132 signall[izone]->GetXaxis()->SetRangeUser(xmn,xmx);
2134 fitres[
k] =
fitprm[
k][jk] = signal[izone]->GetParameter(
k);
2135 parserr[
k] = signal[izone]->GetParError(
k);
2147 TString
name[
nsgpr] = {
"const",
"mean",
"sigma",
"Width",
"MP",
"Area",
"GSigma"};
2148 double strt[
nsgpr] = {0.9*pedhtx, gaupr[1], gaupr[2],
fitprm[3][jk], fitprm[4][jk], signall[izone]->GetEntries(), fitprm[6][jk]};
2149 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]};
2150 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]};
2151 double step[
nsgpr] = {1.0, 0.0, 0.0, 0.0, 0.001, 1.0, 0.002};
2154 gMinuit->SetFCN(
fcnsg);
2159 gMinuit->mnexcm(
"SET ERR", arglist, 1, ierflg);
2162 gMinuit->mnparm(
k, name[
k], strt[k], step[k], alowmn[k], ahighmn[k],ierflg);
2166 gMinuit->mnexcm(
"SIMPLEX", arglist, 0, ierflg);
2169 gMinuit->mnexcm(
"IMPROVE", arglist, 0, ierflg);
2172 double parv,err,xlo,xup, plerr, mierr, eparab, gcc;
2177 gMinuit->mnpout(
k, chnam, parv, err, xlo, xup, iuit);
2178 gMinuit->mnerrs(
k, plerr, mierr, eparab, gcc);
2196 signall[izone]->Draw();
2199 sprintf(temp,
"pedfun_%i",izone);
2200 pedfun[izone] =
new TF1(temp,
gausX, xmn, xmx,
nbgpr);
2201 pedfun[izone]->SetParameters(fitres);
2202 pedfun[izone]->SetLineColor(3);
2203 pedfun[izone]->SetLineWidth(1);
2204 pedfun[izone]->Draw(
"same");
2206 sprintf(temp,
"signalfun_%i",izone);
2208 sigfun[izone]->SetParameters(&fitres[3]);
2209 sigfun[izone]->SetLineWidth(1);
2210 sigfun[izone]->SetLineColor(4);
2211 sigfun[izone]->Draw(
"same");
2213 sprintf(temp,
"total_%i",izone);
2215 signalx[izone]->SetParameters(fitres);
2216 signalx[izone]->SetLineWidth(1);
2217 signalx[izone]->Draw(
"same");
2219 int kl = (jk<15) ? jk+1 : 14-jk;
2222 <<std::setw(3)<< kl<<
" "
2223 <<std::setw(3)<< ij+1<<
" "
2224 <<std::setw(5)<<pedstll[izone]->GetEntries()<<
" "
2225 <<std::setw(6)<<pedstll[izone]->GetMean()<<
" "
2226 <<std::setw(6)<<pedstll[izone]->GetRMS()<<
" "
2227 <<std::setw(5)<<signall[izone]->GetEntries()<<
" "
2228 <<std::setw(6)<<signall[izone]->GetMean()<<
" "
2229 <<std::setw(6)<<signall[izone]->GetRMS()<<
" "
2230 <<std::setw(6)<< signal[izone]->GetChisquare()<<
" "
2231 <<std::setw(3)<< signal[izone]->GetNDF();
2233 file_out<<
"histinfo"<<iijj<<
" fit "
2234 <<std::setw(3)<< kl<<
" "
2235 <<std::setw(3)<< ij+1<<
" "
2236 <<std::setw(5)<<pedstll[izone]->GetEntries()<<
" "
2237 <<std::setw(6)<<pedstll[izone]->GetMean()<<
" "
2238 <<std::setw(6)<<pedstll[izone]->GetRMS()<<
" "
2239 <<std::setw(5)<<signall[izone]->GetEntries()<<
" "
2240 <<std::setw(6)<<signall[izone]->GetMean()<<
" "
2241 <<std::setw(6)<<signall[izone]->GetRMS()<<
" "
2242 <<std::setw(6)<< signal[izone]->GetChisquare()<<
" "
2243 <<std::setw(3)<< signal[izone]->GetNDF()<<std::endl;
2245 file_out <<
"fitres x"<<iijj<<
" "<<kl<<
" "<<ij+1<<
" "<< fitres[0]<<
" "<< fitres[1]<<
" "<< fitres[2]<<
" "<< fitres[3]<<
" "<< fitres[4]<<
" "<< fitres[5]<<
" "<< fitres[6]<<std::endl;
2246 file_out <<
"parserr"<<iijj<<
" "<<kl<<
" "<<ij+1<<
" "<< parserr[0]<<
" "<< parserr[1]<<
" "<< parserr[2]<<
" "<< parserr[3]<<
" "<< parserr[4]<<
" "<< parserr[5]<<
" "<< parserr[6]<<std::endl;
2248 double diff=fitres[4]-fitres[1];
2249 if (diff <=0) diff = 0.000001;
2250 double error=parserr[4]*parserr[4]+parer[2]*parer[2];
2251 error =
pow(error,0.5);
2253 int ieta = (jk<15) ? (15+jk) : (29-jk);
2254 int ifl = nphimx*ieta + ij;
2257 ped_evt->Fill(ifl,pedstll[izone]->GetEntries());
2260 fit_chi->Fill(ifl,signal[izone]->GetChisquare());
2261 sig_evt->Fill(ifl, signall[izone]->GetEntries());
2265 sig_diff->Fill(ifl, fitres[4]-fitres[1]);
2269 if (fitres[4]-fitres[1] !=0)
sig_meanerrp->Fill(ifl, 100*parserr[4]/(fitres[4]-fitres[1]));
2270 if (gaupr[2]!=0)
sig_signf->Fill(ifl,(fitres[4]-fitres[1])/gaupr[2]);
2274 ped_rms->Fill(ifl,pedstll[izone]->GetRMS());
2275 sig_rms->Fill(ifl,signall[izone]->GetRMS());
2278 if ((iijj==2) || (iijj==3) || (iijj==1)) {
2279 if (signall[izone]->GetEntries() >5 && fitres[4]>0.1) {
2282 if (
abs(kl)<=4) fact=0.895;
2287 if (iijj==3) fact2 =
invang[jk][ij];
2290 float calibc = fact*fact2/(fitres[4]*signall[izone]->GetEntries());
2294 int ieta = (jk<15) ? jk+1 : 14-jk;
2297 file_out<<
"intieta "<<jk<<
" "<<ij<<
" "<<ieta<<
" "<<
mean_phi_hst->FindBin(
double(ieta))<<
" "<<calibc<<
" "<<caliberr<<std::endl;
2298 }
else if (iijj==3) {
2302 peak_eta[jk]->Fill(ij+1,fitres[4]);
2305 int ieta = (jk<15) ? jk+1 : 14-jk;
2307 file_out<<
"intietax "<<jk<<
" "<<ij<<
" "<<ieta<<
" "<<
const_eta_phi->FindBin(ieta, ij+1)<<std::endl;
2311 mean_eta[ij] +=calibc/(caliberr*caliberr);
2312 mean_phi[jk] +=calibc/(caliberr*caliberr);
2314 rms_eta[ij] +=1./(caliberr*caliberr);
2315 rms_phi[jk] +=1./(caliberr*caliberr);
2320 }
else if (iijj==1) {
2328 file_out<<
"HO 4 "<<iijj<<
" "<< std::setw(3)<<kl<<
" "<<std::setw(3)<<ij+1<<
" "
2329 <<std::setw(7)<<calibc<<
" "<<std::setw(7)<<caliberr<<std::endl;
2334 signall[izone]->Draw();
2336 int kl = (jk<15) ? jk+1 : 14-jk;
2337 file_out<<
"histinfo"<<iijj<<
" nof "
2338 <<std::setw(3)<< kl<<
" "
2339 <<std::setw(3)<< ij+1<<
" "
2340 <<std::setw(5)<<pedstll[izone]->GetEntries()<<
" "
2341 <<std::setw(6)<<pedstll[izone]->GetMean()<<
" "
2342 <<std::setw(6)<<pedstll[izone]->GetRMS()<<
" "
2343 <<std::setw(5)<<signall[izone]->GetEntries()<<
" "
2344 <<std::setw(6)<<signall[izone]->GetMean()<<
" "
2345 <<std::setw(6)<<signall[izone]->GetRMS()<<
" "
2346 <<std::setw(6)<< varx<<
" "
2347 <<std::setw(3)<< varx<<std::endl;
2349 file_out <<
"fitres x"<<iijj<<
" "<<kl<<
" "<<ij+1<<
" "<< varx<<
" "<< varx<<
" "<< varx<<
" "<< varx<<
" "<< varx<<
" "<< varx<<
" "<< varx<<std::endl;
2350 file_out <<
"parserr"<<iijj<<
" "<<kl<<
" "<<ij+1<<
" "<< varx<<
" "<< varx<<
" "<< varx<<
" "<< varx<<
" "<< varx<<
" "<< varx<<
" "<< varx<<std::endl;
2354 if (iiter%nsample==0) {
2357 for (
int kl=0; kl<nsample; kl++) {
2358 if (gx0[kl]) {
delete gx0[kl];gx0[kl] = 0;}
2359 if (ped0fun[kl]) {
delete ped0fun[kl];ped0fun[kl] = 0;}
2360 if (signal[kl]) {
delete signal[kl];signal[kl] = 0;}
2361 if (pedfun[kl]) {
delete pedfun[kl];pedfun[kl] = 0;}
2362 if (sigfun[kl]) {
delete sigfun[kl];sigfun[kl] = 0;}
2363 if (signalx[kl]) {
delete signalx[kl];signalx[kl] = 0;}
2364 if (signall[kl]) {
delete signall[kl];signall[kl] = 0;}
2365 if (pedstll[kl]) {
delete pedstll[kl];pedstll[kl] = 0;}
2382 if (iiter%nsample!=0) {
2384 for (
int kl=0; kl<nsample; kl++) {
2385 if (gx0[kl]) {
delete gx0[kl];gx0[kl] = 0;}
2386 if (ped0fun[kl]) {
delete ped0fun[kl];ped0fun[kl] = 0;}
2387 if (signal[kl]) {
delete signal[kl];signal[kl] = 0;}
2388 if (pedfun[kl]) {
delete pedfun[kl];pedfun[kl] = 0;}
2389 if (sigfun[kl]) {
delete sigfun[kl];sigfun[kl] = 0;}
2390 if (signalx[kl]) {
delete signalx[kl];signalx[kl] = 0;}
2391 if (signall[kl]) {
delete signall[kl];signall[kl] = 0;}
2392 if (pedstll[kl]) {
delete pedstll[kl];pedstll[kl] = 0;}
2401 gStyle->SetTitleFontSize(0.05);
2402 gStyle->SetTitleSize(0.025,
"XYZ");
2403 gStyle->SetLabelSize(0.025,
"XYZ");
2404 gStyle->SetStatFontSize(.045);
2406 gStyle->SetOptStat(0);
2407 ps.NewPage(); TCanvas *
c1 =
new TCanvas(
"c1",
" Pedestal vs signal", xsiz, ysiz);
2408 ped_evt->Draw(); c1->Update();
2414 ped_rms->Draw(); c1->Update();
2423 sig_evt->Draw(); c1->Update();
2429 sig_rms->Draw(); c1->Update();
2432 fit_chi->Draw(); c1->Update();
2467 gStyle->SetTitleFontSize(0.09);
2468 gStyle->SetPadBottomMargin(0.17);
2469 gStyle->SetPadLeftMargin(0.18);
2470 gStyle->SetPadRightMargin(0.01);
2471 gStyle->SetOptLogy(0);
2472 gStyle->SetOptStat(0);
2474 TCanvas *c2 =
new TCanvas(
"c2",
"runfile", xsiz, ysiz);
2477 for (
int side=0; side <2; side++) {
2478 gStyle->SetNdivisions(303,
"XY");
2479 gStyle->SetPadRightMargin(0.01);
2489 for (
int ij=nmn; ij<nmx; ij++) {
2492 const_eta[ij]->GetXaxis()->SetTitle(
"#phi index");
2493 const_eta[ij]->GetXaxis()->SetTitleSize(.08);
2494 const_eta[ij]->GetXaxis()->CenterTitle();
2495 const_eta[ij]->GetXaxis()->SetTitleOffset(0.9);
2496 const_eta[ij]->GetXaxis()->SetLabelSize(.085);
2497 const_eta[ij]->GetXaxis()->SetLabelOffset(.01);
2499 const_eta[ij]->GetYaxis()->SetLabelSize(.08);
2500 const_eta[ij]->GetYaxis()->SetLabelOffset(.01);
2501 const_eta[ij]->GetYaxis()->SetTitle(
"GeV/MIP-GeV!!");
2503 const_eta[ij]->GetYaxis()->SetTitleSize(.085);
2504 const_eta[ij]->GetYaxis()->CenterTitle();
2505 const_eta[ij]->GetYaxis()->SetTitleOffset(1.3);
2515 sprintf(out_file,
"calibho_%i_side%i.eps", irunold, side);
2516 c2->SaveAs(out_file);
2518 sprintf(out_file,
"calibho_%i_side%i.jpg", irunold, side);
2519 c2->SaveAs(out_file);
2522 for (
int ij=nmn; ij<nmx; ij++) {
2524 peak_eta[ij]->GetXaxis()->SetTitle(
"#phi index");
2525 peak_eta[ij]->GetXaxis()->SetTitleSize(.08);
2526 peak_eta[ij]->GetXaxis()->CenterTitle();
2527 peak_eta[ij]->GetXaxis()->SetTitleOffset(0.90);
2528 peak_eta[ij]->GetXaxis()->SetLabelSize(.08);
2529 peak_eta[ij]->GetXaxis()->SetLabelOffset(.01);
2531 peak_eta[ij]->GetYaxis()->SetLabelSize(.08);
2532 peak_eta[ij]->GetYaxis()->SetLabelOffset(.01);
2533 peak_eta[ij]->GetYaxis()->SetTitle(
"GeV");
2535 peak_eta[ij]->GetYaxis()->SetTitleSize(.085);
2536 peak_eta[ij]->GetYaxis()->CenterTitle();
2537 peak_eta[ij]->GetYaxis()->SetTitleOffset(1.3);
2547 sprintf(out_file,
"peakho_%i_side%i.eps", irunold, side);
2548 c2->SaveAs(out_file);
2550 sprintf(out_file,
"peakho_%i_side%i.jpg", irunold, side);
2551 c2->SaveAs(out_file);
2556 gStyle->SetTitleFontSize(0.045);
2557 gStyle->SetPadRightMargin(0.13);
2558 gStyle->SetPadBottomMargin(0.15);
2559 gStyle->SetPadLeftMargin(0.1);
2560 gStyle->SetOptStat(0);
2563 TCanvas *c1 =
new TCanvas(
"c1",
"Fitted const in each tower", xsiz, ysiz);
2579 sprintf(out_file,
"high_hoconst_eta_phi_%i.jpg",irunold);
2580 c1->SaveAs(out_file);
2584 for (
int jk=0; jk<
netamx; jk++) {
2585 int ieta = (jk<15) ? jk+1 : 14-jk;
2586 if (rms_phi[jk]>0) {
2592 for (
int ij=0; ij<
nphimx; ij++) {
2593 if (rms_eta[ij] >0) {
2600 gStyle->SetPadLeftMargin(0.13);
2601 gStyle->SetPadRightMargin(0.03);
2604 TCanvas *c2y =
new TCanvas(
"c2",
"Avearge signal in eta and phi", xsiz, ysiz);
2613 mean_eta_ave->GetYaxis()->SetTitle(
"Signal (GeV)/MIP");
2632 mean_phi_ave->GetYaxis()->SetTitle(
"Signal (GeV)/MIP");
2644 sprintf(out_file,
"high_hoaverage_eta_phi_%i.jpg",irunold);
2645 c2y->SaveAs(out_file);
2652 TCanvas *c3 =
new TCanvas(
"c3",
"Avearge signal in eta and phi", xsiz, ysiz);
2673 sprintf(out_file,
"low_mean_phi_hst_%i.jpg",irunold);
2674 c3->SaveAs(out_file);
2681 gStyle->SetOptLogy(1);
2682 gStyle->SetPadTopMargin(.1);
2683 gStyle->SetPadLeftMargin(.15);
2686 TCanvas *c0x =
new TCanvas(
"c0x",
"Signal in each ring", xsiz, ysiz);
2689 for (
int ij=0; ij<
ringmx; ij++) {
2691 com_sigrsg[ij][iread]->GetXaxis()->SetTitle(
"Signal/ped (GeV)");
2693 com_sigrsg[ij][iread]->GetXaxis()->SetTitleSize(0.060);
2694 com_sigrsg[ij][iread]->GetXaxis()->SetTitleOffset(1.05);
2695 com_sigrsg[ij][iread]->GetXaxis()->CenterTitle();
2696 com_sigrsg[ij][iread]->GetXaxis()->SetLabelSize(0.065);
2697 com_sigrsg[ij][iread]->GetXaxis()->SetLabelOffset(0.01);
2699 com_sigrsg[ij][iread]->GetYaxis()->SetLabelSize(0.065);
2700 com_sigrsg[ij][iread]->GetYaxis()->SetLabelOffset(0.01);
2706 c0x->cd(ij+1);
com_sigrsg[ij][iread]->Draw();
2712 sprintf(out_file,
"hosig_ring_%i.jpg",irunold);
2713 c0x->SaveAs(out_file);
2716 gStyle->SetTitleFontSize(0.06);
2717 gStyle->SetOptStat(0);
2718 gStyle->SetOptLogy(0);
2720 TCanvas *c0 =
new TCanvas(
"c0",
"Signal in each ring", xsiz, ysiz);
2723 for (
int jk=0; jk<
ringmx; jk++) {
2724 peak_hpdrm[jk]->GetXaxis()->SetTitle(
"RM #");
2725 peak_hpdrm[jk]->GetXaxis()->SetTitleSize(0.070);
2726 peak_hpdrm[jk]->GetXaxis()->SetTitleOffset(1.0);
2728 peak_hpdrm[jk]->GetXaxis()->SetLabelSize(0.065);
2729 peak_hpdrm[jk]->GetXaxis()->SetLabelOffset(0.01);
2731 peak_hpdrm[jk]->GetYaxis()->SetTitle(
"Peak(GeV)/MIP");
2733 peak_hpdrm[jk]->GetYaxis()->SetTitleSize(0.07);
2734 peak_hpdrm[jk]->GetYaxis()->SetTitleOffset(1.3);
2736 peak_hpdrm[jk]->GetYaxis()->SetLabelSize(0.065);
2737 peak_hpdrm[jk]->GetYaxis()->SetLabelOffset(0.01);
2747 sprintf(out_file,
"comb_peak_hpdrm_%i.jpg",irunold);
2748 c0->SaveAs(out_file);
2752 TCanvas *c1y =
new TCanvas(
"c1y",
"Signal in each ring", xsiz, ysiz);
2755 for (
int jk=0; jk<
ringmx; jk++) {
2761 const_hpdrm[jk]->GetXaxis()->SetLabelOffset(0.01);
2763 const_hpdrm[jk]->GetYaxis()->SetTitle(
"Peak(GeV)");
2768 const_hpdrm[jk]->GetYaxis()->SetLabelOffset(0.01);
2778 sprintf(out_file,
"comb_const_hpdrm_%i.jpg",irunold);
2779 c1y->SaveAs(out_file);
2792 for (
int ij=0; ij<
nphimx; ij++) {
2793 for (
int jk=0; jk<
netamx; jk++) {
2801 gStyle->SetTitleFontSize(0.09);
2802 gStyle->SetPadBottomMargin(0.14);
2803 gStyle->SetPadLeftMargin(0.17);
2804 gStyle->SetPadRightMargin(0.01);
2805 gStyle->SetNdivisions(303,
"XY");
2806 gStyle->SetOptLogy(1);
2808 TCanvas *c2x =
new TCanvas(
"c2x",
"runfile", xsiz, ysiz);
2810 for (
int side=0; side <2; side++) {
2820 for (
int ij=nmn; ij<nmx; ij++) {
2821 int ieta = (ij<15) ? ij+1 : 14-ij;
2823 sprintf(name,
"GeV(#eta=%i)",ieta);
2842 sprintf(out_file,
"sig_ho_%i_side%i.eps", irunold, side);
2843 c2x->SaveAs(out_file);
2845 sprintf(out_file,
"sig_ho_%i_side%i.jpg", irunold, side);
2846 c2x->SaveAs(out_file);
2849 gStyle->SetOptLogy(0);
2850 c2x =
new TCanvas(
"c2x",
"runfile", xsiz, ysiz);
2852 for (
int side=0; side <2; side++) {
2862 for (
int ij=nmn; ij<nmx; ij++) {
2866 statmn_eta[ij]->GetXaxis()->SetTitle(
"#phi index");
2867 statmn_eta[ij]->GetXaxis()->SetTitleSize(.08);
2869 statmn_eta[ij]->GetXaxis()->SetTitleOffset(0.9);
2870 statmn_eta[ij]->GetYaxis()->SetLabelSize(.08);
2871 statmn_eta[ij]->GetYaxis()->SetLabelOffset(.01);
2872 statmn_eta[ij]->GetXaxis()->SetLabelSize(.08);
2873 statmn_eta[ij]->GetXaxis()->SetLabelOffset(.01);
2875 statmn_eta[ij]->GetYaxis()->SetTitleSize(.075);
2877 statmn_eta[ij]->GetYaxis()->SetTitleOffset(1.30);
2883 sprintf(out_file,
"statmnho_%i_side%i.eps", irunold, side);
2884 c2x->SaveAs(out_file);
2886 sprintf(out_file,
"statmnho_%i_side%i.jpg", irunold, side);
2887 c2x->SaveAs(out_file);
2889 gStyle->SetOptLogy(1);
2890 gStyle->SetNdivisions(203,
"XY");
2893 for (
int ij=nmn; ij<nmx; ij++) {
2897 stat_eta[ij]->GetXaxis()->SetTitle(
"#phi index");
2898 stat_eta[ij]->GetXaxis()->SetTitleSize(.08);
2899 stat_eta[ij]->GetXaxis()->CenterTitle();
2900 stat_eta[ij]->GetXaxis()->SetTitleOffset(0.80);
2901 stat_eta[ij]->GetXaxis()->SetLabelSize(.08);
2902 stat_eta[ij]->GetXaxis()->SetLabelOffset(.01);
2903 stat_eta[ij]->GetYaxis()->SetLabelSize(.08);
2904 stat_eta[ij]->GetYaxis()->SetLabelOffset(.01);
2910 sprintf(out_file,
"statho_%i_side%i.eps", irunold, side);
2911 c2x->SaveAs(out_file);
2913 sprintf(out_file,
"statho_%i_side%i.jpg", irunold, side);
2914 c2x->SaveAs(out_file);
2921 for (
int jk=0; jk<
netamx; jk++) {
2922 for (
int ij=0; ij<
nphimx; ij++) {
TH1F * corrsgrb[netamx][nphimx]
T getParameter(std::string const &) const
EventNumber_t event() const
T getUntrackedParameter(std::string const &, T const &) const
TH1F * const_hpdrm[ringmx]
TH1F * com_crossg[ringmx][routmx+1]
std::string theRootFileName
TH1F * corrsgr[netamx][nphimx]
static const int npixrigh[21]
static const int mapx2[6][3]
static const int npixleft[21]
TH1F * corrsglu[netamx][nphimx]
std::vector< float > cro_ssg[netamx][nphimx+1]
bool getByToken(EDGetToken token, Handle< PROD > &result) const
#define DEFINE_FWK_MODULE(type)
HOCalibAnalyzer(const edm::ParameterSet &)
static const int rout12mx
TH1F * crossg[netamx][nphimx+1]
virtual void beginJob() override
std::vector< HORecHit >::const_iterator const_iterator
static const int phimap[4][21]
edm::LuminosityBlockNumber_t luminosityBlock() const
TH1F * com_corrsgall[ringmx][sectmx]
float invang[netamx][nphimx+1]
T * make(const Args &...args) const
make new ROOT object
TH1F * corrsgc[netamx][nphimx]
TH1F * peak_hpdrm[ringmx]
virtual void endJob() override
static const int mapx1[6][3]
TH1F * corrsglb[netamx][nphimx]
TH1F * sigrsg[netamx][nphimx+1]
virtual void analyze(const edm::Event &, const edm::EventSetup &) override
TH1F * com_corrsglu[ringmx][sectmx]
static const int npixriup[21]
TH1F * ho_indenergy[netamx][nphimx]
edm::InputTag hoCalibVariableCollectionTag
void set_sigma(double &x, bool mdigi)
TProfile * hopedtime[netamx][nphimx]
TProfile * hbtime[netamx][nphimx]
std::string theoutputtxtFile
T x() const
Cartesian x coordinate.
TH1F * com_sigrsg[ringmx][routmx+1]
TProfile * com_hbtime[ringmx][sectmx]
float com_invang[ringmx][routmx+1]
Double_t totalfunc(Double_t *x, Double_t *par)
std::string theoutputpsFile
static const int npixribt[21]
TH1F * corrsgl[netamx][nphimx]
TH1F * com_corrsgc[ringmx][sectmx]
int ieta() const
get the cell ieta
TH1F * com_corrsgrb[ringmx][sectmx]
Abs< T >::type abs(const T &t)
TH1F * com_corrsgr[ringmx][sectmx]
void fcnsg(Int_t &npar, Double_t *gin, Double_t &f, Double_t *par, Int_t flag)
double fitprm[nsgpr][netamx]
TProfile * hotime[netamx][nphimx]
static const int npixleup[21]
Double_t gausX(Double_t *x, Double_t *par)
int invert_HOieta(int ieta)
TH1F * corrsgru[netamx][nphimx]
TH1F * com_corrsgl[ringmx][sectmx]
static const int mapx0m[9][2]
TH1F * com_corrsglb[ringmx][sectmx]
std::vector< float > sig_reg[netamx][nphimx+1]
edm::EDGetTokenT< HORecHitCollection > tok_allho_
void set_mean(double &x, bool mdigi)
TProfile * com_hopedtime[ringmx][sectmx]
edm::EDGetTokenT< HOCalibVariableCollection > tok_ho_
static const int mapx0p[9][2]
TH1F * com_corrsgru[ringmx][sectmx]
TProfile * com_hotime[ringmx][sectmx]
void fcnbg(Int_t &npar, Double_t *gin, Double_t &f, Double_t *par, Int_t flag)
Double_t langaufun(Double_t *x, Double_t *par)
static const int etamap[4][21]
static const int npixlebt[21]
static const int mypow_2_ncut
TH1F * statmn_eta[netamx]
tuple size
Write out results.
Power< A, B >::type pow(const A &a, const B &b)
TProfile * sigvsevt[15][ncut]
TH1F * corrsgall[netamx][nphimx]