CMS 3D CMS Logo

L1THCALTPGXAna Class Reference

#include <DQM/L1TMonitor/interface/L1THCALTPGXAna.h>

Inheritance diagram for L1THCALTPGXAna:

edm::EDAnalyzer

List of all members.

Public Types

typedef std::multimap
< HcalTrigTowerDetId, double > 
IdtoEnergy

Public Member Functions

 L1THCALTPGXAna (const edm::ParameterSet &ps)
virtual ~L1THCALTPGXAna ()

Protected Member Functions

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

Private Attributes

int binfg1
int binfg2
DQMStoredbe
double fakeCut_
edm::InputTag hbherecoSource_
MonitorElementhcalEffDen_1_
MonitorElementhcalEffDen_2_
MonitorElementhcalEffDen_3_
MonitorElementhcalEffDen_4_
MonitorElementhcalEffDen_HBHE [56][72]
MonitorElementhcalEffDen_HF [8][18]
MonitorElementhcalEffNum_1_
MonitorElementhcalEffNum_2_
MonitorElementhcalEffNum_3_
MonitorElementhcalEffNum_4_
MonitorElementhcalEffNum_HBHE [56][72]
MonitorElementhcalEffNum_HF [8][18]
MonitorElementhcalFakes_
MonitorElementhcalNoFire_
MonitorElementhcalTpEtEtaPhi_
MonitorElementhcalTpgfgbindiff_
MonitorElementhcalTpgfgperbunch_
MonitorElementhcalTpgfgtimediff_
MonitorElementhcalTpgRatiom1_
MonitorElementhcalTpgRatiop1_
MonitorElementhcalTpgRatiop2_
MonitorElementhcalTpgRatioSOI_
edm::InputTag hcaltpgSource_
MonitorElementhcalTpgvsRec1_
MonitorElementhcalTpgvsRec2_
MonitorElementhcalTpgvsRec3_
MonitorElementhcalTpgvsRec4_
MonitorElementhcalTpOccEtaPhi_
MonitorElementhcalTpRank_
MonitorElementhcalTpSat_
edm::InputTag hfrecoSource_
ofstream logFile_
bool monitorDaemon_
int nev_
int numFG
std::string outputFile_
IdtoEnergy Rec_towers
HcalTrigTowerGeometry theTrigTowerGeometry
bool verbose_


Detailed Description

Definition at line 60 of file L1THCALTPGXAna.h.


Member Typedef Documentation

typedef std::multimap<HcalTrigTowerDetId, double> L1THCALTPGXAna::IdtoEnergy

Definition at line 64 of file L1THCALTPGXAna.h.


Constructor & Destructor Documentation

L1THCALTPGXAna::L1THCALTPGXAna ( const edm::ParameterSet ps  ) 

Definition at line 120 of file L1THCALTPGXAna.cc.

References GenMuonPlsPt100GeV_cfg::cout, dbe, lat::endl(), fakeCut_, edm::ParameterSet::getUntrackedParameter(), NULL, outputFile_, DQMStore::setCurrentFolder(), DQMStore::setVerbose(), and verbose_.

00121   : hcaltpgSource_( ps.getParameter< InputTag >("hcaltpgSource") ),
00122     hbherecoSource_( ps.getParameter< InputTag >("hbherecoSource") ),
00123     hfrecoSource_( ps.getParameter< InputTag >("hfrecoSource") )
00124 {
00125   // verbosity switch
00126   verbose_ = ps.getUntrackedParameter<bool>("verbose", false);
00127   if(verbose_) std::cout << "L1THCALTPGXAna: constructor...." << std::endl;
00128 
00129   //fake cut
00130   fakeCut_ = ps.getUntrackedParameter<double>("fakeCut",0.0);
00131 
00132 
00133   dbe = NULL;
00134   if ( ps.getUntrackedParameter<bool>("DQMStore", false) ) 
00135   {
00136     dbe = Service<DQMStore>().operator->();
00137     dbe->setVerbose(0);
00138   }
00139 
00140   outputFile_ = ps.getUntrackedParameter<std::string>("outputFile", "");
00141   if ( outputFile_.size() != 0 ) {
00142     std::cout << "L1T Monitoring histograms will be saved to " << outputFile_.c_str() << std::endl;
00143   }
00144 
00145   bool disable = ps.getUntrackedParameter<bool>("disableROOToutput", false);
00146   if(disable){
00147     outputFile_="";
00148   }
00149 
00150 
00151   if ( dbe !=NULL ) {
00152     dbe->setCurrentFolder("L1T/L1THCALTPGXAna");
00153   }
00154 
00155 }

L1THCALTPGXAna::~L1THCALTPGXAna (  )  [virtual]

Definition at line 157 of file L1THCALTPGXAna.cc.

00158 {
00159 }


Member Function Documentation

void L1THCALTPGXAna::analyze ( const edm::Event e,
const edm::EventSetup c 
) [protected, virtual]

Implements edm::EDAnalyzer.

Definition at line 305 of file L1THCALTPGXAna.cc.

References binfg1, binfg2, GenMuonPlsPt100GeV_cfg::cout, lat::endl(), fakeCut_, MonitorElement::Fill(), find_eta(), MonitorElement::getBinContent(), edm::Event::getByLabel(), hbherecoSource_, hcalEffDen_1_, hcalEffDen_2_, hcalEffDen_3_, hcalEffDen_4_, hcalEffDen_HBHE, hcalEffDen_HF, hcalEffNum_1_, hcalEffNum_2_, hcalEffNum_3_, hcalEffNum_4_, hcalEffNum_HBHE, hcalEffNum_HF, hcalFakes_, hcalNoFire_, hcalTpEtEtaPhi_, hcalTpgfgperbunch_, hcaltpgSource_, hcalTpgvsRec1_, hcalTpgvsRec2_, hcalTpgvsRec3_, hcalTpgvsRec4_, hcalTpOccEtaPhi_, hcalTpRank_, hcalTpSat_, hfrecoSource_, i, edm::Handle< T >::isValid(), edm::InputTag::label(), n, nev_, numFG, Rec_towers, MonitorElement::setBinContent(), theTrigTowerGeometry, HcalTrigTowerGeometry::towerEtaBounds(), HcalTrigTowerGeometry::towerIds(), and verbose_.

00306 {
00307   nev_++; 
00308   if(verbose_) std::cout << "L1THCALTPGXAna: analyze...." << std::endl;
00309 
00310   edm::Handle<HcalTrigPrimDigiCollection> hcalTpgs;
00311   iEvent.getByLabel(hcaltpgSource_, hcalTpgs);
00312     
00313   if (!hcalTpgs.isValid())
00314     {
00315       edm::LogInfo("DataNotFound") << "can't find HCAL TPG's with label "
00316                                      << hcaltpgSource_.label() ;
00317       return;
00318     }
00319 
00320   Handle<HBHERecHitCollection> hbhe_rec;
00321   
00322   
00323   iEvent.getByLabel(hbherecoSource_, hbhe_rec);
00324    
00325   if (!hbhe_rec.isValid())
00326     {
00327       edm::LogInfo("DataNotFound") << "can't find hbhe rec hits's with label "
00328                                      << hbherecoSource_.label() ;
00329       return;
00330     }
00331 
00332   Handle<HFRecHitCollection> hf_rec;
00333   iEvent.getByLabel(hfrecoSource_, hf_rec);
00334     
00335    if (!hf_rec.isValid())
00336     {
00337       edm::LogInfo("DataNotFound") << "can't find hf rec hits's with label "
00338                                      << hfrecoSource_.label() ;
00339       return;
00340     }
00341 
00342   std::vector<HcalTrigTowerDetId> towerids;
00343   Rec_towers.clear();
00344   double rec_e, eta1, eta2, et2e, eta_avg, rece_m, rece_p1, rece_p2;
00345   int rank, ieta, iphi, icombo;
00346  
00347   for(HBHERecHitCollection::const_iterator hbhe_iter = hbhe_rec->begin(); hbhe_iter != hbhe_rec->end(); ++hbhe_iter)
00348     {
00349       towerids = theTrigTowerGeometry.towerIds(hbhe_iter->id());
00350       assert(towerids.size() == 2 || towerids.size() == 1);
00351       for(unsigned int n = 0; n < towerids.size(); n++)
00352         {
00353           Rec_towers.insert(IdtoEnergy::value_type(towerids[n],hbhe_iter->energy()/towerids.size()));
00354         }
00355     }
00356 
00357   for(HFRecHitCollection::const_iterator hf_iter = hf_rec->begin(); hf_iter != hf_rec->end(); ++hf_iter)
00358     {
00359       towerids = theTrigTowerGeometry.towerIds(hf_iter->id());
00360       assert(towerids.size() == 2 || towerids.size() == 1);
00361       for(unsigned int n = 0; n < towerids.size(); n++)
00362         {
00363           Rec_towers.insert(IdtoEnergy::value_type(towerids[n],hf_iter->energy()/towerids.size()));
00364         }
00365     }
00366 
00367   numFG=0;
00368   for ( HcalTrigPrimDigiCollection::const_iterator tpg_iter = hcalTpgs->begin(); tpg_iter != hcalTpgs->end(); ++tpg_iter ) 
00369     {
00370        float ratioTotal = 0;
00371        float ratiom1 = 0;
00372        float ratiosoi= 0;
00373        float ratiop1 = 0;
00374        float ratiop2 = 0;;
00375       //get rec energy
00376       rec_e = 0.0;
00377       for(IdtoEnergy::iterator rec_iter = Rec_towers.lower_bound(tpg_iter->id()); rec_iter != Rec_towers.upper_bound(tpg_iter->id()); ++rec_iter)
00378         {
00379           rec_e += rec_iter->second;
00380         }
00381 
00382       //get ieta and iphi
00383       ieta = tpg_iter->id().ieta();
00384       iphi = tpg_iter->id().iphi();
00385 
00386       //get rank
00387       rank = tpg_iter->SOI_compressedEt();     
00388 
00389       //get eta bounds of tower (eta1 and eta2)
00390       theTrigTowerGeometry.towerEtaBounds(ieta,eta1,eta2);
00391 
00392       //get average eta of tower from eta1 and eta2
00393       eta_avg = find_eta(eta1,eta2);
00394 
00395       //conversion factor et -> e
00396       et2e = TMath::CosH(eta_avg);
00397 
00398       if (TMath::Abs(ieta) >= 29) rec_e = rec_e/et2e;
00399 
00400       if (0){
00401       //fill individual num. and den. of efficiency plots
00402       if (TMath::Abs(ieta) >= 29)
00403         {
00404           if (ieta <0)
00405             {
00406               hcalEffDen_HF[(ieta+32)][iphi/4]->Fill(rec_e);
00407               if (rank !=0)
00408                 {
00409                   hcalEffNum_HF[(ieta+32)][iphi/4]->Fill(rec_e);
00410                 }
00411             }
00412           else
00413             {
00414               hcalEffDen_HF[(ieta-25)][iphi/4]->Fill(rec_e);
00415               if (rank !=0)
00416                 {
00417                   hcalEffNum_HF[(ieta-25)][iphi/4]->Fill(rec_e);
00418                 }
00419             }
00420         }
00421       else
00422         {
00423           //account for there being no ieta=0
00424           if (ieta < 0) 
00425             {
00426               hcalEffDen_HBHE[ieta+28][iphi-1]->Fill(rec_e);
00427               if (rank !=0)
00428                 {
00429                   hcalEffNum_HBHE[ieta+28][iphi-1]->Fill(rec_e);
00430                 }
00431             }
00432           else
00433             {
00434               hcalEffDen_HBHE[ieta+27][iphi-1]->Fill(rec_e);
00435               if (rank !=0)
00436                 {
00437                   hcalEffNum_HBHE[ieta+27][iphi-1]->Fill(rec_e);
00438                 }
00439             }
00440         }
00441       }
00442 
00443       //fill num. and denom. of efficiency plots
00444       if (TMath::Abs(ieta) <= 20)
00445         {
00446           hcalEffDen_1_->Fill(rec_e);
00447           if (rank != 0)
00448             {
00449               hcalEffNum_1_->Fill(rec_e);
00450               hcalTpgvsRec1_->Fill(rec_e,rank);
00451             }
00452         }
00453       else if (TMath::Abs(ieta) <= 26)
00454         {
00455           hcalEffDen_2_->Fill(rec_e);
00456           if (rank != 0)
00457             {
00458               hcalEffNum_2_->Fill(rec_e);
00459               hcalTpgvsRec2_->Fill(rec_e,rank);
00460             }
00461         }
00462       else if (TMath::Abs(ieta) <= 28)
00463         {
00464           hcalEffDen_3_->Fill(rec_e);
00465           if (rank != 0)
00466             {
00467               hcalEffNum_3_->Fill(rec_e);
00468               hcalTpgvsRec3_->Fill(rec_e,rank);
00469             }
00470         }
00471       else
00472         {
00473           //fill HF with Et rather than E (triggering is done in Et)
00474           if(et2e != 0) { hcalEffDen_4_->Fill(rec_e); }
00475           if (rank != 0)
00476             {
00477               hcalEffNum_4_->Fill(rec_e);
00478               hcalTpgvsRec4_->Fill(rec_e,rank);
00479             }
00480         }
00481       
00482       if ( rank != 0 ) 
00483         {
00484           // occupancy maps (weighted and unweighted
00485           hcalTpOccEtaPhi_->Fill(ieta,iphi);
00486           hcalTpEtEtaPhi_->Fill(ieta,iphi,rank);
00487           if(rank == 1024)
00488             {
00489               hcalTpSat_->Fill(ieta,iphi);
00490             }
00491           // et
00492           hcalTpRank_->Fill(rank);
00493           if (rec_e < fakeCut_) { hcalFakes_->Fill(ieta,iphi); }
00494         } 
00495       else
00496         {
00497           //add 33 to ieta to get proper bin number
00498           double highest_energy  = hcalNoFire_->getBinContent(ieta+33,iphi);
00499           if (highest_energy < rec_e) 
00500            {
00501              hcalNoFire_->setBinContent(ieta+33,iphi,rec_e); 
00502            }
00503         } 
00504 
00505       for(int i = 0; i<10; i++)
00506         {
00507           if(tpg_iter->sample(i).fineGrain())
00508             {
00509               hcalTpgfgperbunch_->Fill(i);
00510               numFG++;
00511               if(numFG < 3)
00512                 {
00513                   if(tpg_iter->id().iphi() < 37) binfg2 = i;
00514                   else binfg1 = i;
00515                 }
00516               
00517             }
00518         }
00519 
00520       if (verbose_)
00521         {
00522           std::cout << "size  " <<  tpg_iter->size() << std::endl;
00523           std::cout << "iphi  " <<  tpg_iter->id().iphi() << std::endl;
00524           std::cout << "ieta  " <<  tpg_iter->id().ieta() << std::endl;
00525           std::cout << "compressed Et  " <<  tpg_iter->SOI_compressedEt() << std::endl;
00526           std::cout << "FG bit  " <<  tpg_iter->SOI_fineGrain() << std::endl;
00527           std::cout << "raw  " <<  tpg_iter->t0().raw() << std::endl;
00528           std::cout << "raw Et " <<  tpg_iter->t0().compressedEt() << std::endl;
00529           std::cout << "raw FG " <<  tpg_iter->t0().fineGrain() << std::endl;
00530           std::cout << "raw slb " <<  tpg_iter->t0().slb() << std::endl;
00531           std::cout << "raw slbChan " <<  tpg_iter->t0().slbChan() << std::endl;
00532           std::cout << "raw slbAndChan " <<  tpg_iter->t0().slbAndChan() << std::endl;
00533           std::cout << "reco energy " << rec_e << std::endl;
00534           std::cout << "tower eta " << eta_avg << std::endl;
00535         }
00536     }
00537 }

void L1THCALTPGXAna::beginJob ( const edm::EventSetup c  )  [protected, virtual]

Reimplemented from edm::EDAnalyzer.

Definition at line 161 of file L1THCALTPGXAna.cc.

References DQMStore::book1D(), DQMStore::book2D(), dbe, effBins, effMaxHBHE, effMaxHF, effMinHBHE, effMinHF, fgbdiffbins, fgbdiffmax, fgbdiffmin, fgbunchbins, fgbunchmax, fgbunchmin, fgtdiffbins, fgtdiffmax, fgtdiffmin, hcalEffDen_1_, hcalEffDen_2_, hcalEffDen_3_, hcalEffDen_4_, hcalEffDen_HBHE, hcalEffDen_HF, hcalEffNum_1_, hcalEffNum_2_, hcalEffNum_3_, hcalEffNum_4_, hcalEffNum_HBHE, hcalEffNum_HF, hcalFakes_, hcalNoFire_, hcalTpEtEtaPhi_, hcalTpgfgbindiff_, hcalTpgfgperbunch_, hcalTpgfgtimediff_, hcalTpgRatiom1_, hcalTpgRatiop1_, hcalTpgRatiop2_, hcalTpgRatioSOI_, hcalTpgvsRec1_, hcalTpgvsRec2_, hcalTpgvsRec3_, hcalTpgvsRec4_, hcalTpOccEtaPhi_, hcalTpRank_, hcalTpSat_, i, j, nev_, ratiobins, ratiomax, ratiomin, DQMStore::rmdir(), RTPBINS, RTPMAX, RTPMIN, DQMStore::setCurrentFolder(), TPETABINS, TPETAMAX, TPETAMIN, TPPHIBINS, TPPHIMAX, TPPHIMIN, tvsrecbins, tvsrecmax, and tvsrecmin.

00162 {
00163   nev_ = 0;
00164   
00165   // get hold of back-end interface
00166   DQMStore* dbe = 0;
00167   dbe = Service<DQMStore>().operator->();
00168   if ( dbe ) 
00169     {
00170       dbe->setCurrentFolder("L1T/L1THCALTPGXAna");
00171       dbe->rmdir("L1T/L1THCALTPGXAna");
00172     }
00173 
00174   if ( dbe ) 
00175     {
00176       dbe->setCurrentFolder("L1T/L1THCALTPGXAna");
00177       //2-D plots
00178       hcalTpEtEtaPhi_ = 
00179         dbe->book2D("HcalTpEtEtaPhi", "HCAL TP E_{T}", TPETABINS, TPETAMIN,
00180                     TPETAMAX, TPPHIBINS, TPPHIMIN, TPPHIMAX);
00181       hcalTpOccEtaPhi_ =
00182         dbe->book2D("HcalTpOccEtaPhi", "HCAL TP OCCUPANCY", TPETABINS,
00183                     TPETAMIN, TPETAMAX, TPPHIBINS, TPPHIMIN, TPPHIMAX);
00184       hcalTpSat_ = 
00185         dbe->book2D("HcalSaturation", "HCAL Satuation", TPETABINS,
00186                     TPETAMIN, TPETAMAX, TPPHIBINS, TPPHIMIN, TPPHIMAX);
00187       hcalFakes_ =
00188         dbe->book2D("HcalFakes","Number of Fakes", TPETABINS, TPETAMIN,
00189                     TPETAMAX, TPPHIBINS, TPPHIMIN, TPPHIMAX);
00190       hcalNoFire_ =
00191         dbe->book2D("HcalNoFire","Highest Energy with TP = 0", TPETABINS, TPETAMIN,
00192                     TPETAMAX, TPPHIBINS, TPPHIMIN, TPPHIMAX);
00193       hcalTpgvsRec1_ = 
00194         dbe->book2D("TPGvsREC1", "TPG vs Rec Hit LUT 1", tvsrecbins, tvsrecmin, tvsrecmax, 
00195                     tvsrecbins, tvsrecmin, tvsrecmax);
00196       hcalTpgvsRec2_ = 
00197         dbe->book2D("TPGvsREC2", "TPG vs Rec Hit LUT 2", tvsrecbins, tvsrecmin, tvsrecmax, 
00198                     tvsrecbins, tvsrecmin, tvsrecmax);
00199       hcalTpgvsRec3_ = 
00200         dbe->book2D("TPGvsREC3", "TPG vs Rec Hit LUT 3", tvsrecbins, tvsrecmin, tvsrecmax, 
00201                     tvsrecbins, tvsrecmin, tvsrecmax);
00202       hcalTpgvsRec4_ = 
00203         dbe->book2D("TPGvsREC4", "TPG vs Rec Hit LUT 4", tvsrecbins, tvsrecmin, tvsrecmax, 
00204                     tvsrecbins, tvsrecmin, tvsrecmax);
00205 
00206       //1-D plots
00207       hcalTpRank_ =
00208         dbe->book1D("HcalTpRank", "HCAL TP RANK", RTPBINS, RTPMIN, RTPMAX);
00209       hcalEffDen_1_ = 
00210         dbe->book1D("HcalAll1","HCAL All Hits - 1",effBins,effMinHBHE,effMaxHBHE);
00211       hcalEffNum_1_ =
00212         dbe->book1D("HcalTP1","HCAL Hits with TP - 1",effBins,effMinHBHE,effMaxHBHE);
00213       hcalEffDen_2_ =
00214         dbe->book1D("HcalAll2","HCAL All Hits - 2",effBins,effMinHBHE,effMaxHBHE);
00215       hcalEffNum_2_ =
00216         dbe->book1D("HcalTP2","HCAL Hits with TP - 2",effBins,effMinHBHE,effMaxHBHE);
00217       hcalEffDen_3_ =
00218         dbe->book1D("HcalAll3","HCAL All Hits - 3",effBins,effMinHBHE,effMaxHBHE);
00219       hcalEffNum_3_ =
00220         dbe->book1D("HcalTP3","HCAL Hits with TP - 3",effBins,effMinHBHE,effMaxHBHE);
00221       hcalEffDen_4_ =
00222         dbe->book1D("HcalAll4","HCAL All Hits - 4",effBins,effMinHF,effMaxHF);
00223       hcalEffNum_4_ =
00224         dbe->book1D("HcalTP4","HCAL Hits with TP - 4",effBins,effMinHF,effMaxHF);
00225       hcalTpgRatiom1_ = 
00226         dbe->book1D("HcalTPGRatiom1", "Hcal Ration of E in bin SOI -1", ratiobins, ratiomin, ratiomax);
00227       hcalTpgRatioSOI_ = 
00228         dbe->book1D("HcalTPGRatiSOI", "Hcal Ration of E in bin SOI", ratiobins, ratiomin, ratiomax);
00229       hcalTpgRatiop1_ = 
00230         dbe->book1D("HcalTPGRatiop1", "Hcal Ration of E in bin SOI +1", ratiobins, ratiomin, ratiomax);
00231       hcalTpgRatiop2_ = 
00232         dbe->book1D("HcalTPGRatiop2", "Hcal Ration of E in bin SOI +21", ratiobins, ratiomin, ratiomax);
00233       hcalTpgfgperbunch_ =
00234         dbe->book1D("HcalFGperBunch", "Fine grain per bunch", fgbunchbins, fgbunchmin, fgbunchmax);
00235       hcalTpgfgbindiff_ =
00236         dbe->book1D("HcalFGbindiff", "Fine grain bunch difference", fgbdiffbins, fgbdiffmin, fgbdiffmax);
00237       hcalTpgfgtimediff_ =
00238         dbe->book1D("HcalFGtimediff", "Fine grain time diff", fgtdiffbins, fgtdiffmin, fgtdiffmax);
00239 
00240 
00241       if (0){
00242       dbe->setCurrentFolder("L1T/L1THCALTPGXAna/EffByChannel");
00243       //efficiency histos for HBHE
00244       for (int i=0; i < 56; i++)
00245         {      
00246           char hname[20],htitle[20];
00247           char dirname[80];
00248           int ieta, iphi;
00249           if (i<28) ieta = i-28;
00250           else ieta = i-27;
00251           sprintf(dirname,"L1T/L1THCALTPGXAna/EffByChannel/EtaTower%d",ieta);
00252           dbe->setCurrentFolder(dirname);
00253           for (int j=0; j < 72; j++) 
00254             {
00255               iphi = j+1;
00256               if (i<28) ieta = i-28;
00257               else ieta = i-27;
00258               sprintf(hname,"eff_%d_%d_num",ieta,iphi);
00259               sprintf(htitle,"Eff Num <%d,%d>",ieta,iphi);
00260               hcalEffNum_HBHE[i][j] = dbe->book1D(hname, htitle, effBins,effMinHBHE,effMaxHBHE);
00261               sprintf(hname,"eff_%d_%d_den",ieta,iphi);
00262               sprintf(htitle,"Eff Den <%d,%d>",ieta,iphi); 
00263               hcalEffDen_HBHE[i][j] = dbe->book1D(hname, htitle, effBins,effMinHBHE,effMaxHBHE);
00264             }        
00265         }
00266       //efficiency histos for HF
00267       for (int i=0; i < 8; i++)
00268         {
00269           char hname[20],htitle[20];
00270           char dirname[80];
00271           int ieta, iphi;
00272           if (i<4) ieta = i-32;
00273           else ieta = i+25;
00274           sprintf(dirname,"L1T/L1THCALTPGXAna/EffByChannel/EtaTower%d",ieta);
00275           dbe->setCurrentFolder(dirname);
00276           for (int j=0; j < 18; j++)
00277             {
00278               iphi = j*4+1;
00279               if (i<4) ieta = i-32;
00280               else ieta = i+25;
00281               sprintf(hname,"eff_%d_%d_num",ieta,iphi);
00282               sprintf(htitle,"Eff Num <%d,%d>",ieta,iphi);
00283               hcalEffNum_HF[i][j] = dbe->book1D(hname, htitle, effBins,effMinHF,effMaxHF);
00284               sprintf(hname,"eff_%d_%d_den",ieta,iphi);
00285               sprintf(htitle,"Eff Den <%d,%d>",ieta,iphi);
00286               hcalEffDen_HF[i][j] = dbe->book1D(hname, htitle, effBins,effMinHF,effMaxHF);
00287             }
00288         }
00289       }
00290 
00291     }  
00292 }

void L1THCALTPGXAna::endJob ( void   )  [protected, virtual]

Reimplemented from edm::EDAnalyzer.

Definition at line 295 of file L1THCALTPGXAna.cc.

References GenMuonPlsPt100GeV_cfg::cout, dbe, lat::endl(), nev_, outputFile_, DQMStore::save(), and verbose_.

00296 {
00297   if(verbose_) std::cout << "L1THCALTPGXAna: end job...." << std::endl;
00298   LogInfo("EndJob") << "analyzed " << nev_ << " events"; 
00299 
00300  if ( outputFile_.size() != 0  && dbe ) dbe->save(outputFile_);
00301 
00302  return;
00303 }


Member Data Documentation

int L1THCALTPGXAna::binfg1 [private]

Definition at line 130 of file L1THCALTPGXAna.h.

Referenced by analyze().

int L1THCALTPGXAna::binfg2 [private]

Definition at line 131 of file L1THCALTPGXAna.h.

Referenced by analyze().

DQMStore* L1THCALTPGXAna::dbe [private]

Definition at line 85 of file L1THCALTPGXAna.h.

Referenced by beginJob(), endJob(), and L1THCALTPGXAna().

double L1THCALTPGXAna::fakeCut_ [private]

Definition at line 125 of file L1THCALTPGXAna.h.

Referenced by analyze(), and L1THCALTPGXAna().

edm::InputTag L1THCALTPGXAna::hbherecoSource_ [private]

Definition at line 127 of file L1THCALTPGXAna.h.

Referenced by analyze().

MonitorElement* L1THCALTPGXAna::hcalEffDen_1_ [private]

Definition at line 93 of file L1THCALTPGXAna.h.

Referenced by analyze(), and beginJob().

MonitorElement* L1THCALTPGXAna::hcalEffDen_2_ [private]

Definition at line 95 of file L1THCALTPGXAna.h.

Referenced by analyze(), and beginJob().

MonitorElement* L1THCALTPGXAna::hcalEffDen_3_ [private]

Definition at line 97 of file L1THCALTPGXAna.h.

Referenced by analyze(), and beginJob().

MonitorElement* L1THCALTPGXAna::hcalEffDen_4_ [private]

Definition at line 99 of file L1THCALTPGXAna.h.

Referenced by analyze(), and beginJob().

MonitorElement* L1THCALTPGXAna::hcalEffDen_HBHE[56][72] [private]

Definition at line 114 of file L1THCALTPGXAna.h.

Referenced by analyze(), and beginJob().

MonitorElement* L1THCALTPGXAna::hcalEffDen_HF[8][18] [private]

Definition at line 115 of file L1THCALTPGXAna.h.

Referenced by analyze(), and beginJob().

MonitorElement* L1THCALTPGXAna::hcalEffNum_1_ [private]

Definition at line 94 of file L1THCALTPGXAna.h.

Referenced by analyze(), and beginJob().

MonitorElement* L1THCALTPGXAna::hcalEffNum_2_ [private]

Definition at line 96 of file L1THCALTPGXAna.h.

Referenced by analyze(), and beginJob().

MonitorElement* L1THCALTPGXAna::hcalEffNum_3_ [private]

Definition at line 98 of file L1THCALTPGXAna.h.

Referenced by analyze(), and beginJob().

MonitorElement* L1THCALTPGXAna::hcalEffNum_4_ [private]

Definition at line 100 of file L1THCALTPGXAna.h.

Referenced by analyze(), and beginJob().

MonitorElement* L1THCALTPGXAna::hcalEffNum_HBHE[56][72] [private]

Definition at line 112 of file L1THCALTPGXAna.h.

Referenced by analyze(), and beginJob().

MonitorElement* L1THCALTPGXAna::hcalEffNum_HF[8][18] [private]

Definition at line 113 of file L1THCALTPGXAna.h.

Referenced by analyze(), and beginJob().

MonitorElement* L1THCALTPGXAna::hcalFakes_ [private]

Definition at line 101 of file L1THCALTPGXAna.h.

Referenced by analyze(), and beginJob().

MonitorElement* L1THCALTPGXAna::hcalNoFire_ [private]

Definition at line 102 of file L1THCALTPGXAna.h.

Referenced by analyze(), and beginJob().

MonitorElement* L1THCALTPGXAna::hcalTpEtEtaPhi_ [private]

Definition at line 90 of file L1THCALTPGXAna.h.

Referenced by analyze(), and beginJob().

MonitorElement* L1THCALTPGXAna::hcalTpgfgbindiff_ [private]

Definition at line 117 of file L1THCALTPGXAna.h.

Referenced by beginJob().

MonitorElement* L1THCALTPGXAna::hcalTpgfgperbunch_ [private]

Definition at line 116 of file L1THCALTPGXAna.h.

Referenced by analyze(), and beginJob().

MonitorElement* L1THCALTPGXAna::hcalTpgfgtimediff_ [private]

Definition at line 118 of file L1THCALTPGXAna.h.

Referenced by beginJob().

MonitorElement* L1THCALTPGXAna::hcalTpgRatiom1_ [private]

Definition at line 103 of file L1THCALTPGXAna.h.

Referenced by beginJob().

MonitorElement* L1THCALTPGXAna::hcalTpgRatiop1_ [private]

Definition at line 105 of file L1THCALTPGXAna.h.

Referenced by beginJob().

MonitorElement* L1THCALTPGXAna::hcalTpgRatiop2_ [private]

Definition at line 106 of file L1THCALTPGXAna.h.

Referenced by beginJob().

MonitorElement* L1THCALTPGXAna::hcalTpgRatioSOI_ [private]

Definition at line 104 of file L1THCALTPGXAna.h.

Referenced by beginJob().

edm::InputTag L1THCALTPGXAna::hcaltpgSource_ [private]

Definition at line 126 of file L1THCALTPGXAna.h.

Referenced by analyze().

MonitorElement* L1THCALTPGXAna::hcalTpgvsRec1_ [private]

Definition at line 107 of file L1THCALTPGXAna.h.

Referenced by analyze(), and beginJob().

MonitorElement* L1THCALTPGXAna::hcalTpgvsRec2_ [private]

Definition at line 108 of file L1THCALTPGXAna.h.

Referenced by analyze(), and beginJob().

MonitorElement* L1THCALTPGXAna::hcalTpgvsRec3_ [private]

Definition at line 109 of file L1THCALTPGXAna.h.

Referenced by analyze(), and beginJob().

MonitorElement* L1THCALTPGXAna::hcalTpgvsRec4_ [private]

Definition at line 110 of file L1THCALTPGXAna.h.

Referenced by analyze(), and beginJob().

MonitorElement* L1THCALTPGXAna::hcalTpOccEtaPhi_ [private]

Definition at line 91 of file L1THCALTPGXAna.h.

Referenced by analyze(), and beginJob().

MonitorElement* L1THCALTPGXAna::hcalTpRank_ [private]

Definition at line 92 of file L1THCALTPGXAna.h.

Referenced by analyze(), and beginJob().

MonitorElement* L1THCALTPGXAna::hcalTpSat_ [private]

Definition at line 111 of file L1THCALTPGXAna.h.

Referenced by analyze(), and beginJob().

edm::InputTag L1THCALTPGXAna::hfrecoSource_ [private]

Definition at line 128 of file L1THCALTPGXAna.h.

Referenced by analyze().

ofstream L1THCALTPGXAna::logFile_ [private]

Definition at line 124 of file L1THCALTPGXAna.h.

bool L1THCALTPGXAna::monitorDaemon_ [private]

Definition at line 123 of file L1THCALTPGXAna.h.

int L1THCALTPGXAna::nev_ [private]

Definition at line 120 of file L1THCALTPGXAna.h.

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

int L1THCALTPGXAna::numFG [private]

Definition at line 129 of file L1THCALTPGXAna.h.

Referenced by analyze().

std::string L1THCALTPGXAna::outputFile_ [private]

Definition at line 121 of file L1THCALTPGXAna.h.

Referenced by endJob(), and L1THCALTPGXAna().

IdtoEnergy L1THCALTPGXAna::Rec_towers [private]

Definition at line 87 of file L1THCALTPGXAna.h.

Referenced by analyze().

HcalTrigTowerGeometry L1THCALTPGXAna::theTrigTowerGeometry [private]

Definition at line 86 of file L1THCALTPGXAna.h.

Referenced by analyze().

bool L1THCALTPGXAna::verbose_ [private]

Definition at line 122 of file L1THCALTPGXAna.h.

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


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:27:07 2009 for CMSSW by  doxygen 1.5.4