CMS 3D CMS Logo

HOCalibAnalyzer Class Reference

Description: <one line="" class="" summary>="">. More...

#include <Calibration/HOCalibAnalyzer/src/HOCalibAnalyzer.cc>

Inheritance diagram for HOCalibAnalyzer:

edm::EDAnalyzer

List of all members.

Public Member Functions

 HOCalibAnalyzer (const edm::ParameterSet &)
 ~HOCalibAnalyzer ()

Private Member Functions

virtual void analyze (const edm::Event &, const edm::EventSetup &)
virtual void beginJob (const edm::EventSetup &)
virtual void endJob ()

Private Attributes

float ahigh
float alow
float binwid
float caloen [3]
float chisq
TH1F * com_corrsgall [ringmx][sectmx]
TH1F * com_corrsgc [ringmx][sectmx]
TH1F * com_corrsgl [ringmx][sectmx]
TH1F * com_corrsglb [ringmx][sectmx]
TH1F * com_corrsglu [ringmx][sectmx]
TH1F * com_corrsgr [ringmx][sectmx]
TH1F * com_corrsgrb [ringmx][sectmx]
TH1F * com_corrsgru [ringmx][sectmx]
TH1F * com_crossg [ringmx][routmx+1]
TProfile * com_hbtime [ringmx][sectmx]
TProfile * com_hopedtime [ringmx][sectmx]
TProfile * com_hotime [ringmx][sectmx]
float com_invang [ringmx][routmx+1]
TH1F * com_sigrsg [ringmx][routmx+1]
TH1F * const_eta [netamx]
TH2F * const_eta_phi
TH1F * const_hpdrm [ringmx]
TH1F * corrsgall [netamx][nphimx]
TH1F * corrsgc [netamx][nphimx]
TH1F * corrsgl [netamx][nphimx]
TH1F * corrsglb [netamx][nphimx]
TH1F * corrsglu [netamx][nphimx]
TH1F * corrsgr [netamx][nphimx]
TH1F * corrsgrb [netamx][nphimx]
TH1F * corrsgru [netamx][nphimx]
TH1F * crossg [netamx][nphimx+1]
TH1F * fit_bkgevt
TH1F * fit_chi
TH1F * fit_sigevt
double fitprm [nsgpr][netamx]
TH1F * hbhe_sig [9]
float hbhesig [9]
TProfile * hbtime [netamx][nphimx]
TH1F * ho_sig00 [9]
TH1F * ho_sig1m [9]
TH1F * ho_sig1p [9]
TH1F * ho_sig2m [9]
TH1F * ho_sig2p [9]
float hoang
float hocorsig [18]
float hocro
float hodx
float hody
TProfile * hopedtime [netamx][nphimx]
float hosig [9]
TProfile * hotime [netamx][nphimx]
float htime
int ievt
float invang [netamx][nphimx+1]
int ipass
int irun
int irunold
int isect
int itrg1
int itrg2
bool m_checkmap
bool m_combined
bool m_constant
bool m_correl
bool m_cosmic
bool m_digiInput
bool m_figure
bool m_hbinfo
bool m_hbtime
bool m_histfit
bool m_hotime
bool m_pedsuppr
double m_sigma
TH2F * mean_energy
TH1F * mean_eta_ave
TH1F * mean_phi_ave
TH1F * mean_phi_hst
TH1F * mncorrsgall
TH1F * mncorrsgc
TH1F * mncorrsgl
TH1F * mncorrsglb
TH1F * mncorrsglu
TH1F * mncorrsgr
TH1F * mncorrsgrb
TH1F * mncorrsgru
TH1F * mncrossg
TH1F * mnsigrsg
TH1F * muonch
TH1F * muonmm
TH1F * muonnm
TH1F * muonph
TH1F * muonth
int nbn
int ndof
TH1F * nevcorrsgall
TH1F * nevcorrsgc
TH1F * nevcorrsgl
TH1F * nevcorrsglb
TH1F * nevcorrsglu
TH1F * nevcorrsgr
TH1F * nevcorrsgrb
TH1F * nevcorrsgru
TH1F * nevcrossg
int Nevents
TH1F * nevsigrsg
int nmuon
TH1F * peak_eta [netamx]
TH1F * peak_hpdrm [ringmx]
TH1F * ped_evt
TH1F * ped_mean
TH1F * ped_rms
TH1F * ped_statmean
TH1F * ped_width
float pherr
TH1F * rmscorrsgall
TH1F * rmscorrsgc
TH1F * rmscorrsgl
TH1F * rmscorrsglb
TH1F * rmscorrsglu
TH1F * rmscorrsgr
TH1F * rmscorrsgrb
TH1F * rmscorrsgru
TH1F * rmscrossg
TH1F * rmssigrsg
TH1F * sel_muonch
TH1F * sel_muonmm
TH1F * sel_muonnm
TH1F * sel_muonph
TH1F * sel_muonth
TH1F * sig_diff
TH2F * sig_effi [neffip]
TH1F * sig_evt
TH1F * sig_mean
TH1F * sig_meanerr
TH1F * sig_meanerrp
TH1F * sig_rms
TH1F * sig_sigma
TH1F * sig_signf
TH1F * sig_statmean
TH1F * sig_width
TH1F * sigrsg [netamx][nphimx+1]
TProfile * sigvsevt [15][ncut]
TH1F * stat_eta [netamx]
TH1F * statmn_eta [netamx]
TTree * T1
TFile * theFile
std::string theoutputpsFile
std::string theoutputtxtFile
std::string theRootFileName
float therr
float trkdr
float trkdz
float trkmm
float trkph
float trkth
float trkvx
float trkvy
float trkvz

Static Private Attributes

static const int ncut = 13
static const int neffip = 6
static const int ringmx = 5
static const int rout12mx = 24
static const int routmx = 36
static const int sectmx = 12


Detailed Description

Description: <one line="" class="" summary>="">.

Implementation: <Notes on="" implementation>="">

Definition at line 218 of file HOCalibAnalyzer.cc.


Constructor & Destructor Documentation

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 }


Member Function Documentation

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 1463 of file HOCalibAnalyzer.cc.

01464 {
01465 }

void HOCalibAnalyzer::endJob ( void   )  [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 }


Member Data Documentation

float HOCalibAnalyzer::ahigh [private]

Definition at line 435 of file HOCalibAnalyzer.cc.

Referenced by analyze(), and HOCalibAnalyzer().

float HOCalibAnalyzer::alow [private]

Definition at line 434 of file HOCalibAnalyzer.cc.

Referenced by analyze(), and HOCalibAnalyzer().

float HOCalibAnalyzer::binwid [private]

Definition at line 436 of file HOCalibAnalyzer.cc.

Referenced by endJob().

float HOCalibAnalyzer::caloen[3] [private]

Definition at line 429 of file HOCalibAnalyzer.cc.

Referenced by analyze(), and HOCalibAnalyzer().

float HOCalibAnalyzer::chisq [private]

Definition at line 429 of file HOCalibAnalyzer.cc.

Referenced by analyze(), and HOCalibAnalyzer().

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]

Definition at line 359 of file HOCalibAnalyzer.cc.

Referenced by HOCalibAnalyzer().

TProfile* HOCalibAnalyzer::com_hopedtime[ringmx][sectmx] [private]

Definition at line 356 of file HOCalibAnalyzer.cc.

Referenced by HOCalibAnalyzer().

TProfile* HOCalibAnalyzer::com_hotime[ringmx][sectmx] [private]

Definition at line 355 of file HOCalibAnalyzer.cc.

Referenced by HOCalibAnalyzer().

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]

Definition at line 404 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

TH2F* HOCalibAnalyzer::const_eta_phi [private]

Definition at line 402 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::const_hpdrm[ringmx] [private]

Definition at line 409 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

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]

Definition at line 388 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::fit_chi [private]

Definition at line 385 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::fit_sigevt [private]

Definition at line 387 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

double HOCalibAnalyzer::fitprm[nsgpr][netamx] [private]

Definition at line 421 of file HOCalibAnalyzer.cc.

Referenced by endJob().

TH1F* HOCalibAnalyzer::hbhe_sig[9] [private]

Definition at line 343 of file HOCalibAnalyzer.cc.

Referenced by analyze(), and HOCalibAnalyzer().

float HOCalibAnalyzer::hbhesig[9] [private]

Definition at line 429 of file HOCalibAnalyzer.cc.

Referenced by analyze(), and HOCalibAnalyzer().

TProfile* HOCalibAnalyzer::hbtime[netamx][nphimx] [private]

Definition at line 272 of file HOCalibAnalyzer.cc.

Referenced by HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::ho_sig00[9] [private]

Definition at line 338 of file HOCalibAnalyzer.cc.

Referenced by analyze(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::ho_sig1m[9] [private]

Definition at line 339 of file HOCalibAnalyzer.cc.

Referenced by analyze(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::ho_sig1p[9] [private]

Definition at line 337 of file HOCalibAnalyzer.cc.

Referenced by analyze(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::ho_sig2m[9] [private]

Definition at line 340 of file HOCalibAnalyzer.cc.

Referenced by analyze(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::ho_sig2p[9] [private]

Definition at line 336 of file HOCalibAnalyzer.cc.

Referenced by analyze(), and HOCalibAnalyzer().

float HOCalibAnalyzer::hoang [private]

Definition at line 429 of file HOCalibAnalyzer.cc.

Referenced by analyze(), and HOCalibAnalyzer().

float HOCalibAnalyzer::hocorsig[18] [private]

Definition at line 429 of file HOCalibAnalyzer.cc.

Referenced by analyze(), and HOCalibAnalyzer().

float HOCalibAnalyzer::hocro [private]

Definition at line 429 of file HOCalibAnalyzer.cc.

Referenced by analyze(), and HOCalibAnalyzer().

float HOCalibAnalyzer::hodx [private]

Definition at line 429 of file HOCalibAnalyzer.cc.

Referenced by analyze(), and HOCalibAnalyzer().

float HOCalibAnalyzer::hody [private]

Definition at line 429 of file HOCalibAnalyzer.cc.

Referenced by analyze(), and HOCalibAnalyzer().

TProfile* HOCalibAnalyzer::hopedtime[netamx][nphimx] [private]

Definition at line 269 of file HOCalibAnalyzer.cc.

Referenced by HOCalibAnalyzer().

float HOCalibAnalyzer::hosig[9] [private]

Definition at line 429 of file HOCalibAnalyzer.cc.

Referenced by analyze(), and HOCalibAnalyzer().

TProfile* HOCalibAnalyzer::hotime[netamx][nphimx] [private]

Definition at line 268 of file HOCalibAnalyzer.cc.

Referenced by HOCalibAnalyzer().

float HOCalibAnalyzer::htime [private]

Definition at line 429 of file HOCalibAnalyzer.cc.

Referenced by analyze(), and HOCalibAnalyzer().

int HOCalibAnalyzer::ievt [private]

Definition at line 428 of file HOCalibAnalyzer.cc.

Referenced by analyze(), and HOCalibAnalyzer().

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]

Definition at line 437 of file HOCalibAnalyzer.cc.

Referenced by analyze(), and endJob().

int HOCalibAnalyzer::isect [private]

Definition at line 428 of file HOCalibAnalyzer.cc.

Referenced by analyze(), and HOCalibAnalyzer().

int HOCalibAnalyzer::itrg1 [private]

Definition at line 428 of file HOCalibAnalyzer.cc.

Referenced by analyze(), and HOCalibAnalyzer().

int HOCalibAnalyzer::itrg2 [private]

Definition at line 428 of file HOCalibAnalyzer.cc.

Referenced by analyze(), and HOCalibAnalyzer().

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]

Definition at line 241 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

bool HOCalibAnalyzer::m_correl [private]

Definition at line 237 of file HOCalibAnalyzer.cc.

Referenced by analyze(), endJob(), and HOCalibAnalyzer().

bool HOCalibAnalyzer::m_cosmic [private]

Definition at line 244 of file HOCalibAnalyzer.cc.

Referenced by analyze(), and HOCalibAnalyzer().

bool HOCalibAnalyzer::m_digiInput [private]

Definition at line 243 of file HOCalibAnalyzer.cc.

Referenced by analyze(), endJob(), and HOCalibAnalyzer().

bool HOCalibAnalyzer::m_figure [private]

Definition at line 242 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

bool HOCalibAnalyzer::m_hbinfo [private]

Definition at line 239 of file HOCalibAnalyzer.cc.

Referenced by analyze(), and HOCalibAnalyzer().

bool HOCalibAnalyzer::m_hbtime [private]

Definition at line 236 of file HOCalibAnalyzer.cc.

Referenced by HOCalibAnalyzer().

bool HOCalibAnalyzer::m_histfit [private]

Definition at line 245 of file HOCalibAnalyzer.cc.

Referenced by analyze(), endJob(), and HOCalibAnalyzer().

bool HOCalibAnalyzer::m_hotime [private]

Definition at line 235 of file HOCalibAnalyzer.cc.

Referenced by HOCalibAnalyzer().

bool HOCalibAnalyzer::m_pedsuppr [private]

Definition at line 246 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

double HOCalibAnalyzer::m_sigma [private]

Definition at line 247 of file HOCalibAnalyzer.cc.

Referenced by analyze(), and HOCalibAnalyzer().

TH2F* HOCalibAnalyzer::mean_energy [private]

Definition at line 419 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::mean_eta_ave [private]

Definition at line 414 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::mean_phi_ave [private]

Definition at line 415 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::mean_phi_hst [private]

Definition at line 416 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::mncorrsgall [private]

Definition at line 291 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::mncorrsgc [private]

Definition at line 317 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::mncorrsgl [private]

Definition at line 293 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::mncorrsglb [private]

Definition at line 287 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::mncorrsglu [private]

Definition at line 289 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::mncorrsgr [private]

Definition at line 294 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::mncorrsgrb [private]

Definition at line 288 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::mncorrsgru [private]

Definition at line 290 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::mncrossg [private]

Definition at line 328 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::mnsigrsg [private]

Definition at line 327 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::muonch [private]

Definition at line 259 of file HOCalibAnalyzer.cc.

Referenced by analyze(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::muonmm [private]

Definition at line 256 of file HOCalibAnalyzer.cc.

Referenced by analyze(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::muonnm [private]

Definition at line 255 of file HOCalibAnalyzer.cc.

Referenced by analyze(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::muonph [private]

Definition at line 258 of file HOCalibAnalyzer.cc.

Referenced by analyze(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::muonth [private]

Definition at line 257 of file HOCalibAnalyzer.cc.

Referenced by analyze(), and HOCalibAnalyzer().

int HOCalibAnalyzer::nbn [private]

Definition at line 433 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

const int HOCalibAnalyzer::ncut = 13 [static, private]

Definition at line 249 of file HOCalibAnalyzer.cc.

Referenced by analyze().

int HOCalibAnalyzer::ndof [private]

Definition at line 428 of file HOCalibAnalyzer.cc.

Referenced by analyze(), and HOCalibAnalyzer().

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]

Definition at line 309 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::nevcorrsgc [private]

Definition at line 319 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::nevcorrsgl [private]

Definition at line 311 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::nevcorrsglb [private]

Definition at line 305 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::nevcorrsglu [private]

Definition at line 307 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::nevcorrsgr [private]

Definition at line 312 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::nevcorrsgrb [private]

Definition at line 306 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::nevcorrsgru [private]

Definition at line 308 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::nevcrossg [private]

Definition at line 334 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

int HOCalibAnalyzer::Nevents [private]

Definition at line 432 of file HOCalibAnalyzer.cc.

Referenced by analyze(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::nevsigrsg [private]

Definition at line 333 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

int HOCalibAnalyzer::nmuon [private]

Definition at line 428 of file HOCalibAnalyzer.cc.

Referenced by analyze(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::peak_eta[netamx] [private]

Definition at line 407 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::peak_hpdrm[ringmx] [private]

Definition at line 412 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::ped_evt [private]

Definition at line 382 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::ped_mean [private]

Definition at line 383 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::ped_rms [private]

Definition at line 399 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::ped_statmean [private]

Definition at line 397 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::ped_width [private]

Definition at line 384 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

float HOCalibAnalyzer::pherr [private]

Definition at line 429 of file HOCalibAnalyzer.cc.

Referenced by analyze(), and HOCalibAnalyzer().

const int HOCalibAnalyzer::ringmx = 5 [static, private]

Definition at line 348 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::rmscorrsgall [private]

Definition at line 300 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::rmscorrsgc [private]

Definition at line 318 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::rmscorrsgl [private]

Definition at line 302 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::rmscorrsglb [private]

Definition at line 296 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::rmscorrsglu [private]

Definition at line 298 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::rmscorrsgr [private]

Definition at line 303 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::rmscorrsgrb [private]

Definition at line 297 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::rmscorrsgru [private]

Definition at line 299 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::rmscrossg [private]

Definition at line 331 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::rmssigrsg [private]

Definition at line 330 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

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]

Definition at line 349 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::sel_muonch [private]

Definition at line 265 of file HOCalibAnalyzer.cc.

Referenced by analyze(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::sel_muonmm [private]

Definition at line 262 of file HOCalibAnalyzer.cc.

Referenced by analyze(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::sel_muonnm [private]

Definition at line 261 of file HOCalibAnalyzer.cc.

Referenced by analyze(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::sel_muonph [private]

Definition at line 264 of file HOCalibAnalyzer.cc.

Referenced by analyze(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::sel_muonth [private]

Definition at line 263 of file HOCalibAnalyzer.cc.

Referenced by analyze(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::sig_diff [private]

Definition at line 390 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

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]

Definition at line 386 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::sig_mean [private]

Definition at line 389 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::sig_meanerr [private]

Definition at line 393 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::sig_meanerrp [private]

Definition at line 394 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::sig_rms [private]

Definition at line 400 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::sig_sigma [private]

Definition at line 392 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::sig_signf [private]

Definition at line 395 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::sig_statmean [private]

Definition at line 398 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::sig_width [private]

Definition at line 391 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

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]

Definition at line 424 of file HOCalibAnalyzer.cc.

Referenced by analyze(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::stat_eta[netamx] [private]

Definition at line 405 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

TH1F* HOCalibAnalyzer::statmn_eta[netamx] [private]

Definition at line 406 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

TTree* HOCalibAnalyzer::T1 [private]

Definition at line 253 of file HOCalibAnalyzer.cc.

Referenced by analyze(), and HOCalibAnalyzer().

TFile* HOCalibAnalyzer::theFile [private]

Definition at line 230 of file HOCalibAnalyzer.cc.

Referenced by endJob(), HOCalibAnalyzer(), and ~HOCalibAnalyzer().

std::string HOCalibAnalyzer::theoutputpsFile [private]

Definition at line 233 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

std::string HOCalibAnalyzer::theoutputtxtFile [private]

Definition at line 232 of file HOCalibAnalyzer.cc.

Referenced by endJob(), and HOCalibAnalyzer().

std::string HOCalibAnalyzer::theRootFileName [private]

Definition at line 231 of file HOCalibAnalyzer.cc.

Referenced by HOCalibAnalyzer().

float HOCalibAnalyzer::therr [private]

Definition at line 429 of file HOCalibAnalyzer.cc.

Referenced by analyze(), and HOCalibAnalyzer().

float HOCalibAnalyzer::trkdr [private]

Definition at line 429 of file HOCalibAnalyzer.cc.

Referenced by analyze(), and HOCalibAnalyzer().

float HOCalibAnalyzer::trkdz [private]

Definition at line 429 of file HOCalibAnalyzer.cc.

Referenced by analyze(), and HOCalibAnalyzer().

float HOCalibAnalyzer::trkmm [private]

Definition at line 429 of file HOCalibAnalyzer.cc.

Referenced by analyze(), and HOCalibAnalyzer().

float HOCalibAnalyzer::trkph [private]

Definition at line 429 of file HOCalibAnalyzer.cc.

Referenced by analyze(), and HOCalibAnalyzer().

float HOCalibAnalyzer::trkth [private]

Definition at line 429 of file HOCalibAnalyzer.cc.

Referenced by analyze(), and HOCalibAnalyzer().

float HOCalibAnalyzer::trkvx [private]

Definition at line 429 of file HOCalibAnalyzer.cc.

Referenced by analyze(), and HOCalibAnalyzer().

float HOCalibAnalyzer::trkvy [private]

Definition at line 429 of file HOCalibAnalyzer.cc.

Referenced by analyze(), and HOCalibAnalyzer().

float HOCalibAnalyzer::trkvz [private]

Definition at line 429 of file HOCalibAnalyzer.cc.

Referenced by analyze(), and HOCalibAnalyzer().


The documentation for this class was generated from the following file:
Generated on Tue Jun 9 18:24:45 2009 for CMSSW by  doxygen 1.5.4