CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_2_7_hltpatch1/src/DQM/TrackingMonitor/src/GetLumi.cc

Go to the documentation of this file.
00001 /*
00002  *  See header file for a description of this class.
00003  *
00004  *  $Date: 2012/03/28 22:59:43 $
00005  *  $Revision: 1.1 $
00006  *  \author:  Mia Tosi,40 3-B32,+41227671609 
00007  */
00008 
00009 #include "DQM/TrackingMonitor/interface/GetLumi.h"
00010 
00011 #include "FWCore/Framework/interface/LuminosityBlock.h"
00012 #include "DataFormats/Luminosity/interface/LumiDetails.h"
00013 
00014 GetLumi::GetLumi(const edm::ParameterSet& iConfig)
00015   : lumiInputTag_ ( iConfig.getParameter<edm::InputTag>("lumi")  )
00016   , lumiScale_    ( iConfig.getParameter<double>("lumiScale")    )
00017 {
00018 }
00019 
00020 GetLumi::GetLumi(edm::InputTag lumiInputTag, double lumiScale)
00021   : lumiInputTag_ ( lumiInputTag )
00022   , lumiScale_    ( lumiScale    )
00023 {
00024 }
00025 
00026 GetLumi::~GetLumi()
00027 {
00028 }
00029 
00030 double
00031 GetLumi::getRawValue(const edm::Event& iEvent)
00032 {
00033 
00034   // taken from 
00035   // DPGAnalysis/SiStripTools/src/DigiLumiCorrHistogramMaker.cc
00036   // the scale factor 6.37 should follow the lumi prescriptions
00037   edm::Handle<LumiDetails> lumi;
00038   iEvent.getLuminosityBlock().getByLabel(lumiInputTag_,lumi);
00039 
00040   double bxlumi = 0;
00041   if(lumi->isValid()) {
00042     bxlumi = lumi->lumiValue(LumiDetails::kOCC1,iEvent.bunchCrossing());
00043   }
00044 
00045   return bxlumi;
00046 
00047 }
00048 
00049 
00050 double
00051 GetLumi::getValue(const edm::Event& iEvent)
00052 {
00053   //    bxlumi = lumi->lumiValue(LumiDetails::kOCC1,iEvent.bunchCrossing())*6.37;
00054   return getRawValue(iEvent)*lumiScale_;
00055 }