CMS 3D CMS Logo

TrackEfficiencyClient Class Reference

DQM class to compute the tracking efficiency. More...

#include <DQM/TrackingMonitor/interface/TrackEfficiencyClient.h>

Inheritance diagram for TrackEfficiencyClient:

edm::EDAnalyzer

List of all members.

Public Member Functions

 TrackEfficiencyClient (const edm::ParameterSet &ps)
 Constructor.
virtual ~TrackEfficiencyClient ()
 Destructor.

Protected Member Functions

void analyze (edm::Event const &e, edm::EventSetup const &eSetup)
 Analyze.
void beginJob (edm::EventSetup const &eSetup)
 BeginJob.
void beginRun (edm::Run const &run, edm::EventSetup const &eSetup)
 BeginRun.
void endJob ()
 Endjob.
void endLuminosityBlock (edm::LuminosityBlock const &lumiSeg, edm::EventSetup const &eSetup)
 End Luminosity Block.
void endRun ()
 EndRun.

Private Attributes

std::string algoName_
edm::ParameterSet conf_
DQMStoredqmStore_
MonitorElementeffCompatibleLayers
MonitorElementeffD0
MonitorElementeffEta
MonitorElementeffPhi
MonitorElementeffX
MonitorElementeffY
MonitorElementeffZ
std::string FolderName_
std::string histName
bool trackEfficiency_


Detailed Description

DQM class to compute the tracking efficiency.

Definition at line 33 of file TrackEfficiencyClient.h.


Constructor & Destructor Documentation

TrackEfficiencyClient::TrackEfficiencyClient ( const edm::ParameterSet ps  ) 

Constructor.

Definition at line 29 of file TrackEfficiencyClient.cc.

References algoName_, conf_, dqmStore_, FolderName_, edm::ParameterSet::getParameter(), and trackEfficiency_.

00031 {
00032   edm::LogInfo( "TrackEfficiencyClient") << "TrackEfficiencyClient::Deleting TrackEfficiencyClient ";
00033 
00034   // get back-end interface
00035   dqmStore_ = edm::Service<DQMStore>().operator->();
00036   
00037   FolderName_      = iConfig.getParameter<std::string>("FolderName");
00038   algoName_        = iConfig.getParameter<std::string>("AlgoName");
00039   trackEfficiency_ = iConfig.getParameter<bool>("trackEfficiency");
00040   
00041   conf_ = iConfig;
00042 }

TrackEfficiencyClient::~TrackEfficiencyClient (  )  [virtual]

Destructor.

Definition at line 46 of file TrackEfficiencyClient.cc.

00048 {
00049   edm::LogInfo("TrackEfficiencyClient") << "TrackEfficiencyClient::Deleting TrackEfficiencyClient ";
00050 }


Member Function Documentation

void TrackEfficiencyClient::analyze ( edm::Event const &  e,
edm::EventSetup const &  eSetup 
) [protected, virtual]

Analyze.

Implements edm::EDAnalyzer.

Definition at line 145 of file TrackEfficiencyClient.cc.

00147 {
00148   edm::LogInfo( "TrackEfficiencyClient") << "TrackEfficiencyClient::analyze";
00149 }

void TrackEfficiencyClient::beginJob ( edm::EventSetup const &  eSetup  )  [protected, virtual]

BeginJob.

Reimplemented from edm::EDAnalyzer.

Definition at line 54 of file TrackEfficiencyClient.cc.

References algoName_, DQMStore::book1D(), conf_, dqmStore_, effCompatibleLayers, effD0, effEta, effPhi, effX, effY, effZ, FolderName_, edm::ParameterSet::getParameter(), MonitorElement::getTH1F(), histName, MonitorElement::setAxisTitle(), and DQMStore::setCurrentFolder().

00056 {  
00057  
00058   dqmStore_->setCurrentFolder(FolderName_);
00059   
00060   //
00061   int    effXBin = conf_.getParameter<int>   ("effXBin");
00062   double effXMin = conf_.getParameter<double>("effXMin");
00063   double effXMax = conf_.getParameter<double>("effXMax");
00064  
00065   histName = "effX_";
00066   effX = dqmStore_->book1D(histName+algoName_, histName+algoName_, effXBin, effXMin, effXMax);
00067   if (effX->getTH1F()) effX->getTH1F()->Sumw2();
00068   effX->setAxisTitle("");
00069   
00070 
00071   //
00072   int    effYBin = conf_.getParameter<int>   ("effYBin");
00073   double effYMin = conf_.getParameter<double>("effYMin");
00074   double effYMax = conf_.getParameter<double>("effYMax");
00075  
00076   histName = "effY_";
00077   effY = dqmStore_->book1D(histName+algoName_, histName+algoName_, effYBin, effYMin, effYMax);
00078   if (effY->getTH1F()) effY->getTH1F()->Sumw2();
00079   effY->setAxisTitle("");
00080   
00081   //
00082   int    effZBin = conf_.getParameter<int>   ("effZBin");
00083   double effZMin = conf_.getParameter<double>("effZMin");
00084   double effZMax = conf_.getParameter<double>("effZMax");
00085  
00086   histName = "effZ_";
00087   effZ = dqmStore_->book1D(histName+algoName_, histName+algoName_, effZBin, effZMin, effZMax);
00088   if (effZ->getTH1F()) effZ->getTH1F()->Sumw2();
00089   effZ->setAxisTitle("");
00090 
00091   //
00092   int    effEtaBin = conf_.getParameter<int>   ("effEtaBin");
00093   double effEtaMin = conf_.getParameter<double>("effEtaMin");
00094   double effEtaMax = conf_.getParameter<double>("effEtaMax");
00095  
00096   histName = "effEta_";
00097   effEta = dqmStore_->book1D(histName+algoName_, histName+algoName_, effEtaBin, effEtaMin, effEtaMax);
00098   if (effEta->getTH1F()) effEta->getTH1F()->Sumw2();
00099   effEta->setAxisTitle("");
00100   
00101   //
00102   int    effPhiBin = conf_.getParameter<int>   ("effPhiBin");
00103   double effPhiMin = conf_.getParameter<double>("effPhiMin");
00104   double effPhiMax = conf_.getParameter<double>("effPhiMax");
00105  
00106   histName = "effPhi_";
00107   effPhi = dqmStore_->book1D(histName+algoName_, histName+algoName_, effPhiBin, effPhiMin, effPhiMax);
00108   if (effPhi->getTH1F()) effPhi->getTH1F()->Sumw2();
00109   effPhi->setAxisTitle("");
00110   
00111   //
00112   int    effD0Bin = conf_.getParameter<int>   ("effD0Bin");
00113   double effD0Min = conf_.getParameter<double>("effD0Min");
00114   double effD0Max = conf_.getParameter<double>("effD0Max");
00115  
00116   histName = "effD0_";
00117   effD0 = dqmStore_->book1D(histName+algoName_, histName+algoName_, effD0Bin, effD0Min, effD0Max);
00118   if (effD0->getTH1F()) effD0->getTH1F()->Sumw2();
00119   effD0->setAxisTitle("");
00120   
00121  
00122   //
00123   int    effCompatibleLayersBin = conf_.getParameter<int>   ("effCompatibleLayersBin");
00124   double effCompatibleLayersMin = conf_.getParameter<double>("effCompatibleLayersMin");
00125   double effCompatibleLayersMax = conf_.getParameter<double>("effCompatibleLayersMax");
00126  
00127   histName = "effCompatibleLayers_";
00128   effCompatibleLayers = dqmStore_->book1D(histName+algoName_, histName+algoName_, effCompatibleLayersBin, effCompatibleLayersMin, effCompatibleLayersMax);
00129   if (effCompatibleLayers->getTH1F()) effCompatibleLayers->getTH1F()->Sumw2();
00130   effCompatibleLayers->setAxisTitle("");
00131 
00132   edm::LogInfo("TrackEfficiencyClient") << "TrackEfficiencyClient::beginJob done";
00133 }

void TrackEfficiencyClient::beginRun ( edm::Run const &  run,
edm::EventSetup const &  eSetup 
) [protected, virtual]

BeginRun.

Reimplemented from edm::EDAnalyzer.

Definition at line 137 of file TrackEfficiencyClient.cc.

00139 {
00140   edm::LogInfo ("TrackEfficiencyClient") <<"TrackEfficiencyClient:: Begining of Run";
00141 }

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

Endjob.

Reimplemented from edm::EDAnalyzer.

Definition at line 152 of file TrackEfficiencyClient.cc.

00154 {
00155 } 

void TrackEfficiencyClient::endLuminosityBlock ( edm::LuminosityBlock const &  lumiSeg,
edm::EventSetup const &  eSetup 
) [protected, virtual]

End Luminosity Block.

Reimplemented from edm::EDAnalyzer.

Definition at line 165 of file TrackEfficiencyClient.cc.

References algoName_, dqmStore_, effCompatibleLayers, effD0, effEta, effPhi, effX, effY, effZ, FolderName_, DQMStore::get(), MonitorElement::getTH1F(), histName, trackEfficiency_, reco::btau::trackEta, and reco::btau::trackPhi.

00167 {
00168  edm::LogInfo( "TrackEfficiencyClient") << "TrackEfficiencyClient::endLuminosityBlock"; 
00169 
00170  histName = "/trackX_";
00171  MonitorElement* trackX = dqmStore_->get(FolderName_+histName+algoName_);
00172  
00173  histName = "/muonX_";
00174  MonitorElement* muonX  = dqmStore_->get(FolderName_+histName+algoName_);
00175  
00176  histName = "/trackY_";
00177  MonitorElement* trackY = dqmStore_->get(FolderName_+histName+algoName_);
00178  histName = "/muonY_";
00179  MonitorElement* muonY  = dqmStore_->get(FolderName_+histName+algoName_);
00180  
00181  histName = "/trackZ_";
00182  MonitorElement* trackZ = dqmStore_->get(FolderName_+histName+algoName_);
00183  histName = "/muonZ_";
00184  MonitorElement* muonZ  = dqmStore_->get(FolderName_+histName+algoName_);
00185   
00186  histName = "/trackEta_";
00187  MonitorElement* trackEta = dqmStore_->get(FolderName_+histName+algoName_);
00188  histName = "/muonEta_";
00189  MonitorElement* muonEta  = dqmStore_->get(FolderName_+histName+algoName_);
00190  
00191  histName = "/trackPhi_";
00192  MonitorElement* trackPhi = dqmStore_->get(FolderName_+histName+algoName_);
00193  histName = "/muonPhi_";
00194  MonitorElement* muonPhi  = dqmStore_->get(FolderName_+histName+algoName_);
00195  
00196  histName = "/trackD0_";
00197  MonitorElement* trackD0 = dqmStore_->get(FolderName_+histName+algoName_);
00198  histName = "/muonD0_";
00199  MonitorElement* muonD0  = dqmStore_->get(FolderName_+histName+algoName_);
00200 
00201  histName = "/trackCompatibleLayers_";
00202  MonitorElement* trackCompatibleLayers = dqmStore_->get(FolderName_+histName+algoName_);
00203  histName = "/muonCompatibleLayers_";
00204  MonitorElement* muonCompatibleLayers  = dqmStore_->get(FolderName_+histName+algoName_);
00205 
00206  if(trackX && muonX && trackY && muonY && trackZ && muonZ && trackEta && muonEta && trackPhi && muonPhi && trackD0 && muonD0 && trackCompatibleLayers && muonCompatibleLayers){
00207    if (trackEfficiency_)
00208      { 
00209        if (effX  ->getTH1F() && trackX  ->getTH1F() && muonX  ->getTH1F()) { effX       -> getTH1F()->Divide(trackX->getTH1F(),muonX->getTH1F(),1.,1.,"");}
00210        if (effY  ->getTH1F() && trackY  ->getTH1F() && muonY  ->getTH1F()) { effY       -> getTH1F()->Divide(trackY->getTH1F(),muonY->getTH1F(),1.,1.,"");}
00211        if (effZ  ->getTH1F() && trackZ  ->getTH1F() && muonZ  ->getTH1F()) { effZ       -> getTH1F()->Divide(trackZ->getTH1F(),muonZ->getTH1F(),1.,1.,"");}
00212        if (effEta->getTH1F() && trackEta->getTH1F() && muonEta->getTH1F()) { effEta -> getTH1F()->Divide(trackEta->getTH1F(),muonEta->getTH1F(),1.,1.,"");}
00213        if (effPhi->getTH1F() && trackPhi->getTH1F() && muonPhi->getTH1F()) { effPhi -> getTH1F()->Divide(trackPhi->getTH1F(),muonPhi->getTH1F(),1.,1.,"");}
00214        if (effD0 ->getTH1F() && trackD0 ->getTH1F() && muonD0 ->getTH1F()) { effD0  -> getTH1F()->Divide(trackD0->getTH1F(),muonD0->getTH1F(),1.,1.,"");}
00215        if (effCompatibleLayers->getTH1F() && trackCompatibleLayers->getTH1F() && muonCompatibleLayers->getTH1F()) { effCompatibleLayers -> getTH1F()->Divide(trackCompatibleLayers->getTH1F(),muonCompatibleLayers->getTH1F(),1.,1.,"");}
00216  }
00217    else {
00218      if (effX  ->getTH1F() && trackX  ->getTH1F() && muonX  ->getTH1F()) { effX -> getTH1F()->Divide(muonX->getTH1F(),trackX->getTH1F(),1.,1.,"");}
00219      if (effY  ->getTH1F() && trackY  ->getTH1F() && muonY  ->getTH1F()) { effY -> getTH1F()->Divide(muonY->getTH1F(),trackY->getTH1F(),1.,1.,"");}
00220      if (effZ  ->getTH1F() && trackZ  ->getTH1F() && muonZ  ->getTH1F()) { effZ -> getTH1F()->Divide(muonZ->getTH1F(),trackZ->getTH1F(),1.,1.,"");}
00221      if (effEta->getTH1F() && trackEta->getTH1F() && muonEta->getTH1F()) { effEta -> getTH1F()->Divide(muonEta->getTH1F(),trackEta->getTH1F(),1.,1.,"");}
00222      if (effPhi->getTH1F() && trackPhi->getTH1F() && muonPhi->getTH1F()) { effPhi -> getTH1F()->Divide(muonPhi->getTH1F(),trackPhi->getTH1F(),1.,1.,"");}
00223      if (effD0 ->getTH1F() && trackD0 ->getTH1F() && muonD0 ->getTH1F()) { effD0  -> getTH1F()->Divide(muonD0->getTH1F(),trackD0->getTH1F(),1.,1.,"");}
00224    }
00225  }
00226  
00227 }

void TrackEfficiencyClient::endRun ( void   )  [protected]

EndRun.

Definition at line 158 of file TrackEfficiencyClient.cc.

00160 {
00161 }


Member Data Documentation

std::string TrackEfficiencyClient::algoName_ [private]

Definition at line 73 of file TrackEfficiencyClient.h.

Referenced by beginJob(), endLuminosityBlock(), and TrackEfficiencyClient().

edm::ParameterSet TrackEfficiencyClient::conf_ [private]

Definition at line 67 of file TrackEfficiencyClient.h.

Referenced by beginJob(), and TrackEfficiencyClient().

DQMStore* TrackEfficiencyClient::dqmStore_ [private]

Definition at line 66 of file TrackEfficiencyClient.h.

Referenced by beginJob(), endLuminosityBlock(), and TrackEfficiencyClient().

MonitorElement* TrackEfficiencyClient::effCompatibleLayers [private]

Definition at line 82 of file TrackEfficiencyClient.h.

Referenced by beginJob(), and endLuminosityBlock().

MonitorElement* TrackEfficiencyClient::effD0 [private]

Definition at line 81 of file TrackEfficiencyClient.h.

Referenced by beginJob(), and endLuminosityBlock().

MonitorElement* TrackEfficiencyClient::effEta [private]

Definition at line 79 of file TrackEfficiencyClient.h.

Referenced by beginJob(), and endLuminosityBlock().

MonitorElement* TrackEfficiencyClient::effPhi [private]

Definition at line 80 of file TrackEfficiencyClient.h.

Referenced by beginJob(), and endLuminosityBlock().

MonitorElement* TrackEfficiencyClient::effX [private]

Definition at line 76 of file TrackEfficiencyClient.h.

Referenced by beginJob(), and endLuminosityBlock().

MonitorElement* TrackEfficiencyClient::effY [private]

Definition at line 77 of file TrackEfficiencyClient.h.

Referenced by beginJob(), and endLuminosityBlock().

MonitorElement* TrackEfficiencyClient::effZ [private]

Definition at line 78 of file TrackEfficiencyClient.h.

Referenced by beginJob(), and endLuminosityBlock().

std::string TrackEfficiencyClient::FolderName_ [private]

Definition at line 74 of file TrackEfficiencyClient.h.

Referenced by beginJob(), endLuminosityBlock(), and TrackEfficiencyClient().

std::string TrackEfficiencyClient::histName [private]

Definition at line 72 of file TrackEfficiencyClient.h.

Referenced by beginJob(), and endLuminosityBlock().

bool TrackEfficiencyClient::trackEfficiency_ [private]

Definition at line 69 of file TrackEfficiencyClient.h.

Referenced by endLuminosityBlock(), and TrackEfficiencyClient().


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