CMS 3D CMS Logo

TopValidation.cc

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 //
00003 // Package:    TopValidation
00004 // Class:      TopValidation
00005 // 
00013 //
00014 // Original Author:  Patricia LOBELLE PARDO ()
00015 //         Created:  Tue Sep 23 11:06:32 CEST 2008
00016 // $Id: TopValidation.cc,v 1.2 2008/12/03 17:16:06 lobelle Exp $
00017 //
00018 //
00019 
00020 
00021 # include "HLTriggerOffline/Top/interface/TopValidation.h"
00022 
00023 
00024 
00025 
00026 TopValidation::TopValidation(const edm::ParameterSet& iConfig)
00027 
00028 {
00029   
00030   
00031   
00032      inputTag_ = iConfig.getParameter<edm::InputTag>("TriggerResultsCollection"); 
00033   
00034      triggerTag_= iConfig.getUntrackedParameter<string>("DQMFolder","HLT/Top");
00035 
00036     outputFileName = iConfig.getParameter<std::string>("OutputFileName");
00037      outputMEsInRootFile = iConfig.getParameter<bool>("OutputMEsInRootFile");
00038   
00039  
00040       
00041 }
00042 
00043 
00044 TopValidation::~TopValidation()
00045 {
00046   
00047   // do anything here that needs to be done at desctruction time
00048   // (e.g. close files, deallocate resources etc.)
00049   
00050 }
00051 
00052 
00053 //
00054 // member functions
00055 //
00056 
00057 
00058 // ------------ method called to for each event  ------------
00059 void
00060 TopValidation::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup)
00061 {
00062   using namespace edm;
00063   
00064  
00065   // muon collection
00066   Handle<MuonCollection> muonsH;
00067   iEvent.getByLabel("muons", muonsH);
00068   
00069   // tracks collection
00070   Handle<TrackCollection> tracks;
00071   iEvent.getByLabel("ctfWithMaterialTracks", tracks);
00072     
00073  
00074     
00075   // get calo jet collection
00076   Handle<CaloJetCollection> jetsHandle;
00077   iEvent.getByLabel("iterativeCone5CaloJets", jetsHandle);
00078   
00079   // electron collection
00080   Handle<GsfElectronCollection> electronsH;
00081   iEvent.getByLabel("pixelMatchGsfElectrons",electronsH);
00082   
00083   // Trigger 
00084   Handle<TriggerResults> trh;
00085   try {iEvent.getByLabel(inputTag_,trh);} catch(...) {;}
00086   
00087   triggerNames_.init(*trh);
00088  
00089   HLT1MuonNonIso           = false;
00090   HLT1MuonIso              = false;
00091   HLT1ElectronRelaxed      = false;
00092   HLT1Electron             = false;
00093   HLT2MuonNonIso           = false;
00094   HLT2ElectronRelaxed      = false;
00095   HLTXElectronMuonRelaxed  = false;
00096   HLTXElectronMuon         = false;
00097   HLT1jet                  = false;
00098   
00099   // -----new paths
00100   
00101   HLT4jet30               = false;
00102   HLT1Electron15_NI       = false;
00103   HLT1Electron15_LI       = false;
00104  
00105  
00106   //------
00107   
00108   // Trigger Bits
00109   const unsigned int n_TriggerResults( trh.product()->size());
00110   for ( unsigned int itrig= 0 ; itrig < n_TriggerResults; ++itrig ){
00111   
00112   //  cout<<itrig<<"-->"<<triggerNames_.triggerName(itrig)<<endl;
00113     
00114       if ( triggerNames_.triggerName( itrig ) == "HLT_Mu15" ){
00115         if ( trh.product()->accept( itrig ) ) HLT1MuonNonIso=true;
00116       }
00117       if (triggerNames_.triggerName(itrig) == "HLT_IsoMu11"){
00118         if ( trh.product()->accept( itrig ) ) HLT1MuonIso=true;
00119       }
00120       if (triggerNames_.triggerName(itrig) == "HLT_IsoEle18_L1R"){
00121         if ( trh.product()->accept( itrig ) ) HLT1ElectronRelaxed=true;
00122       }
00123       if (triggerNames_.triggerName(itrig) == "HLT_IsoEle15_L1I"){
00124         if ( trh.product()->accept( itrig ) ) HLT1Electron=true;
00125       }
00126       if (triggerNames_.triggerName(itrig) == "HLT_DoubleMu3"){
00127         if ( trh.product()->accept( itrig ) ) HLT2MuonNonIso=true;
00128       }
00129       if (triggerNames_.triggerName(itrig) == "HLT_DoubleIsoEle12_L1R"){
00130         if ( trh.product()->accept( itrig ) ) HLT2ElectronRelaxed=true;
00131       } 
00132       if (triggerNames_.triggerName(itrig) == "HLT_IsoEle10_Mu10_L1R"){
00133         if ( trh.product()->accept( itrig ) ) HLTXElectronMuonRelaxed=true;
00134       }
00135       if (triggerNames_.triggerName(itrig) == "HLT_IsoEle8_IsoMu7"){
00136         if ( trh.product()->accept( itrig ) ) HLTXElectronMuon=true;
00137       }
00138       if (triggerNames_.triggerName(itrig) == "HLT1jet"){
00139         if ( trh.product()->accept( itrig ) ) HLT1jet=true;
00140       }
00141       
00142       //---- new paths
00143        if (triggerNames_.triggerName(itrig) == "HLT_QuadJet30"){
00144         if ( trh.product()->accept( itrig ) ) HLT4jet30=true;
00145       }
00146        if (triggerNames_.triggerName(itrig) == "HLT_Ele15_SW_L1R"){
00147         if ( trh.product()->accept( itrig ) ) HLT1Electron15_NI=true;
00148       }
00149        // if (triggerNames_.triggerName(itrig) == "HLT_LooseIsoEle15_SW_L1R"){
00150         if (triggerNames_.triggerName(itrig) == "HLT_LooseIsoEle15_LW_L1R"){
00151         if ( trh.product()->accept( itrig ) ) HLT1Electron15_LI=true;
00152       }
00153        
00154        
00155       
00156       //-----
00157   }
00158 
00159 //l1eteff->Fill(1);
00160 
00161   //generation  info                                     
00162  
00163   bool topevent = false;
00164  
00165   int ntop = 0;
00166   int ngenel=0;
00167   int ngenmu=0;
00168   int ngentau=0;
00169   int ngenlep=0;
00170   int nmuaccept=0;
00171   int nelaccept=0;
00172  
00173   // Gen Particles Collection
00174   Handle <GenParticleCollection> genParticles;
00175    iEvent.getByLabel("genParticles", genParticles);
00176   
00177    for (size_t i=0; i < genParticles->size(); ++i){
00178     const Candidate & p = (*genParticles)[i];
00179     int id = p.pdgId();
00180     int st = p.status();
00181  
00182     
00183     if (abs(id) == 6 && st == 3) ntop++;
00184    
00185     if (st==3 && abs(id)==11) {
00186       ngenel++;
00187        if ( p.pt()>10 && fabs(p.eta())<2.4)   nelaccept++;
00188     }
00189     
00190     if (st==3 && abs(id)==13) {
00191       ngenmu++;      
00192       if ( p.pt()>10 && fabs(p.eta())<2.4)    nmuaccept++;     
00193     }
00194     
00195     if (st==3 && abs(id)==15)  ngentau++;
00196     if (st==3 && ( abs(id)==11 || abs(id)==13 || abs(id)==15)) ngenlep++;
00197     
00198   }
00199   if (ntop == 2) topevent = true; 
00200   
00201   nEvents++;
00202   
00203 
00204   if (topevent){
00205    
00206     nAccepted++;
00207 //    Nttbar->Fill(1);  
00208     
00209     // event type 
00210        
00211 //    if (ngenlep==2) {dilepEvent++;    Ndilep->    Fill(1);}
00212 //    if (ngenlep==1) {semilepEvent++;  Nsemilep->  Fill(1);}
00213   //  if (ngenlep==0) {hadronicEvent++; Nhadronic-> Fill(1);}
00214     
00215    // if (ngenlep==1 && ngenmu==1)                     {  muEvent++;    Nsemimu-> Fill(1);}
00216    // if (ngenlep==1 && ngenel==1)                     {  elecEvent++;  Nsemiel-> Fill(1);}
00217    // if (ngenlep==1 && ngentau==1)                    {  tauEvent++;   Nsemitau->Fill(1);}  
00218    // if (ngenlep==2 && ngenel==2)                     {  dielEvent++;  Ndiel->   Fill(1);}
00219    // if (ngenlep==2 && ngenmu==2)                     {  dimuEvent++;  Ndimu->   Fill(1);}   
00220    // if (ngenlep==2 && ngenmu==1 && ngenel==1)        {  emuEvent++;   Nemu->    Fill(1);}
00221     //if (ngenlep==2 && ngentau==2)                    {  ditauEvent++; Nditau->  Fill(1);}
00222     //if (ngenlep==2 && ngenmu==1 && ngentau==1)       {  taumuEvent++; Ntaumu->  Fill(1);}
00223     //if (ngenlep==2  && ngenel==1 && ngentau==1)      {  tauelEvent++; Ntauel->  Fill(1);}
00224   
00225     
00226     // ** MUONS **
00227 
00228     //Muon Collection to use
00229     std::map<double,reco::Muon> muonMap; 
00230   
00231     for (size_t i = 0; i< muonsH->size(); ++i){    
00232       if ( (*muonsH)[i].isGlobalMuon()){  
00233       muonMap[(*muonsH)[i].pt()] = (*muonsH)[i];
00234        }
00235     }     
00236 
00237     //Muon selection
00238     bool TwoMuonsAccepted = false;
00239     int  numberMuonsPt20 = 0;
00240     std::vector<reco::Muon> muonPt;
00241     reco::Muon muon1,muon2;// Keep the 2 muons with higher Pt [ Pt > 15 GeV/c and |eta|<2.0 ]
00242   
00243     for( std::map<double,reco::Muon>::reverse_iterator rit=muonMap.rbegin(); rit!=muonMap.rend(); ++rit){
00244       muonPt.push_back( (*rit).second );
00245     }
00246 
00247 
00248      for(size_t i=0;i<muonPt.size();++i){
00249       if(muonPt[i].pt()>15 && fabs(muonPt[i].eta())<2.0){
00250       numberMuonsPt20++;
00251         if(numberMuonsPt20==1) muon1 = muonPt[i];
00252         if(numberMuonsPt20==2) muon2 = muonPt[i];
00253       }
00254     }
00255 
00256  
00257     if(  numberMuonsPt20>1 && (muon1.pt() >20 || muon2.pt()>20) && muon1.charge()*muon2.charge()<0 ) TwoMuonsAccepted = true;
00258 
00259     // ** ELECTRONS **
00260     
00261     //Electron Collection to use
00262     std::map<double,reco::GsfElectron> electronMap;
00263    
00264     for (size_t i = 0; i<electronsH->size();++i){
00265       electronMap[(*electronsH)[i].pt()] = (*electronsH)[i];
00266     }     
00267         
00268     //Electron selection
00269     bool TwoElectronsAccepted = false;
00270     int  numberElectronsPt20 = 0;
00271     std::vector<reco::GsfElectron> electronPt;
00272     reco::GsfElectron electron1, electron2;
00273   
00274     for( std::map<double,reco::GsfElectron>::reverse_iterator rit=electronMap.rbegin(); rit!=electronMap.rend(); ++rit){
00275       electronPt.push_back( (*rit).second );
00276     }
00277 
00278    
00279     for(size_t i=0;i!=electronPt.size();++i){
00280       if(electronPt[i].pt()>15 && fabs(electronPt[i].eta() )<2.0){
00281         numberElectronsPt20++;
00282         if (numberElectronsPt20==1) electron1=electronPt[i];
00283         if (numberElectronsPt20==2) electron2=electronPt[i];
00284         } 
00285     }
00286    
00287      if(  numberElectronsPt20>1 && (electron1.pt() >20 || electron2.pt()>20) &&
00288      electron1.charge()*electron2.charge()<0 ) TwoElectronsAccepted = true;
00289   
00290     //Jet Collection to use
00291     
00292     //MC corrected
00293  
00294     /*   const JetCorrector* corrector = JetCorrector::getJetCorrector ( "MCJetCorrectorMcone5", iSetup);
00295          float et_jet_cor[100], et_jet_normal[100];
00296   
00297          int jj=0;
00298          for( CaloJetCollection::const_iterator cal = jets->begin(); cal != jets->end(); ++ cal)
00299          {
00300          double scale = corrector->correction (*cal);
00301          double corPt=scale*cal->et();
00302          et_jet_cor[jj] = corPt;
00303          et_jet_normal[jj] = (*cal).et();
00304          jj++;
00305          } */
00306     
00307     // Raw jets
00308     const CaloJetCollection *jets = jetsHandle.product();
00309     CaloJetCollection::const_iterator jet;
00310     
00311     int n_jets_20=0;
00312     
00313     for (jet = jets->begin(); jet != jets->end(); jet++){    
00314       
00315       //if (fabs(etajet[i]) <2.4 && et_jet_cor[i] > 20) n_jets_20++;
00316       if (fabs(jet->eta()) <2.4 && jet->et() > 13) n_jets_20++;
00317       
00318     } 
00319     
00320     
00321     // offline selection
00322     
00323     bool offline_mu       = false;
00324     bool offline_dimu     = false;
00325     bool offline_el       = false;
00326     bool offline_diel     = false;
00327     bool offline_emu      = false;
00328     
00329     
00330     if ( numberMuonsPt20>0 && muon1.pt()>20 && n_jets_20>1)                                                 offline_mu=true;
00331     if ( TwoMuonsAccepted && n_jets_20>1)                                                                         offline_dimu=true;
00332     if ( numberElectronsPt20>0 && electron1.pt()>20 && n_jets_20>1)                                         offline_el=true;
00333     if ( TwoElectronsAccepted && n_jets_20>1)                                                                     offline_diel=true;
00334     if ( numberMuonsPt20>0 && numberElectronsPt20>0 && (muon1.pt()>20 || electron1.pt()>20) && (muon1.charge()!= electron1.charge()) && n_jets_20>1) offline_emu=true;
00335     
00336     
00337     // Efficiencies 
00338                                                                                                                                                                                      
00339                                                                                                                                                                                   
00341     if ( ngenlep==1 && ngenmu==1 && nmuaccept==1){  //Select events within acceptance
00342       
00343       // Efficiencies wrt MC
00344      
00345 efficiencies(acceptmu,hlt1muon_semimu,hlt1muoniso_semimu,hlt1elecrelax_semimu,hlt1elec_semimu,hlt2muon_semimu,hlt2elec_semimu,
00346 hltelecmurelax_semimu,hltelecmu_semimu,hlt1jet_semimu,hlt4jet30_semimu,hlt1elec15_li_semimu,hlt1elec15_ni_semimu); 
00347       
00348       // Efficiencies wrt offline
00349       if (offline_mu){
00350         
00351 
00352 efficiencies(Noffmu,hlt1muon_off_semimu,hlt1muoniso_off_semimu,hlt1elecrelax_off_semimu,hlt1elec_off_semimu,hlt2muon_off_semimu,hlt2elec_off_semimu,hltelecmurelax_off_semimu,hltelecmu_off_semimu,
00353 hlt1jet_off_semimu,hlt4jet30_off_semimu,hlt1elec15_li_off_semimu, hlt1elec15_ni_off_semimu);
00354         
00355         eta_off_mu->Fill(muon1.eta()); 
00356        pt_off_mu-> Fill(muon1.pt());
00357         
00358         if(HLT1MuonNonIso){  
00359           eta_trig_off_mu->Fill(muon1.eta());
00360           pt_trig_off_mu->Fill(muon1.pt());
00361         }
00362       }
00363     }
00364     
00365     // *****  tt->enubjjb *****
00366     if ( ngenlep==1 && ngenel==1 && nelaccept==1){   
00367       
00368       // Efficiencies wrt MC
00369       efficiencies(acceptel,hlt1muon_semiel,hlt1muoniso_semiel,hlt1elecrelax_semiel,
00370       hlt1elec_semiel,hlt2muon_semiel,hlt2elec_semiel,
00371       hltelecmurelax_semiel,hltelecmu_semiel,
00372       hlt1jet_semiel,hlt4jet30_semiel,hlt1elec15_li_semiel, hlt1elec15_ni_semiel); 
00373       
00374       // Efficiencies wrt offline
00375       if (offline_el){
00376         
00377 
00378 efficiencies(Noffel,hlt1muon_off_semiel,hlt1muoniso_off_semiel,hlt1elecrelax_off_semiel,hlt1elec_off_semiel,hlt2muon_off_semiel,hlt2elec_off_semiel,
00379 hltelecmurelax_off_semiel,hltelecmu_off_semiel,
00380 hlt1jet_off_semiel,hlt4jet30_off_semiel,hlt1elec15_li_off_semiel, hlt1elec15_ni_off_semiel);
00381                
00382          eta_off_el->Fill(electron1.eta()); 
00383          pt_off_el->Fill(electron1.pt());
00384         
00385         if(HLT1ElectronRelaxed){
00386            eta_trig_off_el->Fill(electron1.eta());
00387            pt_trig_off_el->Fill(electron1.pt());          
00388         }
00389         
00390         //-----------
00391         if (HLT1Electron15_NI){
00392         eta_trig_off_el_ni->Fill(electron1.eta());
00393         pt_trig_off_el_ni->Fill(electron1.pt());
00394         }
00395         
00396         if (HLT1Electron15_LI){
00397         eta_trig_off_el_li->Fill(electron1.eta());
00398         pt_trig_off_el_li->Fill(electron1.pt());
00399         }
00400         //-------       
00401       }    
00402     }
00403 
00404     // ****** tt->munubmunub *****
00405     if ( ngenlep==2 && ngenmu==2 && nmuaccept==2){  
00406       
00407       // Efficiencies wrt MC
00408       efficiencies(acceptdimu,hlt1muon_dimu,hlt1muoniso_dimu,hlt1elecrelax_dimu,
00409       hlt1elec_dimu,hlt2muon_dimu,hlt2elec_dimu,hltelecmurelax_dimu,hltelecmu_dimu,
00410       hlt1jet_dimu,hlt4jet30_dimu,hlt1elec15_li_dimu,hlt1elec15_ni_dimu); 
00411       
00412       // Efficiencies wrt offline
00413       if (offline_dimu){
00414         
00415 
00416   efficiencies(Noffdimu,hlt1muon_off_dimu,hlt1muoniso_off_dimu,hlt1elecrelax_off_dimu,hlt1elec_off_dimu,hlt2muon_off_dimu,hlt2elec_off_dimu,
00417    hltelecmurelax_off_dimu,hltelecmu_off_dimu,
00418    hlt1jet_off_dimu,hlt4jet30_off_dimu,hlt1elec15_li_off_dimu, hlt1elec15_ni_off_dimu);
00419         
00420         eta_off_dimu0->Fill(muon1.eta());
00421         eta_off_dimu1->Fill(muon2.eta());
00422         pt_off_dimu0->Fill(muon1.pt());
00423         pt_off_dimu1->Fill(muon2.pt());
00424         
00425         if(HLT2MuonNonIso){
00426           eta_trig_off_dimu0->Fill(muon1.eta()); 
00427           eta_trig_off_dimu1->Fill(muon2.eta());
00428           pt_trig_off_dimu0->Fill(muon1.pt());
00429           pt_trig_off_dimu1->Fill(muon2.pt());
00430         }           
00431       } 
00432     }
00433     
00434     // *****   tt->enubenub *****
00435     if ( ngenlep==2 && ngenel==2 && nelaccept==2){   
00436       
00437       // Efficiencies wrt MC
00438       efficiencies(acceptdiel,hlt1muon_diel,hlt1muoniso_diel,hlt1elecrelax_diel,
00439       hlt1elec_diel,hlt2muon_diel,hlt2elec_diel, hltelecmurelax_diel,hltelecmu_diel, hlt1jet_diel,
00440       hlt4jet30_diel, hlt1elec15_li_diel, hlt1elec15_ni_diel); 
00441       
00442       // Efficiencies wrt offline
00443       if (offline_diel){
00444         
00445 
00446 efficiencies(Noffdiel,hlt1muon_off_diel,hlt1muoniso_off_diel,hlt1elecrelax_off_diel,hlt1elec_off_diel,hlt2muon_off_diel,hlt2elec_off_diel,
00447 hltelecmurelax_off_diel,hltelecmu_off_diel, hlt1jet_off_diel,hlt4jet30_off_diel,
00448 hlt1elec15_li_off_diel, hlt1elec15_ni_off_diel);
00449         
00450         eta_off_diel0->Fill(electron1.eta()); 
00451         eta_off_diel1->Fill(electron2.eta());
00452         pt_off_diel0->Fill(electron1.pt());
00453         pt_off_diel1->Fill(electron2.pt());
00454         
00455        if(HLT2ElectronRelaxed){
00456          eta_trig_off_diel0->Fill(electron1.eta()); 
00457          eta_trig_off_diel1->Fill(electron2.eta());
00458          pt_trig_off_diel0->Fill(electron1.pt());
00459          pt_trig_off_diel1->Fill(electron2.pt());
00460        }
00461       }    
00462     }
00463     
00464     // *****  tt->enubmunub
00465     if ( ngenlep==2 && ngenel==1 && ngenmu==1 && nmuaccept==1 && nelaccept==1){   // tt->e mu events passing acceptance
00466       
00467       // Efficiencies wrt MC
00468       efficiencies(acceptemu,hlt1muon_emu,hlt1muoniso_emu,hlt1elecrelax_emu,
00469       hlt1elec_emu,hlt2muon_emu,hlt2elec_emu, hltelecmurelax_emu,hltelecmu_emu, hlt1jet_emu,
00470       hlt4jet30_emu, hlt1elec15_li_emu, hlt1elec15_ni_emu);
00471       
00472 //          if (HLT1MuonNonIso || HLT1ElectronRelaxed ) OR_emu ->Fill(1);
00473 //        if (HLT1MuonNonIso || HLT1Electron15_NI )   OR_emu_ni ->Fill(1);
00474 //        if (HLT1MuonNonIso || HLT1Electron15_LI)    OR_emu_li ->Fill(1);
00475       
00476       // Efficiencies wrt offline      
00477       if (offline_emu){
00478         
00479 //          if (HLT1MuonNonIso || HLT1ElectronRelaxed ) OR_off_emu   ->Fill(1);
00480 //          if (HLT1MuonNonIso || HLT1Electron15_NI )   OR_off_emu_ni ->Fill(1);
00481 //          if (HLT1MuonNonIso || HLT1Electron15_LI)    OR_off_emu_li ->Fill(1);
00482 
00483 efficiencies(Noffemu,hlt1muon_off_emu,hlt1muoniso_off_emu,hlt1elecrelax_off_emu,hlt1elec_off_emu,hlt2muon_off_emu,hlt2elec_off_emu,
00484 hltelecmurelax_off_emu,hltelecmu_off_emu, hlt1jet_off_emu, hlt4jet30_off_emu, hlt1elec15_li_off_emu,
00485 hlt1elec15_ni_off_emu);
00486         
00487         eta_off_emu_muon->Fill(muon1.eta()); 
00488         pt_off_emu_muon->Fill(muon1.pt());
00489         eta_off_emu_electron->Fill(electron1.eta()); 
00490         pt_off_emu_electron->Fill(electron1.pt());
00491         
00492         if(HLTXElectronMuonRelaxed){
00493           eta_trig_off_emu_muon->Fill(muon1.eta());  
00494           pt_trig_off_emu_muon->Fill(muon1.pt());
00495           eta_trig_off_emu_electron->Fill(electron1.eta()); 
00496           pt_trig_off_emu_electron->Fill(electron1.pt());
00497         }
00498       }    
00499     }
00500     
00501     
00502     
00503     
00504  
00505     // End efficiencies  
00506     
00507   }
00508   
00509 }
00511 void TopValidation::efficiencies (TH1F *select, TH1F *path1,TH1F *path2, TH1F *path3, TH1F *path4,
00512                                  TH1F* path5, TH1F *path6, TH1F *path7, TH1F *path8,
00513                                  TH1F* path9, TH1F* path10, TH1F* path11, TH1F* path12)
00514 {
00515   
00516 //  select->Fill(1);
00517   
00518   
00519  // if (HLT1MuonNonIso)          path1->Fill(1);
00520  // if (HLT1MuonIso)             path2->Fill(1);
00521   //if (HLT1ElectronRelaxed)     path3->Fill(1);
00522   //if (HLT1Electron)            path4->Fill(1);
00523  // if (HLT2MuonNonIso)          path5->Fill(1);
00524  // if (HLT2ElectronRelaxed)     path6->Fill(1);
00525  // if (HLTXElectronMuonRelaxed) path7->Fill(1);
00526  // if (HLTXElectronMuon)        path8->Fill(1);
00527  // if (HLT1jet)                 path9->Fill(1);
00528   
00529   //---- new paths
00530 //  if (HLT4jet30)               path10->Fill(1);
00531  // if (HLT1Electron15_LI)       path11->Fill(1);
00532  // if (HLT1Electron15_NI)       path12->Fill(1);
00533   
00534   //------
00535   
00536   return;
00537  
00538 }
00539  
00540 
00541  
00542 
00544 
00545 // ------------ method called once each job just before starting event loop  ------------
00546 void 
00547 TopValidation::beginJob(const edm::EventSetup&)
00548 {
00549   
00550    dbe = edm::Service<DQMStore>().operator->();
00551 
00552         //dbe->setCurrentFolder("HLT/Top");
00553         dbe->setCurrentFolder(triggerTag_);
00554       //  l1eteff=dbe->book1D("prueba","prueba", 100,0.0,10.0);
00555   
00556  
00557  
00559   
00560    //semimu events 
00561     eta_trig_off_mu          = dbe->book1D ("eta_trig_off_mu","eta_trig_off_mu",51,-2.1,2.1);
00562     eta_off_mu               = dbe->book1D ("eta_off_mu","eta_off_mu",51,-2.1,2.1);
00563     pt_trig_off_mu           = dbe->book1D ("pt_trig_off_mu","pt_trig_off_mu",120,0.0,150.0);
00564     pt_off_mu                = dbe->book1D ("pt_off_mu","pt_off_mu",120,0.0,150.0);
00565     
00566  
00567      //semiel events  
00568     eta_trig_off_el          = dbe->book1D ("eta_trig_off_el","eta_trig_off_el",51,-2.1,2.1);
00569     eta_off_el               = dbe->book1D ("eta_off_el","eta_off_el",51,-2.1,2.1);
00570     pt_trig_off_el           = dbe->book1D ("pt_trig_off_el","pt_trig_off_el",120,0.0,150.0);
00571     pt_off_el                = dbe->book1D ("pt_off_el","pt_off_el",120,0.0,150.0);
00572     
00573      pt_trig_off_el_ni           = dbe->book1D ("pt_trig_off_el_ni","pt_trig_off_el_ni",120,0.0,150.0);
00574      pt_trig_off_el_li           = dbe->book1D ("pt_trig_off_el_li","pt_trig_off_el_li",120,0.0,150.0);
00575      eta_trig_off_el_ni          = dbe->book1D ("eta_trig_off_el_ni","eta_trig_off_el_ni",51,-2.1,2.1);
00576      eta_trig_off_el_li          = dbe->book1D ("eta_trig_off_el_li","eta_trig_off_el_li",51,-2.1,2.1);
00577  
00578     
00579     //dimu events
00580     eta_trig_off_dimu0       = dbe->book1D ("eta_trig_off_dimu0","eta_trig_off_dimu0",51,-2.1,2.1);
00581     eta_off_dimu0            = dbe->book1D ("eta_off_dimu0","eta_off_dimu0",51,-2.1,2.1);
00582     pt_trig_off_dimu0        = dbe->book1D ("pt_trig_off_dimu0","pt_trig_off_dimu0",120,0.0,150.0);
00583     pt_off_dimu0             = dbe->book1D ("pt_off_dimu0","pt_off_dimu0",120,0.0,150.0);
00584     
00585     eta_trig_off_dimu1       = dbe->book1D ("eta_trig_off_dimu1","eta_trig_off_dimu1",51,-2.1,2.1);
00586     eta_off_dimu1            = dbe->book1D ("eta_off_dimu1","eta_off_dimu1",51,-2.1,2.1);
00587     pt_trig_off_dimu1        = dbe->book1D ("pt_trig_off_dimu1","pt_trig_off_dimu1",120,0.0,150.0);
00588     pt_off_dimu1             = dbe->book1D ("pt_off_dimu1","pt_off_dimu1",120,0.0,150.0);
00589   
00590     
00591     //diel events
00592     
00593     eta_trig_off_diel0       = dbe->book1D ("eta_trig_off_diel0","eta_trig_off_diel0",51,-2.1,2.1);
00594     eta_off_diel0            = dbe->book1D ("eta_off_diel0","eta_off_diel0",51,-2.1,2.1);
00595     pt_trig_off_diel0        = dbe->book1D ("pt_trig_off_diel0","pt_trig_off_diel0",120,0.0,150.0);
00596     pt_off_diel0             = dbe->book1D ("pt_off_diel0","pt_off_diel0",120,0.0,150.0);
00597     
00598     eta_trig_off_diel1       = dbe->book1D ("eta_trig_off_diel1","eta_trig_off_diel1",51,-2.1,2.1);
00599     eta_off_diel1            = dbe->book1D ("eta_off_diel1","eta_off_diel1",51,-2.1,2.1);
00600     pt_trig_off_diel1        = dbe->book1D ("pt_trig_off_diel1","pt_trig_off_diel1",120,0.0,150.0);
00601     pt_off_diel1             = dbe->book1D ("pt_off_diel1","pt_off_diel1",120,0.0,150.0);
00602   
00603     
00604     //emu events
00605     
00606     eta_trig_off_emu_muon    = dbe->book1D ("eta_trig_off_emu_muon","eta_trig_off_emu_muon",51,-2.1,2.1);
00607     eta_off_emu_muon         = dbe->book1D ("eta_off_emu_muon","eta_off_emu_muon",51,-2.1,2.1);
00608     pt_trig_off_emu_muon     = dbe->book1D ("pt_trig_off_emu_muon","pt_trig_off_emu_muon",120,0.0,150.0);
00609     pt_off_emu_muon          = dbe->book1D ("pt_off_emu_muon","pt_off_emu_muon",120,0.0,150.0);
00610     
00611     eta_trig_off_emu_electron = dbe->book1D ("eta_trig_off_emu_electron","eta_trig_off_emu_electron",51,-2.1,2.1);
00612     eta_off_emu_electron      = dbe->book1D ("eta_off_emu_electron","eta_off_emu_electron",51,-2.1,2.1);
00613     pt_trig_off_emu_electron  = dbe->book1D ("pt_trig_off_emu_electron","pt_trig_off_emu_electron",120,0.0,150.0);
00614     pt_off_emu_electron       = dbe->book1D ("pt_off_emu_electron","pt_off_emu_electron",120,0.0,150.0);
00615   
00616   /*  OR_emu                    =   dbe->book1D ("or_emu","or_emu",10,0.0,2.0);
00617     OR_off_emu                =   dbe->book1D ("or_off_emu","or_off_emu",10,0.0,2.0);
00618     
00619     OR_emu_li                 =   dbe->book1D ("or_emu_li","or_emu_li",10,0.0,2.0);
00620     OR_off_emu_li             =   dbe->book1D ("or_off_emu_li","or_off_emu_li",10,0.0,2.0);
00621     
00622     OR_emu_ni                 =   dbe->book1D ("or_emu_ni","or_emu_ni",10,0.0,2.0);
00623     OR_off_emu_ni             =   dbe->book1D ("or_off_emu_ni","or_off_emu_ni",10,0.0,2.0);*/
00624  
00625   
00626  /* ////// histos event type  
00627  
00628     Nttbar                    = subDirEventType.make<TH1F> ("NttbarEvents","NttbarEvents",10,0.0,2.0);
00629   
00630     Nsemilep                  = subDirEventType.make<TH1F> ("NsemilepEvents","NsemilepEvents",10,0.0,2.0);
00631     Ndilep                    = subDirEventType.make<TH1F> ("NdilepEvents","NdilepEvents",10,0.0,2.0);
00632     Nhadronic                 = subDirEventType.make<TH1F> ("NhadronicEvents","NhadronicEvents",10,0.0,2.0);
00633     
00634     Nsemimu                   = subDirmu.make<TH1F>("NsemimuEvents","NsemimuEvents",10,0.0,2.0);
00635     Nsemiel                   = subDirel.make<TH1F>("NsemielEvents","NsemielEvents",10,0.0,2.0);
00636     Nsemitau                  = subDirEventType.make<TH1F>("NsemitauEvents","NsemitauEvents",10,0.0,2.0);
00637     
00638     Ndimu                     = subDirdimu.make<TH1F>("NdimuEvents","NdimuEvents",10,0.0,2.0);
00639     Ndiel                     = subDirdiel.make<TH1F>("NdielEvents","NdielEvents",10,0.0,2.0);
00640     Nemu                      = subDiremu.make<TH1F>("NemuEvents","NemuEvents",10,0.0,2.0);
00641     Ntaumu                    = subDirEventType.make<TH1F>("NtaumuEvents","NtaumuEvents",10,0.0,2.0);
00642     Ntauel                    = subDirEventType.make<TH1F>("NtauelEvents","NtauelEvents",10,0.0,2.0);
00643     Nditau                    = subDirEventType.make<TH1F> ("NditauEvents","NditauEvents",10,0.0,2.0);
00644     
00645  
00646     
00648     
00649     acceptmu                  = subDirmu.make<TH1F>("NsemimuAcceptedEvents","NsemimuAcceptedEvents",10,0.0,2.0);
00650     acceptel                  = subDirel.make<TH1F>("NsemielAcceptedEvents","NsemielAcceptedEvents",10,0.0,2.0);
00651     acceptdimu                = subDirdimu.make<TH1F>("NdimuAcceptedEvents","NdimuAcceptedEvents",10,0.0,2.0);
00652     acceptdiel                = subDirdiel.make<TH1F>("NdielAcceptedEvents","NdielAcceptedEvents",10,0.0,2.0);
00653     acceptemu                 = subDiremu.make<TH1F>("NemuAcceptedEvents","NemuAcceptedEvents",10,0.0,2.0);
00654 
00655    
00656     
00658      
00660     Noffmu                    =  subDirmu.make<TH1F> ("Noff_semimu","Noff_semimu",10,0.0,2.0); 
00661     hlt1muon_semimu           =  subDirmu.make<TH1F> ("hlt1muon_semimu","hlt1muon_semimu",10,0.0,2.0);
00662     hlt1muon_off_semimu       =  subDirmu.make<TH1F> ("hlt1muon_off_semimu","hl1muon_off_semimu",10,0.0,2.0);
00663     
00664     hlt1muoniso_semimu        =  subDirmu.make<TH1F> ("hlt1muoniso_semimu","hlt1muoniso_semimu",10,0.0,2.0); 
00665     hlt1muoniso_off_semimu    =  subDirmu.make<TH1F> ("hlt1muoniso_off_semimu","hl1muoniso_off_semimu",10,0.0,2.0);
00666     
00667     hlt2muon_semimu           =  subDirmu.make<TH1F> ("hlt2muon_semimu","hlt2muon_semimu",10,0.0,2.0);
00668     hlt2muon_off_semimu       =  subDirmu.make<TH1F> ("hlt2muon_off_semimu","hl2muon_off_semimu",10,0.0,2.0);
00669     
00670     hlt1elecrelax_semimu      =  subDirmu.make<TH1F> ("hlt1elecrelax_semimu","hlt1elecrelax_semimu",10,0.0,2.0);
00671     hlt1elecrelax_off_semimu  =  subDirmu.make<TH1F> ("hlt1elecrelax_off_semimu","hl1elecrelax_off_semimu",10,0.0,2.0);
00672     
00673     hlt1elec_semimu           =  subDirmu.make<TH1F> ("hlt1elec_semimu","hlt1elec_semimu",10,0.0,2.0);
00674     hlt1elec_off_semimu       =  subDirmu.make<TH1F> ("hlt1elec_off_semimu","hl1elec_off_semimu",10,0.0,2.0);
00675     
00676     hlt2elec_semimu           =  subDirmu.make<TH1F> ("hlt2elec_semimu","hlt2elec_semimu",10,0.0,2.0);
00677     hlt2elec_off_semimu       =  subDirmu.make<TH1F> ("hlt2elec_off_semimu","hl2elec_off_semimu",10,0.0,2.0);
00678     
00679     hltelecmu_semimu          =  subDirmu.make<TH1F> ("hltelecmu_semimu","hltelecmu_semimu",10,0.0,2.0); 
00680     hltelecmu_off_semimu      =  subDirmu.make<TH1F> ("hltelecmu_off_semimu","hlelecmu_off_semimu",10,0.0,2.0);
00681     
00682     hltelecmurelax_semimu     =  subDirmu.make<TH1F> ("hltelecmurelax_semimu","hltelecmurelax_semimu",10,0.0,2.0);
00683     hltelecmurelax_off_semimu =  subDirmu.make<TH1F> ("hltelecmurelax_off_semimu","hlelecmurelax_off_semimu",10,0.0,2.0);
00684     
00685     hlt1jet_semimu            =  subDirmu.make<TH1F> ("hlt1jet_semimu","hlt1jet_semimu",10,0.0,2.0); 
00686     hlt1jet_off_semimu        =  subDirmu.make<TH1F> ("hlt1jet_off_semimu","hl1jet_off_semimu",10,0.0,2.0);
00687     
00688     //----new paths
00689     hlt4jet30_semimu          =  subDirmu.make<TH1F> ("hlt4jet30_semimu","hlt4jet30_semimu",10,0.0,2.0);
00690     hlt1elec15_li_semimu      =  subDirmu.make<TH1F> ("hlt1elec15_li_semimu","hlt1elec15_li_semimu",10,0.0,2.0);
00691     hlt1elec15_ni_semimu      =  subDirmu.make<TH1F> ("hlt1elec15_ni_semimu","hlt1elec15_ni_semimu",10,0.0,2.0);
00692     
00693     hlt4jet30_off_semimu          =  subDirmu.make<TH1F> ("hlt4jet30_off_semimu","hlt4jet30_off_semimu",10,0.0,2.0);
00694     hlt1elec15_li_off_semimu      =  subDirmu.make<TH1F> ("hlt1elec15_li_off_semimu","hlt1elec15_li_off_semimu",10,0.0,2.0);
00695     hlt1elec15_ni_off_semimu      =  subDirmu.make<TH1F> ("hlt1elec15_ni_off_semimu","hlt1elec15_ni_off_semimu",10,0.0,2.0);
00696       
00697           
00699     Noffel                    =  subDirel.make<TH1F> ("Noff_semiel","Noff_semiel",10,0.0,2.0); 
00700     hlt1muon_semiel           =  subDirel.make<TH1F> ("hlt1muon_semiel","hlt1muon_semiel",10,0.0,2.0); 
00701     hlt1muon_off_semiel       =  subDirel.make<TH1F> ("hlt1muon_off_semiel","hl1muon_off_semiel",10,0.0,2.0);
00702     
00703     hlt1muoniso_semiel        =  subDirel.make<TH1F> ("hlt1muoniso_semiel","hlt1muoniso_semiel",10,0.0,2.0); 
00704     hlt1muoniso_off_semiel    =  subDirel.make<TH1F> ("hlt1muoniso_off_semiel","hl1muoniso_off_semiel",10,0.0,2.0);
00705     
00706     hlt2muon_semiel           =  subDirel.make<TH1F> ("hlt2muon_semiel","hlt2muon_semiel",10,0.0,2.0);  
00707     hlt2muon_off_semiel       =  subDirel.make<TH1F> ("hlt2muon_off_semiel","hl2muon_off_semiel",10,0.0,2.0);
00708     
00709     hlt1elecrelax_semiel      =  subDirel.make<TH1F> ("hlt1elecrelax_semiel","hlt1elecrelax_semiel",10,0.0,2.0);
00710     hlt1elecrelax_off_semiel  =  subDirel.make<TH1F> ("hlt1elecrelax_off_semiel","hl1elecrelax_off_semiel",10,0.0,2.0);
00711     
00712     hlt1elec_semiel           =  subDirel.make<TH1F> ("hlt1elec_semiel","hlt1elec_semiel",10,0.0,2.0); 
00713     hlt1elec_off_semiel       =  subDirel.make<TH1F> ("hlt1elec_off_semiel","hl1elec_off_semiel",10,0.0,2.0);
00714     
00715     hlt2elec_semiel           =  subDirel.make<TH1F> ("hlt2elec_semiel","hlt2elec_semiel",10,0.0,2.0); 
00716     hlt2elec_off_semiel       =  subDirel.make<TH1F> ("hlt2elec_off_semiel","hl2elec_off_semiel",10,0.0,2.0);
00717     
00718     hltelecmu_semiel          =  subDirel.make<TH1F> ("hltelecmu_semiel","hltelecmu_semiel",10,0.0,2.0);
00719     hltelecmu_off_semiel      =  subDirel.make<TH1F> ("hltelecmu_off_semiel","hlelecmu_off_semiel",10,0.0,2.0);
00720     
00721     hltelecmurelax_semiel     =  subDirel.make<TH1F> ("hltelecmurelax_semiel","hltelecmurelax_semiel",10,0.0,2.0);
00722     hltelecmurelax_off_semiel =  subDirel.make<TH1F> ("hltelecmurelax_off_semiel","hlelecmurelax_off_semiel",10,0.0,2.0);
00723     
00724     hlt1jet_semiel            =  subDirel.make<TH1F> ("hlt1jet_semiel","hlt1jet_semiel",10,0.0,2.0);
00725     hlt1jet_off_semiel        =  subDirel.make<TH1F> ("hlt1jet_off_semiel","hl1jet_off_semiel",10,0.0,2.0);
00726     
00727      //----new paths
00728     hlt4jet30_semiel          =  subDirel.make<TH1F> ("hlt4jet30_semiel","hlt4jet30_semiel",10,0.0,2.0);
00729     hlt1elec15_li_semiel      =  subDirel.make<TH1F> ("hlt1elec15_li_semiel","hlt1elec15_li_semiel",10,0.0,2.0);
00730     hlt1elec15_ni_semiel      =  subDirel.make<TH1F> ("hlt1elec15_ni_semiel","hlt1elec15_ni_semiel",10,0.0,2.0);
00731     
00732     hlt4jet30_off_semiel          =  subDirel.make<TH1F> ("hlt4jet30_off_semiel","hlt4jet30_off_semiel",10,0.0,2.0);
00733     hlt1elec15_li_off_semiel      =  subDirel.make<TH1F> ("hlt1elec15_li_off_semiel","hlt1elec15_li_off_semiel",10,0.0,2.0);
00734     hlt1elec15_ni_off_semiel      =  subDirel.make<TH1F> ("hlt1elec15_ni_off_semiel","hlt1elec15_ni_off_semiel",10,0.0,2.0);
00735       
00736  
00737       
00738     
00740     Noffdimu                  =   subDirdimu.make<TH1F> ("Noff_dimu","Noff_dimu",10,0.0,2.0); 
00741     hlt1muon_dimu             =   subDirdimu.make<TH1F> ("hlt1muon_dimu","hlt1muon_dimu",10,0.0,2.0);   
00742     hlt1muon_off_dimu         =   subDirdimu.make<TH1F> ("hlt1muon_off_dimu","hl1muon_off_dimu",10,0.0,2.0);
00743     
00744     hlt1muoniso_dimu          =   subDirdimu.make<TH1F> ("hlt1muoniso_dimu","hlt1muoniso_dimu",10,0.0,2.0); 
00745     hlt1muoniso_off_dimu      =   subDirdimu.make<TH1F> ("hlt1muoniso_off_dimu","hl1muoniso_off_dimu",10,0.0,2.0);
00746     
00747     hlt2muon_dimu             =   subDirdimu.make<TH1F> ("hlt2muon_dimu","hlt2muon_dimu",10,0.0,2.0);
00748     hlt2muon_off_dimu         =   subDirdimu.make<TH1F> ("hlt2muon_off_dimu","hl2muon_off_dimu",10,0.0,2.0);
00749     
00750     hlt1elecrelax_dimu        =   subDirdimu.make<TH1F> ("hlt1elecrelax_dimu","hlt1elecrelax_dimu",10,0.0,2.0);
00751     hlt1elecrelax_off_dimu    =   subDirdimu.make<TH1F> ("hlt1elecrelax_off_dimu","hl1elecrelax_off_dimu",10,0.0,2.0);
00752     
00753     hlt1elec_dimu             =   subDirdimu.make<TH1F> ("hlt1elec_dimu","hlt1elec_dimu",10,0.0,2.0);  
00754     hlt1elec_off_dimu         =   subDirdimu.make<TH1F> ("hlt1elec_off_dimu","hl1elec_off_dimu",10,0.0,2.0);
00755     
00756     hlt2elec_dimu             =   subDirdimu.make<TH1F> ("hlt2elec_dimu","hlt2elec_dimu",10,0.0,2.0);
00757     hlt2elec_off_dimu         =   subDirdimu.make<TH1F> ("hlt2elec_off_dimu","hl2elec_off_dimu",10,0.0,2.0);
00758     
00759     hltelecmu_dimu            =   subDirdimu.make<TH1F> ("hltelecmu_dimu","hltelecmu_dimu",10,0.0,2.0);
00760     hltelecmu_off_dimu        =   subDirdimu.make<TH1F> ("hltelecmu_off_dimu","hlelecmu_off_dimu",10,0.0,2.0);
00761     
00762     hltelecmurelax_dimu       =   subDirdimu.make<TH1F> ("hltelecmurelax_dimu","hltelecmurelax_dimu",10,0.0,2.0);
00763     hltelecmurelax_off_dimu   =   subDirdimu.make<TH1F> ("hltelecmurelax_off_dimu","hlelecmurelax_off_dimu",10,0.0,2.0);
00764     
00765     hlt1jet_dimu              =   subDirdimu.make<TH1F> ("hlt1jet_dimu","hlt1jet_dimu",10,0.0,2.0); 
00766     hlt1jet_off_dimu          =   subDirdimu.make<TH1F> ("hlt1jet_off_dimu","hl1jet_off_dimu",10,0.0,2.0);
00767     
00768      //----new paths
00769     hlt4jet30_dimu          =   subDirdimu.make<TH1F> ("hlt4jet30_dimu","hlt4jet30_dimu",10,0.0,2.0);
00770     hlt1elec15_li_dimu      =   subDirdimu.make<TH1F> ("hlt1elec15_li_dimu","hlt1elec15_li_dimu",10,0.0,2.0);
00771     hlt1elec15_ni_dimu      =   subDirdimu.make<TH1F> ("hlt1elec15_ni_dimu","hlt1elec15_ni_dimu",10,0.0,2.0);
00772     
00773     hlt4jet30_off_dimu          =  subDirdimu.make<TH1F> ("hlt4jet30_off_dimu","hlt4jet30_off_dimu",10,0.0,2.0);
00774     hlt1elec15_li_off_dimu      =  subDirdimu.make<TH1F> ("hlt1elec15_li_off_dimu","hlt1elec15_li_off_dimu",10,0.0,2.0);
00775     hlt1elec15_ni_off_dimu      =  subDirdimu.make<TH1F> ("hlt1elec15_ni_off_dimu","hlt1elec15_ni_off_dimu",10,0.0,2.0);
00776       
00777     
00778       
00780     Noffdiel                  =   subDirdiel.make<TH1F> ("Noff_diel","Noff_diel",10,0.0,2.0); 
00781     hlt1muon_diel             =   subDirdiel.make<TH1F> ("hlt1muon_diel","hlt1muon_diel",10,0.0,2.0);
00782     hlt1muon_off_diel         =   subDirdiel.make<TH1F> ("hlt1muon_off_diel","hl1muon_off_diel",10,0.0,2.0);   
00783    
00784     hlt1muoniso_diel          =   subDirdiel.make<TH1F> ("hlt1muoniso_diel","hlt1muoniso_diel",10,0.0,2.0);  
00785     hlt1muoniso_off_diel      =   subDirdiel.make<TH1F> ("hlt1muoniso_off_diel","hl1muoniso_off_diel",10,0.0,2.0);   
00786  
00787     hlt2muon_diel             =   subDirdiel.make<TH1F> ("hlt2muon_diel","hlt2muon_diel",10,0.0,2.0); 
00788     hlt2muon_off_diel         =   subDirdiel.make<TH1F> ("hlt2muon_off_diel","hl2muon_off_diel",10,0.0,2.0);  
00789     
00790     hlt1elecrelax_diel        =   subDirdiel.make<TH1F> ("hlt1elecrelax_diel","hlt1elecrelax_diel",10,0.0,2.0);
00791     hlt1elecrelax_off_diel    =   subDirdiel.make<TH1F> ("hlt1elecrelax_off_diel","hl1elecrelax_off_diel",10,0.0,2.0);  
00792   
00793     hlt1elec_diel             =   subDirdiel.make<TH1F> ("hlt1elec_diel","hlt1elec_diel",10,0.0,2.0);
00794     hlt1elec_off_diel         =   subDirdiel.make<TH1F> ("hlt1elec_off_diel","hl1elec_off_diel",10,0.0,2.0);
00795     
00796     hlt2elec_diel             =   subDirdiel.make<TH1F> ("hlt2elec_diel","hlt2elec_diel",10,0.0,2.0);
00797     hlt2elec_off_diel         =   subDirdiel.make<TH1F> ("hlt2elec_off_diel","hl2elec_off_diel",10,0.0,2.0);
00798     
00799     hltelecmu_diel            =   subDirdiel.make<TH1F> ("hltelecmu_diel","hltelecmu_diel",10,0.0,2.0); 
00800     hltelecmu_off_diel        =   subDirdiel.make<TH1F> ("hltelecmu_off_diel","hlelecmu_off_diel",10,0.0,2.0);
00801     
00802     hltelecmurelax_diel       =   subDirdiel.make<TH1F> ("hltelecmurelax_diel","hltelecmurelax_diel",10,0.0,2.0);  
00803     hltelecmurelax_off_diel   =   subDirdiel.make<TH1F> ("hltelecmurelax_off_diel","hlelecmurelax_off_diel",10,0.0,2.0);
00804     
00805     hlt1jet_diel              =   subDirdiel.make<TH1F> ("hlt1jet_diel","hlt1jet_diel",10,0.0,2.0);
00806     hlt1jet_off_diel          =   subDirdiel.make<TH1F> ("hlt1jet_off_diel","hl1jet_off_diel",10,0.0,2.0);
00807     
00808      //----new paths
00809     hlt4jet30_diel          =  subDirdiel.make<TH1F> ("hlt4jet30_diel","hlt4jet30_diel",10,0.0,2.0);
00810     hlt1elec15_li_diel      =  subDirdiel.make<TH1F> ("hlt1elec15_li_diel","hlt1elec15_li_diel",10,0.0,2.0);
00811     hlt1elec15_ni_diel      =  subDirdiel.make<TH1F> ("hlt1elec15_ni_diel","hlt1elec15_ni_diel",10,0.0,2.0);
00812     
00813     hlt4jet30_off_diel          =  subDirdiel.make<TH1F> ("hlt4jet30_off_diel","hlt4jet30_off_diel",10,0.0,2.0);
00814     hlt1elec15_li_off_diel      =  subDirdiel.make<TH1F> ("hlt1elec15_li_off_diel","hlt1elec15_li_off_diel",10,0.0,2.0);
00815     hlt1elec15_ni_off_diel      =  subDirdiel.make<TH1F> ("hlt1elec15_ni_off_diel","hlt1elec15_ni_off_diel",10,0.0,2.0);
00816       
00817     
00818     
00820     Noffemu                   =   subDiremu.make<TH1F> ("Noff_emu","Noff_emu",10,0.0,2.0); 
00821    
00822     hlt1muon_emu              =   subDiremu.make<TH1F> ("hlt1muon_emu","hlt1muon_emu",10,0.0,2.0);
00823     hlt1muon_off_emu          =   subDiremu.make<TH1F> ("hlt1muon_off_emu","hl1muon_off_emu",10,0.0,2.0);
00824     
00825     hlt1muoniso_emu           =   subDiremu.make<TH1F> ("hlt1muoniso_emu","hlt1muoniso_emu",10,0.0,2.0);
00826     hlt1muoniso_off_emu       =   subDiremu.make<TH1F> ("hlt1muoniso_off_emu","hl1muoniso_off_emu",10,0.0,2.0);
00827     
00828     hlt2muon_emu              =   subDiremu.make<TH1F> ("hlt2muon_emu","hlt2muon_emu",10,0.0,2.0);
00829     hlt2muon_off_emu          =   subDiremu.make<TH1F> ("hlt2muon_off_emu","hl2muon_off_emu",10,0.0,2.0);
00830     
00831     hlt1elecrelax_emu         =   subDiremu.make<TH1F> ("hlt1elecrelax_emu","hlt1elecrelax_emu",10,0.0,2.0);   
00832     hlt1elecrelax_off_emu     =   subDiremu.make<TH1F> ("hlt1elecrelax_off_emu","hl1elecrelax_off_emu",10,0.0,2.0);
00833     
00834     hlt1elec_emu              =   subDiremu.make<TH1F> ("hlt1elec_emu","hlt1elec_emu",10,0.0,2.0);
00835     hlt1elec_off_emu          =   subDiremu.make<TH1F> ("hlt1elec_off_emu","hl1elec_off_emu",10,0.0,2.0);
00836     
00837     hlt2elec_emu              =   subDiremu.make<TH1F> ("hlt2elec_emu","hlt2elec_emu",10,0.0,2.0);
00838     hlt2elec_off_emu          =   subDiremu.make<TH1F> ("hlt2elec_off_emu","hl2elec_off_emu",10,0.0,2.0);
00839     
00840     hltelecmu_emu             =   subDiremu.make<TH1F> ("hltelecmu_emu","hltelecmu_emu",10,0.0,2.0);
00841     hltelecmu_off_emu         =   subDiremu.make<TH1F> ("hltelecmu_off_emu","hlelecmu_off_emu",10,0.0,2.0);
00842     
00843     hltelecmurelax_emu        =   subDiremu.make<TH1F> ("hltelecmurelax_emu","hltelecmurelax_emu",10,0.0,2.0);   
00844     hltelecmurelax_off_emu    =   subDiremu.make<TH1F> ("hltelecmurelax_off_emu","hlelecmurelax_off_emu",10,0.0,2.0);
00845     
00846     hlt1jet_emu               =   subDiremu.make<TH1F> ("hlt1jet_emu","hlt1jet_emu",10,0.0,2.0);  
00847     hlt1jet_off_emu           =   subDiremu.make<TH1F> ("hlt1jet_off_emu","hl1jet_off_emu",10,0.0,2.0);
00848     
00849      //----new paths
00850     hlt4jet30_emu          =  subDiremu.make<TH1F> ("hlt4jet30_emu","hlt4jet30_emu",10,0.0,2.0);
00851     hlt1elec15_li_emu      =  subDiremu.make<TH1F> ("hlt1elec15_li_emu","hlt1elec15_li_emu",10,0.0,2.0);
00852     hlt1elec15_ni_emu      =  subDiremu.make<TH1F> ("hlt1elec15_ni_emu","hlt1elec15_ni_emu",10,0.0,2.0);
00853     
00854     hlt4jet30_off_emu          =  subDiremu.make<TH1F> ("hlt4jet30_off_emu","hlt4jet30_off_emu",10,0.0,2.0);
00855     hlt1elec15_li_off_emu      =  subDiremu.make<TH1F> ("hlt1elec15_li_off_emu","hlt1elec15_li_off_emu",10,0.0,2.0);
00856     hlt1elec15_ni_off_emu      =  subDiremu.make<TH1F> ("hlt1elec15_ni_off_emu","hlt1elec15_ni_off_emu",10,0.0,2.0);
00857       
00858     
00859  
00860    
00861  */
00862    
00863   
00864   nEvents = 0;
00865   nAccepted = 0;
00866  
00867   semilepEvent=0;
00868   dilepEvent=0;
00869   hadronicEvent=0;
00870   
00871   dimuEvent=0;
00872   dielEvent=0;
00873   ditauEvent=0;
00874   muEvent=0;
00875   tauEvent=0;
00876   elecEvent=0;
00877   emuEvent=0;
00878   taumuEvent=0;
00879   tauelEvent=0;
00880   
00881  
00882   
00883 
00884   
00885 
00886   return ;
00887   
00888   
00889 }
00890 
00891 // ------------ method called once each job just after ending the event loop  ------------
00892 void 
00893 TopValidation::endJob() {  
00894 //Write DQM thing..
00895  // outFile_  =  "prueba";
00896   //if(outFile_.size()>0)
00897  // if (&*edm::Service<DQMStore>()) edm::Service<DQMStore>()->save (outFile_);
00898   if(outputMEsInRootFile){
00899     dbe->showDirStructure();
00900     dbe->save(outputFileName);
00901   }
00902 
00903 
00904  /* cout << endl;
00905  
00906   cout << endl;
00907   cout << "Total: " << nEvents << endl;  
00908   cout << "Acceptd top events: " << nAccepted<< endl;  
00909 
00910   cout << endl;
00911  
00912 
00913   cout<<"semileptonic events="<<semilepEvent<<"  --> "<<muEvent<<" mu, "<<elecEvent<<" e, "<<tauEvent<<" tau"<<endl;
00914   cout<<"dileptonic events="<<dilepEvent<<" --> "<<dimuEvent<< " dimu, "<< dielEvent<<" diel, "<<ditauEvent<<" ditau,"
00915   <<taumuEvent<<" mutau, "<<tauelEvent<<" etau , "<<emuEvent<<" emu"<<endl;
00916   cout<<"hadronic events="<<hadronicEvent<<endl;
00917 
00918 
00919  
00920 
00921 cout<<endl;  */
00922 
00923    
00924 
00925   return ;
00926 }
00927 
00928 //define this as a plug-in
00929 DEFINE_FWK_MODULE(TopValidation);

Generated on Tue Jun 9 17:38:07 2009 for CMSSW by  doxygen 1.5.4