diff --git a/RecoLocalMuon/CSCRecHitD/src/CSCRecHitDProducer.cc b/RecoLocalMuon/CSCRecHitD/src/CSCRecHitDProducer.cc index e0e8d156cb2d2..ea9b6f8d57cf7 100644 --- a/RecoLocalMuon/CSCRecHitD/src/CSCRecHitDProducer.cc +++ b/RecoLocalMuon/CSCRecHitD/src/CSCRecHitDProducer.cc @@ -15,24 +15,23 @@ #include #include -#include -#include CSCRecHitDProducer::CSCRecHitDProducer( const edm::ParameterSet& ps ) : iRun( 0 ), useCalib( ps.getParameter("CSCUseCalibrations") ), useStaticPedestals( ps.getParameter("CSCUseStaticPedestals") ), useTimingCorrections(ps.getParameter("CSCUseTimingCorrections") ), - useGasGainCorrections(ps.getParameter("CSCUseGasGainCorrections") ), - stripDigiTag_( ps.getParameter("stripDigiTag") ), - wireDigiTag_( ps.getParameter("wireDigiTag") ) + useGasGainCorrections(ps.getParameter("CSCUseGasGainCorrections") ) { + s_token = consumes( ps.getParameter("stripDigiTag") ); + w_token = consumes( ps.getParameter("wireDigiTag") ); + recHitBuilder_ = new CSCRecHitDBuilder( ps ); // pass on the parameter sets recoConditions_ = new CSCRecoConditions( ps ); // access to conditions data recHitBuilder_->setConditions( recoConditions_ ); // pass down to who needs access - + // register what this produces produces(); @@ -64,8 +63,9 @@ void CSCRecHitDProducer::produce( edm::Event& ev, const edm::EventSetup& setup // Get the collections of strip & wire digis from event edm::Handle stripDigis; edm::Handle wireDigis; - ev.getByLabel( stripDigiTag_, stripDigis); - ev.getByLabel( wireDigiTag_, wireDigis); + + ev.getByToken( s_token, stripDigis); + ev.getByToken( w_token, wireDigis); // Create empty collection of rechits std::auto_ptr oc( new CSCRecHit2DCollection ); diff --git a/RecoLocalMuon/CSCRecHitD/src/CSCRecHitDProducer.h b/RecoLocalMuon/CSCRecHitD/src/CSCRecHitDProducer.h index 441ae94a957b4..a945c249d4428 100644 --- a/RecoLocalMuon/CSCRecHitD/src/CSCRecHitDProducer.h +++ b/RecoLocalMuon/CSCRecHitD/src/CSCRecHitDProducer.h @@ -14,12 +14,16 @@ * */ +#include #include #include #include #include #include +#include +#include + class CSCRecHitDBuilder; class CSCRecoConditions; @@ -40,11 +44,11 @@ class CSCRecHitDProducer : public edm::EDProducer { bool useTimingCorrections; bool useGasGainCorrections; - edm::InputTag stripDigiTag_; - edm::InputTag wireDigiTag_; - CSCRecHitDBuilder* recHitBuilder_; CSCRecoConditions* recoConditions_; + + edm::EDGetTokenT s_token; + edm::EDGetTokenT w_token; }; #endif diff --git a/RecoLocalMuon/CSCSegment/src/CSCSegmentProducer.cc b/RecoLocalMuon/CSCSegment/src/CSCSegmentProducer.cc index 34f763f8cad10..09733925a6c76 100644 --- a/RecoLocalMuon/CSCSegment/src/CSCSegmentProducer.cc +++ b/RecoLocalMuon/CSCSegment/src/CSCSegmentProducer.cc @@ -7,17 +7,17 @@ #include #include +#include #include #include -#include #include #include CSCSegmentProducer::CSCSegmentProducer(const edm::ParameterSet& pas) : iev(0) { - inputObjectsTag = pas.getParameter("inputObjects"); + m_token = consumes( pas.getParameter("inputObjects") ); segmentBuilder_ = new CSCSegmentBuilder(pas); // pass on the PS // register what this produces @@ -43,7 +43,7 @@ void CSCSegmentProducer::produce(edm::Event& ev, const edm::EventSetup& setup) { // get the collection of CSCRecHit2D edm::Handle cscRecHits; - ev.getByLabel(inputObjectsTag, cscRecHits); + ev.getByToken( m_token, cscRecHits); // create empty collection of Segments std::auto_ptr oc( new CSCSegmentCollection ); diff --git a/RecoLocalMuon/CSCSegment/src/CSCSegmentProducer.h b/RecoLocalMuon/CSCSegment/src/CSCSegmentProducer.h index a060f592aad56..22b030e4e54ca 100644 --- a/RecoLocalMuon/CSCSegment/src/CSCSegmentProducer.h +++ b/RecoLocalMuon/CSCSegment/src/CSCSegmentProducer.h @@ -7,11 +7,13 @@ * \author M. Sani */ +#include #include "FWCore/Framework/interface/Frameworkfwd.h" #include "FWCore/Framework/interface/EDProducer.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/Utilities/interface/InputTag.h" + +#include class CSCSegmentBuilder; @@ -26,8 +28,8 @@ class CSCSegmentProducer : public edm::EDProducer { private: int iev; // events through - edm::InputTag inputObjectsTag; // input tag labelling rechits for input CSCSegmentBuilder* segmentBuilder_; + edm::EDGetTokenT m_token; }; #endif diff --git a/RecoLocalMuon/CSCSegment/test/run_on_raw_700.py b/RecoLocalMuon/CSCSegment/test/run_on_raw_700.py new file mode 100644 index 0000000000000..f6b6080c2daed --- /dev/null +++ b/RecoLocalMuon/CSCSegment/test/run_on_raw_700.py @@ -0,0 +1,58 @@ +## Dump 100 events in CSC segment builder - Tim Cox - 09.09.2013 +## This version runs in 700pre3 on a real data RelVal RAW sample. + +import FWCore.ParameterSet.Config as cms + +process = cms.Process("TEST") + +process.load("Configuration/StandardSequences/Geometry_cff") +process.load("Configuration/StandardSequences/MagneticField_cff") +process.load("Configuration/StandardSequences/FrontierConditions_GlobalTag_cff") +process.load("Configuration/StandardSequences/RawToDigi_Data_cff") +process.load("Configuration.StandardSequences.Reconstruction_cff") +process.load('Configuration.StandardSequences.EndOfProcess_cff') + +# --- MATCH GT TO RELEASE AND DATA SAMPLE + +process.GlobalTag.globaltag = 'PRE_62_V8::All' + +# --- NUMBER OF EVENTS --- + +process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(100) ) + +process.options = cms.untracked.PSet( SkipEvent = cms.untracked.vstring('ProductNotFound') ) +process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(True) ) +process.source = cms.Source("PoolSource", + fileNames = cms.untracked.vstring( + '/store/relval/CMSSW_7_0_0_pre3/SingleMu/RAW/PRE_P62_V8_RelVal_mu2011B-v1/00000/127160CD-7215-E311-91F3-003048D15E14.root' + ) +) + +# --- ACTIVATE LogTrace IN CSCRecHitD BUT NEED TO COMPILE IT WITH scram b -j8 USER_CXXFLAGS="-DEDM_ML_DEBUG" +# LogTrace output goes to cout; all other output to "junk.log" + +process.load("FWCore.MessageLogger.MessageLogger_cfi") +process.MessageLogger.categories.append("CSCRecHit") +process.MessageLogger.categories.append("CSCSegAlgoST") + +# module label is something like "muonCSCDigis"... +process.MessageLogger.debugModules = cms.untracked.vstring("*") +process.MessageLogger.destinations = cms.untracked.vstring("cout","junk") +process.MessageLogger.cout = cms.untracked.PSet( + threshold = cms.untracked.string("DEBUG"), + default = cms.untracked.PSet( limit = cms.untracked.int32(0) ), + FwkReport = cms.untracked.PSet( limit = cms.untracked.int32(-1) ), + CSCRecHit = cms.untracked.PSet( limit = cms.untracked.int32(-1) ), + CSCSegAlgoST = cms.untracked.PSet( limit = cms.untracked.int32(-1) ) +) + +#process.p = cms.Path(process.muonCSCDigis * process.csc2DRecHits * process.cscSegments * process.cscValidation) + +# Path and EndPath def +process.unpack = cms.Path(process.muonCSCDigis) +process.reco = cms.Path(process.csc2DRecHits * process.cscSegments) +process.endjob = cms.EndPath(process.endOfProcess) + +# Schedule definition +process.schedule = cms.Schedule(process.unpack, process.reco, process.endjob) +