CMS 3D CMS Logo

HLTMuonDQMSource Class Reference

* DQM Test Client More...

#include <DQM/HLTEvF/interface/HLTMuonDQMSource.h>

Inheritance diagram for HLTMuonDQMSource:

edm::EDAnalyzer

List of all members.

Public Member Functions

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

Protected Member Functions

void analyze (const edm::Event &e, const edm::EventSetup &c)
 Fake Analyze.
void beginJob (const edm::EventSetup &c)
 BeginJob.
void beginLuminosityBlock (const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &context)
void beginRun (const edm::Run &r, const edm::EventSetup &c)
 BeginRun.
void endJob ()
 Endjob.
void endLuminosityBlock (const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c)
 DQM Client Diagnostic.
void endRun (const edm::Run &r, const edm::EventSetup &c)
 EndRun.

Private Attributes

double coneSize_
 every n events
int counterEvt_
DQMStoredbe_
MonitorElementhcharge [4]
MonitorElementhd0 [2]
MonitorElementhd0phi [2]
MonitorElementhdimumass [2]
MonitorElementhdr [2]
MonitorElementhdrphi [2]
MonitorElementhdz [2]
MonitorElementhdzeta [2]
MonitorElementherr0 [2]
MonitorElementheta [4]
MonitorElementhetaphi [4]
MonitorElementhetares [3]
MonitorElementhetareseta [3]
MonitorElementhiso [2]
MonitorElementhl1quality
MonitorElementhnhit [4]
MonitorElementhNMu [4]
MonitorElementhphi [4]
MonitorElementhphires [3]
MonitorElementhphiresphi [3]
MonitorElementhpt [4]
MonitorElementhpteta [4]
MonitorElementhptlx [2]
MonitorElementhptphi [4]
MonitorElementhptres [3]
edm::InputTag l2collectionTag_
edm::InputTag l2isolationTag_
edm::InputTag l2seedscollectionTag_
edm::InputTag l3collectionTag_
edm::InputTag l3isolationTag_
std::string monitorName_
std::string outputFile_
edm::ParameterSet parameters_
int prescaleEvt_
 counter
bool verbose_
float XMAX
float XMIN


Detailed Description

* DQM Test Client

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

Date
2008/10/16 16:43:33
Revision
1.6
Author:
M. Vander Donckt CERN
Implementation: <Notes on="" implementation>="">

Definition at line 25 of file HLTMuonDQMSource.h.


Constructor & Destructor Documentation

HLTMuonDQMSource::HLTMuonDQMSource ( const edm::ParameterSet ps  ) 

Definition at line 58 of file HLTMuonDQMSource.cc.

References coneSize_, dbe_, lat::endl(), edm::ParameterSet::getUntrackedParameter(), l2collectionTag_, l2isolationTag_, l2seedscollectionTag_, l3collectionTag_, l3isolationTag_, monitorName_, NULL, outputFile_, parameters_, prescaleEvt_, and verbose_.

00058                                                               :counterEvt_(0)
00059 
00060 {
00061   parameters_ = ps;
00062   verbose_ = parameters_.getUntrackedParameter < bool > ("verbose", false);
00063   monitorName_ = parameters_.getUntrackedParameter<string>("monitorName","HLT/HLTMonMuon");
00064   prescaleEvt_ = parameters_.getUntrackedParameter<int>("prescaleEvt", -1);
00065   coneSize_ = parameters_.getUntrackedParameter<double>("coneSize", 0.24);
00066   l2seedscollectionTag_ = parameters_.getUntrackedParameter<InputTag>("l2MuonSeedTag",edm::InputTag("hltL2MuonSeeds"));
00067   l2collectionTag_ = parameters_.getUntrackedParameter<InputTag>("l2MuonTag",edm::InputTag("hltL2MuonCandidates"));
00068   l3collectionTag_ = parameters_.getUntrackedParameter<InputTag>("l3MuonTag",edm::InputTag("hltL3MuonCandidates"));
00069   l2isolationTag_ = parameters_.getUntrackedParameter<InputTag>("l2IsolationTag",edm::InputTag("hltL2MuonIsolations"));
00070   l3isolationTag_ = parameters_.getUntrackedParameter<InputTag>("l3IsolationTag",edm::InputTag("hltL3MuonIsolations"));
00071 
00072    dbe_ = 0 ;
00073    dbe_ = Service < DQMStore > ().operator->();
00074    dbe_->setVerbose(0);
00075  
00076    outputFile_ =
00077        parameters_.getUntrackedParameter < std::string > ("outputFile", "");
00078    if (outputFile_.size() != 0) {
00079      LogWarning("HLTMuonDQMSource") << "Muon HLT Monitoring histograms will be saved to " 
00080                << outputFile_ << std::endl;
00081    }
00082    else {
00083      outputFile_ = "HLTMuonDQM.root";
00084    }
00085  
00086    bool disable =
00087      parameters_.getUntrackedParameter < bool > ("disableROOToutput", false);
00088    if (disable) {
00089      outputFile_ = "";
00090    }
00091 
00092    if (dbe_ != NULL) {
00093      dbe_->setCurrentFolder("HLT/HLTMonMuon");
00094    }
00095 
00096 
00097 }

HLTMuonDQMSource::~HLTMuonDQMSource (  ) 

Definition at line 100 of file HLTMuonDQMSource.cc.

00101 {
00102    
00103   // do anything here that needs to be done at desctruction time
00104   // (e.g. close files, deallocate resources etc.)
00105   
00106 }


Member Function Documentation

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

Fake Analyze.

Implements edm::EDAnalyzer.

Definition at line 290 of file HLTMuonDQMSource.cc.

References LocalTrajectoryParameters::charge(), coneSize_, counterEvt_, dbe_, detId, lat::endl(), eta, PV3DBase< T, PVType, FrameType >::eta(), edm::Handle< T >::failedToGet(), MonitorElement::Fill(), edm::Event::getByLabel(), hcharge, hd0, hd0phi, hdimumass, hdr, hdrphi, hdz, hdzeta, herr0, heta, hetaphi, hetares, hetareseta, hiso, hl1quality, hnhit, hNMu, hphi, hphires, hphiresphi, hpt, hpteta, hptlx, hptphi, hptres, edm::Ref< C, T, F >::id(), l2collectionTag_, l2isolationTag_, l2seedscollectionTag_, l3collectionTag_, l3isolationTag_, LogDebug, LocalTrajectoryParameters::momentum(), PTrajectoryStateOnDet::parameters(), PV3DBase< T, PVType, FrameType >::perp(), PV3DBase< T, PVType, FrameType >::phi(), phi, reco::BeamSpot::position(), prescaleEvt_, state, and TwoPi.

00292 {  
00293   if ( !dbe_) return;
00294   counterEvt_++;
00295   if (prescaleEvt_ > 0 && counterEvt_%prescaleEvt_!=0) return;
00296   LogDebug("HLTMuonDQMSource") << " processing conterEvt_: " << counterEvt_ <<endl;
00297 
00298   Handle<RecoChargedCandidateCollection> l2mucands, l3mucands;
00299   iEvent.getByLabel (l2collectionTag_,l2mucands);
00300   iEvent.getByLabel (l3collectionTag_,l3mucands);
00301 
00302   RecoChargedCandidateCollection::const_iterator cand,cand2;
00303   Handle<L2MuonTrajectorySeedCollection> l2seeds; 
00304   iEvent.getByLabel (l2seedscollectionTag_,l2seeds);
00305 
00306 
00307   if (!l2seeds.failedToGet()) {
00308     hNMu[3]->Fill(l2seeds->size());
00309     L2MuonTrajectorySeedCollection::const_iterator l2seed;
00310     for (l2seed=l2seeds->begin() ; l2seed != l2seeds->end();++l2seed){
00311       PTrajectoryStateOnDet state=l2seed->startingState();
00312       float pt=state.parameters().momentum().perp();
00313       float eta=state.parameters().momentum().phi();
00314       float phi=state.parameters().momentum().eta();
00315       hcharge[3]->Fill(state.parameters().charge());
00316       hpt[3]->Fill(pt);
00317       hnhit[3]->Fill(l2seed->nHits());
00318       hphi[3]->Fill(phi);
00319       heta[3]->Fill(eta);
00320       hetaphi[3]->Fill(phi,eta);
00321       hptphi[3]->Fill(pt,phi);
00322       hpteta[3]->Fill(pt,eta);
00323       L1MuonParticleRef l1ref=l2seed->l1Particle();
00324       hcharge[0]->Fill(l1ref->charge());
00325       hpt[0]->Fill(l1ref->pt());
00326       hphi[0]->Fill(l1ref->phi());
00327       heta[0]->Fill(l1ref->eta());
00328       hetaphi[0]->Fill(l1ref->phi(),l1ref->eta());
00329       hptphi[0]->Fill(l1ref->pt(),l1ref->phi());
00330       hpteta[0]->Fill(l1ref->pt(),l1ref->eta());
00331       hl1quality->Fill(l1ref->gmtMuonCand().quality());
00332       if ( !l2mucands.failedToGet()) {
00333         for (cand=l2mucands->begin(); cand!=l2mucands->end(); ++cand) {
00334           TrackRef tk = cand->get<TrackRef>();
00335           RefToBase<TrajectorySeed> seed=tk->seedRef();
00336           if ( (l2seed->startingState()).detId() == (seed->startingState()).detId() ) {
00337             if(tk->pt()*l1ref->pt() != 0 )hptres[0]->Fill(1/tk->pt() - 1/l1ref->pt());
00338             hetares[0]->Fill(tk->eta()-l1ref->eta());
00339             hetareseta[0]->Fill(tk->eta(),tk->eta()-l1ref->eta());
00340             hphires[0]->Fill(tk->phi()-l1ref->phi());
00341             double dphi=tk->phi()-l1ref->phi();
00342             if (dphi>TMath::TwoPi())dphi-=2*TMath::TwoPi();
00343             else if (dphi<-TMath::TwoPi()) dphi+=TMath::TwoPi();
00344             hphiresphi[0]->Fill(tk->phi(),dphi);
00345             //find the L3 build from this L2
00346             
00347             if (!l3mucands.failedToGet()) {
00348               for (cand=l3mucands->begin(); cand!=l3mucands->end(); ++cand) {
00349                 TrackRef l3tk= cand->get<TrackRef>();
00350                 if (l3tk->seedRef().castTo<Ref<L3MuonTrajectorySeedCollection> >()->l2Track() == tk){
00351                   if(l1ref->pt()*l3tk->pt() != 0 )hptres[2]->Fill(1/l1ref->pt() - 1/l3tk->pt());
00352                   hetares[2]->Fill(l1ref->eta()-l3tk->eta());
00353                   hetareseta[2]->Fill(l1ref->eta(),l1ref->eta()-l3tk->eta());
00354                   hphires[2]->Fill(l1ref->phi()-l3tk->phi());
00355                   double dphi=l1ref->phi()-l3tk->phi();
00356                   if (dphi>TMath::TwoPi())dphi-=2*TMath::TwoPi();
00357                   else if (dphi<-TMath::TwoPi()) dphi+=TMath::TwoPi();
00358                   hphiresphi[2]->Fill(l3tk->phi(),dphi);
00359                   //break; //plot only once per L2?
00360                 }//if
00361               }//for
00362             }
00363             break;
00364           }
00365         }
00366       }
00367     }
00368   }
00369 
00370 
00371 
00372   reco::BeamSpot beamSpot;
00373   edm::Handle<reco::BeamSpot> recoBeamSpotHandle;
00374   iEvent.getByLabel("offlineBeamSpot",recoBeamSpotHandle);
00375   if (!recoBeamSpotHandle.failedToGet())  beamSpot = *recoBeamSpotHandle;
00376 
00377   if (!l2mucands.failedToGet()) {
00378     LogDebug("HLTMuonDQMSource") << " filling L2 stuff " << endl;
00379     Handle<reco::IsoDepositMap> l2depMap;
00380     iEvent.getByLabel (l2isolationTag_,l2depMap);
00381     hNMu[1]->Fill(l2mucands->size());
00382     for (cand=l2mucands->begin(); cand!=l2mucands->end(); ++cand) {
00383       TrackRef tk = cand->get<TrackRef>();
00384       if (!l2depMap.failedToGet()) {
00385           LogDebug("HLTMuonDQMSource") << " filling L2 Iso stuff " << endl;
00386           if ( l2depMap->contains(tk.id()) ){
00387             reco::IsoDepositMap::value_type calDeposit= (*l2depMap)[tk];
00388             double dephlt = calDeposit.depositWithin(coneSize_);
00389             hiso[0]->Fill(dephlt);
00390           }
00391       }
00392     
00393       // eta cut
00394       hpt[1]->Fill(tk->pt());      
00395       double apar0 = fabs(tk->parameter(0));
00396       if (apar0>0)hptlx[0]->Fill((1+3.9*tk->error(0)/apar0)*tk->pt());      
00397       hcharge[1]->Fill(tk->charge()); 
00398       if ( tk->charge() != 0 ) {
00399         heta[1]->Fill(tk->eta());      
00400         hphi[1]->Fill(tk->phi()); 
00401         hetaphi[1]->Fill(tk->phi(),tk->eta()); 
00402         hptphi[1]->Fill(tk->pt(),tk->phi()); 
00403         hpteta[1]->Fill(tk->pt(),tk->eta()); 
00404         hnhit[1]->Fill(tk->numberOfValidHits()); 
00405         hd0[0]->Fill(tk->d0()); 
00406         if (!recoBeamSpotHandle.failedToGet()){
00407           hdr[0]->Fill(tk->dxy(beamSpot.position()));   
00408           hdrphi[0]->Fill(tk->phi(),tk->dxy(beamSpot.position())); 
00409         } 
00410         hd0phi[0]->Fill(tk->phi(),tk->d0()); 
00411         hdz[0]->Fill(tk->dz()); 
00412         hdzeta[0]->Fill(tk->eta(),tk->dz());
00413         herr0[0]->Fill(tk->error(0)); 
00414         cand2=cand;
00415         ++cand2;
00416         for (; cand2!=l2mucands->end(); cand2++) {
00417           TrackRef tk2=cand2->get<TrackRef>();
00418           if ( tk->charge()*tk2->charge() == -1 ){
00419             double mass=(cand->p4()+cand2->p4()).M();
00420             hdimumass[0]->Fill(mass);
00421           }
00422         }
00423       } else LogWarning("HLTMonMuon")<<"stop filling candidate with update@Vtx failure";
00424     }
00425   }
00426   if (!l3mucands.failedToGet()) {
00427     LogDebug("HLTMuonDQMSource") << " filling L3 stuff " << endl;
00428     hNMu[2]->Fill(l3mucands->size());
00429     Handle<reco::IsoDepositMap> l3depMap;
00430     iEvent.getByLabel (l3isolationTag_,l3depMap);
00431     for (cand=l3mucands->begin(); cand!=l3mucands->end(); ++cand) {
00432       TrackRef tk = cand->get<TrackRef>();
00433       if (!l3depMap.failedToGet()) {
00434         if ( l3depMap->contains(tk.id()) ){
00435           reco::IsoDepositMap::value_type calDeposit= (*l3depMap)[tk];
00436           double dephlt = calDeposit.depositWithin(coneSize_);
00437           hiso[1]->Fill(dephlt);
00438         }
00439       }
00440       // eta cut
00441       hpt[2]->Fill(tk->pt());      
00442       double apar0 = fabs(tk->parameter(0));
00443       if (apar0>0)hptlx[1]->Fill((1+2.2*tk->error(0)/apar0)*tk->pt());      
00444       heta[2]->Fill(tk->eta());      
00445       hphi[2]->Fill(tk->phi()); 
00446       hetaphi[2]->Fill(tk->phi(),tk->eta()); 
00447       hptphi[2]->Fill(tk->pt(),tk->phi()); 
00448       hpteta[2]->Fill(tk->pt(),tk->eta()); 
00449       hnhit[2]->Fill(tk->numberOfValidHits()); 
00450       hd0[1]->Fill(tk->d0()); 
00451       if (!recoBeamSpotHandle.failedToGet()) {
00452         hdr[1]->Fill(tk->dxy(beamSpot.position()));
00453         hdrphi[1]->Fill(tk->phi(),tk->dxy(beamSpot.position())); 
00454       }
00455       hd0phi[1]->Fill(tk->phi(),tk->d0()); 
00456       hdz[1]->Fill(tk->dz()); 
00457       hdzeta[1]->Fill(tk->eta(),tk->dz());
00458       herr0[1]->Fill(tk->error(0)); 
00459       hcharge[2]->Fill(tk->charge()); 
00460       cand2=cand;
00461       ++cand2;
00462 
00463       for (; cand2!=l3mucands->end(); cand2++) {
00464         TrackRef tk2=cand2->get<TrackRef>();
00465         if ( tk->charge()*tk2->charge() == -1 ){
00466           double mass=(cand->p4()+cand2->p4()).M();
00467           hdimumass[2]->Fill(mass);
00468         }
00469       }
00470       TrackRef l2tk = tk->seedRef().castTo<Ref<L3MuonTrajectorySeedCollection> >()->l2Track();
00471       if(tk->pt()*l2tk->pt() != 0 )hptres[1]->Fill(1/tk->pt() - 1/l2tk->pt());
00472       hetares[1]->Fill(tk->eta()-l2tk->eta());
00473       hetareseta[1]->Fill(tk->eta(),tk->eta()-l2tk->eta());
00474       hphires[1]->Fill(tk->phi()-l2tk->phi());
00475       double dphi=tk->phi()-l2tk->phi();
00476       if (dphi>TMath::TwoPi())dphi-=2*TMath::TwoPi();
00477       else if (dphi<-TMath::TwoPi()) dphi+=TMath::TwoPi();
00478       hphiresphi[1]->Fill(tk->phi(),dphi);
00479     }
00480   }  
00481 }

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

BeginJob.

book some histograms here

Reimplemented from edm::EDAnalyzer.

Definition at line 110 of file HLTMuonDQMSource.cc.

References DQMStore::book1D(), DQMStore::book2D(), DQMStore::bookProfile(), dbe_, lat::endl(), hcharge, hd0, hd0phi, hdimumass, hdr, hdrphi, hdz, hdzeta, herr0, heta, hetaphi, hetares, hetareseta, hiso, hl1quality, hnhit, hNMu, hphi, hphires, hphiresphi, hpt, hpteta, hptlx, hptphi, hptres, level, monitorName_, name, NBINS, prescaleEvt_, DQMStore::rmdir(), MonitorElement::setAxisTitle(), DQMStore::setCurrentFolder(), DQMStore::showDirStructure(), DQMStore::tagContents(), indexGen::title, XMAX, and XMIN.

00110                                                         {
00111 
00112    if (dbe_) {
00113      dbe_->setCurrentFolder(monitorName_);
00114      dbe_->rmdir(monitorName_);
00115    }
00116  
00117  
00118    if (dbe_) {
00119      //dbe_->setCurrentFolder("monitorName_");
00120      if (monitorName_ != "" ) monitorName_ = monitorName_+"/" ;
00121      LogInfo("HLTMuonDQMSource") << "===>DQM event prescale = " << prescaleEvt_ << " events "<< endl;
00122      
00123      
00125      const int NBINS = 100; XMIN = 0; XMAX = 50;
00126 
00127      // create and cd into new folder
00128      char name[512], title[512];
00129      for ( int level = 1 ; level < 5 ; ++ level ) {
00130        sprintf(name,"Level%i",level);
00131        dbe_->setCurrentFolder(monitorName_+name);
00132        if (level==1)hl1quality = dbe_->book1D("h1L1Quality","GMT quality Flag", 8, 0., 8.);
00133        sprintf(name,"HLTMuonL%i_NMu",level);
00134        sprintf(title,"L%i number of muons",level);
00135        hNMu[level-1] = dbe_->book1D(name,title, 5, 0., 5.);
00136        hNMu[level-1]->setAxisTitle("Number of muons", 1);
00137        sprintf(name,"HLTMuonL%i_pt",level);
00138        sprintf(title,"L%i Pt",level);
00139        hpt[level-1] = dbe_->book1D(name,title, NBINS, 0., 100);
00140        hpt[level-1]->setAxisTitle("Pt", 1);
00141        sprintf(name,"HLTMuonL%i_eta",level);
00142        sprintf(title,"L%i Muon #eta",level);
00143        heta[level-1] = dbe_->book1D(name,title, NBINS, -2.5, 2.5);
00144        heta[level-1]->setAxisTitle("#eta", 1);
00145        sprintf(name,"HLTMuonL%i_phi",level);
00146        sprintf(title,"L%i Muon #phi",level);
00147        hphi[level-1] = dbe_->book1D(name,title, NBINS, -3.15, 3.15);
00148        hphi[level-1]->setAxisTitle("#phi", 1);
00149        sprintf(name,"HLTMuonL%i_etaphi",level);
00150        sprintf(title,"L%i Muon #eta vs #phi",level);
00151        hetaphi[level-1] = dbe_->book2D(name,title, NBINS, -3.15, 3.15,NBINS,-2.5, 2.5);
00152        hetaphi[level-1]->setAxisTitle("#phi", 1);
00153        hetaphi[level-1]->setAxisTitle("#eta", 2); 
00154        sprintf(name,"HLTMuonL%i_ptphi",level);
00155        sprintf(title,"L%i Muon pt vs #phi",level);         
00156        hptphi[level-1] = dbe_->book2D(name,title, NBINS, 0., 100.,NBINS,-3.15, 3.15);
00157        hptphi[level-1]->setAxisTitle("pt", 1);
00158        hptphi[level-1]->setAxisTitle("#phi", 2);
00159        sprintf(name,"HLTMuonL%i_pteta",level);
00160        sprintf(title,"L%i Muon pt vs #eta",level);         
00161        hpteta[level-1] = dbe_->book2D(name,title, NBINS, 0., 100.,NBINS,-2.5, 2.5);
00162        hpteta[level-1]->setAxisTitle("pt", 1);
00163        hpteta[level-1]->setAxisTitle("#eta", 2);
00164        sprintf(name,"HLTMuonL%i_nhit",level);
00165        sprintf(title,"L%i Number of Valid Hits",level);         
00166        hnhit[level-1] = dbe_->book1D(name,title, NBINS, 0., 100.);
00167        hnhit[level-1]->setAxisTitle("Number of Valid Hits", 1);
00168        sprintf(name,"HLTMuonL%i_charge",level);
00169        sprintf(title,"L%i Muon Charge",level);         
00170        hcharge[level-1]  = dbe_->book1D(name,title, 3, -1.5, 1.5);
00171        hcharge[level-1]->setAxisTitle("Charge", 1);
00172        if (level>1&&level<4){
00173          sprintf(name,"HLTMuonL%i_ptlx",level);
00174          sprintf(title,"L%i Muon 90 percent efficiency Pt",level);
00175          hptlx[level-2] = dbe_->book1D(name,title, NBINS, 0., 100);
00176          hptlx[level-2]->setAxisTitle("90% efficiency Pt", 1);
00177          sprintf(name,"HLTMuonL%i_dr",level);
00178          sprintf(title,"L%i Muon radial impact vs BeamSpot",level);         
00179          hdr[level-2] = dbe_->book1D(name,title, NBINS, -0.3, 0.3);
00180          hdr[level-2]->setAxisTitle("R Impact (cm) vs BeamSpot", 1);
00181          sprintf(name,"HLTMuonL%i_d0",level);
00182          sprintf(title,"L%i Muon radial impact vs (0,0)",level);         
00183          hd0[level-2] = dbe_->book1D(name,title, NBINS, -0.3, 0.3);
00184          hd0[level-2]->setAxisTitle("R Impact (cm) vs 0,0", 1);
00185          sprintf(name,"HLTMuonL%i_dz",level);
00186          sprintf(title,"L%i Muon Z impact",level);         
00187          hdz[level-2] = dbe_->book1D(name,title, NBINS, -25., 25.);
00188          hdz[level-2]->setAxisTitle("Z impact (cm)", 1);
00189          sprintf(name,"HLTMuonL%i_err0",level);
00190          sprintf(title,"L%i Muon Error on Pt",level);         
00191          herr0[level-2] = dbe_->book1D(name,title,NBINS, 0., 0.03);
00192          herr0[level-2]->setAxisTitle("Error on Pt", 1);
00193          sprintf(name,"HLTMuonL%i_iso",level);
00194          if (level==2)sprintf(title,"L%i Muon Energy in Isolation cone",level);         
00195          else if (level==3)sprintf(title,"L%i Muon SumPt in Isolation cone",level);               
00196          hiso[level-2]  = dbe_->book1D(name,title, NBINS, 0., 10./(level-2));
00197          if ( level==2)hiso[level-2]->setAxisTitle("Calo Energy in Iso Cone (GeV)", 1);
00198          else if ( level==3)hiso[level-2]->setAxisTitle("Sum Pt in Iso Cone (GeV)", 1);
00199          sprintf(name,"HLTMuonL%i_DiMuMass",level);
00200          sprintf(title,"L%i Opposite charge DiMuon invariant Mass",level);         
00201          hdimumass[level-2]= dbe_->book1D(name,title, NBINS, 0., 150.);
00202          hdimumass[level-2]->setAxisTitle("Di Muon Invariant Mass (GeV)");
00203          sprintf(name,"HLTMuonL%i_drphi",level);
00204          sprintf(title,"L%i #Deltar vs #phi",level);         
00205          hdrphi[level-2] = dbe_->bookProfile(name,title, NBINS, -3.15, 3.15,1,-999.,999.,"s");
00206          hdrphi[level-2]->setAxisTitle("#phi", 1);
00207          hdrphi[level-2]->setAxisTitle("#Deltar", 2);
00208          sprintf(name,"HLTMuonL%i_d0phi",level);
00209          sprintf(title,"L%i #Delta0 vs #phi",level);         
00210          hd0phi[level-2] = dbe_->bookProfile(name,title, NBINS, -3.15, 3.15,1,-999.,999.,"s");
00211          hd0phi[level-2]->setAxisTitle("#phi", 1);
00212          hd0phi[level-2]->setAxisTitle("#Delta0", 2);
00213          sprintf(name,"HLTMuonL%i_dzeta",level);
00214          sprintf(title,"L%i #Deltaz vs #eta",level);         
00215          hdzeta[level-2] = dbe_->bookProfile(name,title, NBINS,-2.5, 2.5,1,-999.,999.,"s");
00216          hdzeta[level-2]->setAxisTitle("#eta", 1);
00217          hdzeta[level-2]->setAxisTitle("#Deltaz", 2);
00218        }
00219        if (level < 3 ) {
00220          sprintf(name,"HLTMuonL%i_ptres",level);
00221          sprintf(title,"L%iMuon1/Pt - L%iMuon1/Pt",level,level+1);         
00222          hptres[level-1] = dbe_->book1D(name,title, NBINS, -0.1, 0.1);
00223          sprintf(title,"1/PtL%i - 1/PtL%i",level,level+1);         
00224          hptres[level-1]->setAxisTitle(title, 1);
00225          sprintf(name,"HLTMuonL%i_etares",level);
00226          sprintf(title,"L%i Muon #Delta#eta (wrt L%i)",level,level+1);         
00227          hetares[level-1] =dbe_->book1D(name,title, NBINS, -0.1, 0.1);
00228          hetares[level-1]->setAxisTitle("#Delta#eta", 1);
00229          sprintf(name,"HLTMuonL%i_phires",level);
00230          sprintf(title,"L%i Muon #Delta#phi (wrt L%i)",level,level+1);         
00231          hphires[level-1] =dbe_->book1D(name,title, NBINS, -0.1, 0.1);
00232          hphires[level-1]->setAxisTitle("#Delta#phi", 1);
00233          sprintf(name,"HLTMuonL%i_phiresphi",level);
00234          sprintf(title,"L%i Muon #Delta#phi vs #phi ",level);         
00235          hphiresphi[level-1] =dbe_->bookProfile(name,title, NBINS, -3.15, 3.15,1,-999.,999.,"s");
00236          hphiresphi[level-1]->setAxisTitle("<#Delta#phi>", 2);
00237          hphiresphi[level-1]->setAxisTitle("#phi", 1);
00238          sprintf(name,"HLTMuonL%i_etareseta",level);
00239          sprintf(title,"L%i Muon #Delta#eta vs #eta ",level);         
00240          hetareseta[level-1] =dbe_->bookProfile(name,title, NBINS,-2.5, 2.5,1,-999.,999.,"s");
00241          hetareseta[level-1]->setAxisTitle("<#Delta#eta>", 2);
00242          hetareseta[level-1]->setAxisTitle("#eta", 1);
00243          if (level  == 1 ){
00244            sprintf(name,"HLTMuonL%i3_ptres",level);
00245            sprintf(title,"L%iMuon1/Pt - L%iMuon1/Pt",level,level+2);         
00246            hptres[level+1] = dbe_->book1D(name,title, NBINS, -0.1, 0.1);
00247            sprintf(title,"1/PtL%i - 1/PtL%i",level,level+2);         
00248            hptres[level+1]->setAxisTitle(title, 1);
00249            sprintf(name,"HLTMuonL%i3_etares",level);
00250            sprintf(title,"L%i Muon #Delta#eta (wrt L%i)",level,level+2);         
00251            hetares[level+1] =dbe_->book1D(name,title, NBINS, -0.1, 0.1);
00252            hetares[level+1]->setAxisTitle("#Delta#eta", 1);
00253            sprintf(name,"HLTMuonL%i3_phires",level);
00254            sprintf(title,"L%i Muon #Delta#phi (wrt L%i)",level,level+2);         
00255            hphires[level+1] =dbe_->book1D(name,title, NBINS, -0.1, 0.1);
00256            hphires[level+1]->setAxisTitle("#Delta#phi", 1);
00257            sprintf(name,"HLTMuonL%i3_phiresphi",level);
00258            sprintf(title,"L%i Muon #Delta#phi vs #phi (wrt L3) ",level);         
00259            hphiresphi[level+1] =dbe_->bookProfile(name,title, NBINS, -3.15, 3.15,1,-999.,999.,"s");
00260            hphiresphi[level+1]->setAxisTitle("<#Delta#phi>", 2);
00261            hphiresphi[level+1]->setAxisTitle("#phi", 1);
00262            sprintf(name,"HLTMuonL%i3_etareseta",level);
00263            sprintf(title,"L%i Muon #Delta#eta vs #eta (wrt L3) ",level);         
00264            hetareseta[level+1] =dbe_->bookProfile(name,title, NBINS,-2.5, 2.5,1,-999.,999.,"s");
00265            hetareseta[level+1]->setAxisTitle("<#Delta#eta>", 2);
00266            hetareseta[level+1]->setAxisTitle("#eta", 1);
00267          }
00268        }
00269      }
00270      dbe_->showDirStructure();
00271   
00272      // Muon det id is 2 pushed in bits 28:31
00273      const unsigned int detector_id = 2<<28;
00274      dbe_->tagContents(monitorName_, detector_id);
00275    } 
00276 }

void HLTMuonDQMSource::beginLuminosityBlock ( const edm::LuminosityBlock lumiSeg,
const edm::EventSetup context 
) [protected, virtual]

Reimplemented from edm::EDAnalyzer.

Definition at line 284 of file HLTMuonDQMSource.cc.

00285                                                                  {
00286   
00287 }

void HLTMuonDQMSource::beginRun ( const edm::Run r,
const edm::EventSetup c 
) [protected, virtual]

BeginRun.

Reimplemented from edm::EDAnalyzer.

Definition at line 279 of file HLTMuonDQMSource.cc.

00279                                                                           {
00280 
00281 }

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

Endjob.

Reimplemented from edm::EDAnalyzer.

Definition at line 494 of file HLTMuonDQMSource.cc.

References counterEvt_.

00494                              {
00495    LogInfo("HLTMonMuon") << "analyzed " << counterEvt_ << " events";
00496  
00497    //  if (outputFile_.size() != 0 && dbe_)
00498    //  dbe->save(outputFile_);
00499  
00500    return;
00501 }

void HLTMuonDQMSource::endLuminosityBlock ( const edm::LuminosityBlock lumiSeg,
const edm::EventSetup c 
) [protected, virtual]

DQM Client Diagnostic.

Reimplemented from edm::EDAnalyzer.

Definition at line 487 of file HLTMuonDQMSource.cc.

00488                                                                {
00489 }

void HLTMuonDQMSource::endRun ( const edm::Run r,
const edm::EventSetup c 
) [protected, virtual]

EndRun.

Reimplemented from edm::EDAnalyzer.

Definition at line 491 of file HLTMuonDQMSource.cc.

00491                                                                     {
00492 }


Member Data Documentation

double HLTMuonDQMSource::coneSize_ [private]

every n events

Definition at line 63 of file HLTMuonDQMSource.h.

Referenced by analyze(), and HLTMuonDQMSource().

int HLTMuonDQMSource::counterEvt_ [private]

Definition at line 61 of file HLTMuonDQMSource.h.

Referenced by analyze(), and endJob().

DQMStore* HLTMuonDQMSource::dbe_ [private]

Definition at line 58 of file HLTMuonDQMSource.h.

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

MonitorElement* HLTMuonDQMSource::hcharge[4] [private]

Definition at line 75 of file HLTMuonDQMSource.h.

Referenced by analyze(), and beginJob().

MonitorElement* HLTMuonDQMSource::hd0[2] [private]

Definition at line 89 of file HLTMuonDQMSource.h.

Referenced by analyze(), and beginJob().

MonitorElement* HLTMuonDQMSource::hd0phi[2] [private]

Definition at line 92 of file HLTMuonDQMSource.h.

Referenced by analyze(), and beginJob().

MonitorElement* HLTMuonDQMSource::hdimumass[2] [private]

Definition at line 96 of file HLTMuonDQMSource.h.

Referenced by analyze(), and beginJob().

MonitorElement* HLTMuonDQMSource::hdr[2] [private]

Definition at line 88 of file HLTMuonDQMSource.h.

Referenced by analyze(), and beginJob().

MonitorElement* HLTMuonDQMSource::hdrphi[2] [private]

Definition at line 91 of file HLTMuonDQMSource.h.

Referenced by analyze(), and beginJob().

MonitorElement* HLTMuonDQMSource::hdz[2] [private]

Definition at line 90 of file HLTMuonDQMSource.h.

Referenced by analyze(), and beginJob().

MonitorElement* HLTMuonDQMSource::hdzeta[2] [private]

Definition at line 93 of file HLTMuonDQMSource.h.

Referenced by analyze(), and beginJob().

MonitorElement* HLTMuonDQMSource::herr0[2] [private]

Definition at line 94 of file HLTMuonDQMSource.h.

Referenced by analyze(), and beginJob().

MonitorElement* HLTMuonDQMSource::heta[4] [private]

Definition at line 78 of file HLTMuonDQMSource.h.

Referenced by analyze(), and beginJob().

MonitorElement* HLTMuonDQMSource::hetaphi[4] [private]

Definition at line 87 of file HLTMuonDQMSource.h.

Referenced by analyze(), and beginJob().

MonitorElement* HLTMuonDQMSource::hetares[3] [private]

Definition at line 83 of file HLTMuonDQMSource.h.

Referenced by analyze(), and beginJob().

MonitorElement* HLTMuonDQMSource::hetareseta[3] [private]

Definition at line 84 of file HLTMuonDQMSource.h.

Referenced by analyze(), and beginJob().

MonitorElement* HLTMuonDQMSource::hiso[2] [private]

Definition at line 97 of file HLTMuonDQMSource.h.

Referenced by analyze(), and beginJob().

MonitorElement* HLTMuonDQMSource::hl1quality [private]

Definition at line 98 of file HLTMuonDQMSource.h.

Referenced by analyze(), and beginJob().

MonitorElement* HLTMuonDQMSource::hnhit[4] [private]

Definition at line 95 of file HLTMuonDQMSource.h.

Referenced by analyze(), and beginJob().

MonitorElement* HLTMuonDQMSource::hNMu[4] [private]

Definition at line 74 of file HLTMuonDQMSource.h.

Referenced by analyze(), and beginJob().

MonitorElement* HLTMuonDQMSource::hphi[4] [private]

Definition at line 79 of file HLTMuonDQMSource.h.

Referenced by analyze(), and beginJob().

MonitorElement* HLTMuonDQMSource::hphires[3] [private]

Definition at line 85 of file HLTMuonDQMSource.h.

Referenced by analyze(), and beginJob().

MonitorElement* HLTMuonDQMSource::hphiresphi[3] [private]

Definition at line 86 of file HLTMuonDQMSource.h.

Referenced by analyze(), and beginJob().

MonitorElement* HLTMuonDQMSource::hpt[4] [private]

Definition at line 76 of file HLTMuonDQMSource.h.

Referenced by analyze(), and beginJob().

MonitorElement* HLTMuonDQMSource::hpteta[4] [private]

Definition at line 81 of file HLTMuonDQMSource.h.

Referenced by analyze(), and beginJob().

MonitorElement* HLTMuonDQMSource::hptlx[2] [private]

Definition at line 77 of file HLTMuonDQMSource.h.

Referenced by analyze(), and beginJob().

MonitorElement* HLTMuonDQMSource::hptphi[4] [private]

Definition at line 80 of file HLTMuonDQMSource.h.

Referenced by analyze(), and beginJob().

MonitorElement* HLTMuonDQMSource::hptres[3] [private]

Definition at line 82 of file HLTMuonDQMSource.h.

Referenced by analyze(), and beginJob().

edm::InputTag HLTMuonDQMSource::l2collectionTag_ [private]

Definition at line 64 of file HLTMuonDQMSource.h.

Referenced by analyze(), and HLTMuonDQMSource().

edm::InputTag HLTMuonDQMSource::l2isolationTag_ [private]

Definition at line 65 of file HLTMuonDQMSource.h.

Referenced by analyze(), and HLTMuonDQMSource().

edm::InputTag HLTMuonDQMSource::l2seedscollectionTag_ [private]

Definition at line 66 of file HLTMuonDQMSource.h.

Referenced by analyze(), and HLTMuonDQMSource().

edm::InputTag HLTMuonDQMSource::l3collectionTag_ [private]

Definition at line 67 of file HLTMuonDQMSource.h.

Referenced by analyze(), and HLTMuonDQMSource().

edm::InputTag HLTMuonDQMSource::l3isolationTag_ [private]

Definition at line 68 of file HLTMuonDQMSource.h.

Referenced by analyze(), and HLTMuonDQMSource().

std::string HLTMuonDQMSource::monitorName_ [private]

Definition at line 59 of file HLTMuonDQMSource.h.

Referenced by beginJob(), and HLTMuonDQMSource().

std::string HLTMuonDQMSource::outputFile_ [private]

Definition at line 60 of file HLTMuonDQMSource.h.

Referenced by HLTMuonDQMSource().

edm::ParameterSet HLTMuonDQMSource::parameters_ [private]

Definition at line 56 of file HLTMuonDQMSource.h.

Referenced by HLTMuonDQMSource().

int HLTMuonDQMSource::prescaleEvt_ [private]

counter

Definition at line 62 of file HLTMuonDQMSource.h.

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

bool HLTMuonDQMSource::verbose_ [private]

Definition at line 72 of file HLTMuonDQMSource.h.

Referenced by HLTMuonDQMSource().

float HLTMuonDQMSource::XMAX [private]

Definition at line 99 of file HLTMuonDQMSource.h.

Referenced by beginJob().

float HLTMuonDQMSource::XMIN [private]

Definition at line 99 of file HLTMuonDQMSource.h.

Referenced by beginJob().


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