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 }