Skip to content

Commit

Permalink
Merge pull request #20209 from kskovpen/SimFilter
Browse files Browse the repository at this point in the history
Add muon filter sequence
  • Loading branch information
davidlange6 committed Aug 26, 2017
2 parents 13285f3 + 5ff5ef5 commit 5ca2c40
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 9 deletions.
17 changes: 10 additions & 7 deletions SimMuon/MCTruth/plugins/SimMuFilter.cc
Expand Up @@ -8,13 +8,13 @@ class SimMuFilter : public edm::stream::EDFilter<>
public:

explicit SimMuFilter(const edm::ParameterSet&);
~SimMuFilter();
~SimMuFilter() override;

private:

virtual void beginJob();
virtual void endJob();
virtual bool filter(edm::Event&, const edm::EventSetup&);
bool filter(edm::Event&, const edm::EventSetup&) override;

private:

Expand All @@ -27,6 +27,8 @@ class SimMuFilter : public edm::stream::EDFilter<>
edm::Handle<edm::PSimHitContainer> simHitsMuonRPCHandle;
edm::Handle<edm::PSimHitContainer> simHitsMuonCSCHandle;
edm::Handle<edm::PSimHitContainer> simHitsMuonDTHandle;

int nMuSel_;
};

SimMuFilter::SimMuFilter(const edm::ParameterSet& iConfig)
Expand All @@ -35,6 +37,7 @@ SimMuFilter::SimMuFilter(const edm::ParameterSet& iConfig)
simHitsMuonRPCToken_ = consumes<edm::PSimHitContainer>(iConfig.getParameter<edm::InputTag>("simHitsMuonRPCInput"));
simHitsMuonCSCToken_ = consumes<edm::PSimHitContainer>(iConfig.getParameter<edm::InputTag>("simHitsMuonCSCInput"));
simHitsMuonDTToken_ = consumes<edm::PSimHitContainer>(iConfig.getParameter<edm::InputTag>("simHitsMuonDTInput"));
nMuSel_ = iConfig.getParameter<int>("nMuSel");
}

SimMuFilter::~SimMuFilter()
Expand All @@ -54,7 +57,7 @@ bool SimMuFilter::filter(edm::Event& iEvent, const edm::EventSetup& iSetup)

int nTracks = simTracks.size();

bool pass = 0;
int nPass = 0;

for(int it=0;it<nTracks;it++)
{
Expand Down Expand Up @@ -91,10 +94,10 @@ bool SimMuFilter::filter(edm::Event& iEvent, const edm::EventSetup& iSetup)
nSimHitDT++;
}

if( nSimHitRPC+nSimHitCSC+nSimHitDT > 0 ) pass = 1;
}

return pass;
if( nSimHitRPC+nSimHitCSC+nSimHitDT > 0 ) nPass++;
}
return (nPass >= nMuSel_);
}

void SimMuFilter::beginJob()
Expand Down
8 changes: 8 additions & 0 deletions SimMuon/MCTruth/python/SimMuFiltDouble_cff.py
@@ -0,0 +1,8 @@
import FWCore.ParameterSet.Config as cms

from SimMuon.MCTruth.SimMuFilter_cfi import SimMuFilter

SimDoubleMuFilter = SimMuFilter.clone()
SimDoubleMuFilter.nMuSel = 2

SimMuFiltSeq = cms.Sequence(SimDoubleMuFilter)
8 changes: 8 additions & 0 deletions SimMuon/MCTruth/python/SimMuFiltSingle_cff.py
@@ -0,0 +1,8 @@
import FWCore.ParameterSet.Config as cms

from SimMuon.MCTruth.SimMuFilter_cfi import SimMuFilter

SimSingleMuFilter = SimMuFilter.clone()
SimSingleMuFilter.nMuSel = 1

SimMuFiltSeq = cms.Sequence(SimSingleMuFilter)
4 changes: 2 additions & 2 deletions SimMuon/MCTruth/python/SimMuFilter_cfi.py
Expand Up @@ -5,6 +5,6 @@
simTracksInput = cms.InputTag("g4SimHits","","SIM"),
simHitsMuonRPCInput = cms.InputTag("g4SimHits","MuonRPCHits","SIM"),
simHitsMuonCSCInput = cms.InputTag("g4SimHits","MuonCSCHits","SIM"),
simHitsMuonDTInput = cms.InputTag("g4SimHits","MuonDTHits","SIM")
simHitsMuonDTInput = cms.InputTag("g4SimHits","MuonDTHits","SIM"),
nMuSel = cms.int32(1)
)

0 comments on commit 5ca2c40

Please sign in to comment.