Skip to content

Commit

Permalink
Merge pull request cms-sw#23 from pjwinnetou/OniaTree_11_2_X_miniAOD
Browse files Browse the repository at this point in the history
add hffilter_cfi
  • Loading branch information
pjwinnetou authored Sep 1, 2021
2 parents fddab5b + f857b77 commit dfa0c4d
Show file tree
Hide file tree
Showing 4 changed files with 80 additions and 1 deletion.
71 changes: 71 additions & 0 deletions HeavyIonsAnalysis/EventAnalysis/plugins/HFFilter.cc
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
// system include files
#include <memory>
#include <vector>
#include <map>
#include <set>

// user include files
#include "FWCore/Utilities/interface/InputTag.h"
#include "FWCore/Framework/interface/Frameworkfwd.h"
#include "FWCore/Framework/interface/EDFilter.h"
#include "FWCore/Framework/interface/Event.h"
#include "FWCore/Framework/interface/MakerMacros.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "FWCore/Framework/interface/ESHandle.h"
#include "FWCore/MessageLogger/interface/MessageLogger.h"
#include "DataFormats/TrackReco/interface/Track.h"
#include "DataFormats/TrackReco/interface/TrackFwd.h"

#include "DataFormats/HeavyIonEvent/interface/HFFilterInfo.h" //this line is needed to access the HF Filters

class HFFilter : public edm::EDFilter {
public:
explicit HFFilter(const edm::ParameterSet &);
~HFFilter() override;

private:
bool filter(edm::Event &, const edm::EventSetup &) override;

edm::EDGetTokenT<reco::HFFilterInfo> HFfilters_;
bool applyfilter_;
int threshold_;
int minnumtowers_;
int numMinHFTowers;

};


using namespace edm;
using namespace std;

HFFilter::HFFilter(const edm::ParameterSet& iConfig) {
HFfilters_ = consumes<reco::HFFilterInfo>(iConfig.getParameter<edm::InputTag>("HFfilters"));
// applyfilter_ = iConfig.getParameter<bool>("applyfilter");
threshold_ = iConfig.getParameter<int>("threshold");
minnumtowers_ = iConfig.getParameter<int>("minnumtowers");
}

HFFilter::~HFFilter() {}

bool HFFilter::filter(edm::Event& iEvent, const edm::EventSetup& iSetup) {

bool accepted = false;

numMinHFTowers = 0;

edm::Handle<reco::HFFilterInfo> HFfilter;
iEvent.getByToken(HFfilters_, HFfilter);

if(threshold_ == 2){numMinHFTowers = HFfilter->numMinHFTowers2;}
if(threshold_ == 3){numMinHFTowers = HFfilter->numMinHFTowers3;}
if(threshold_ == 4){numMinHFTowers = HFfilter->numMinHFTowers4;}
if(threshold_ == 5){numMinHFTowers = HFfilter->numMinHFTowers5;}

if(numMinHFTowers >= minnumtowers_) accepted = true;

return accepted;

}

//define this as a plug-in
DEFINE_FWK_MODULE(HFFilter);
2 changes: 1 addition & 1 deletion HeavyIonsAnalysis/EventAnalysis/plugins/TriggerAnalyzer.cc
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ TriggerAnalyzer::TriggerAnalyzer(edm::ParameterSet const& conf)
l1dummies(conf.getParameter<std::vector<std::string>>("l1dummybranches")),
hltresultsToken_(consumes<edm::TriggerResults>(conf.getParameter<edm::InputTag>("hltresults"))),
l1resultsToken_(consumes<GlobalAlgBlkBxCollection>(conf.getParameter<edm::InputTag>("l1results"))),
hltPrescaleProvider_(new HLTPrescaleProvider(conf, consumesCollector(), *this)) {
hltPrescaleProvider_(new HLTPrescaleProvider(conf.getParameter<edm::ParameterSet>("hltPSProvCfg"), consumesCollector(), *this)) {
// open the tree file and initialize the tree
edm::Service<TFileService> fs;
t_ = fs->make<TTree>("HltTree", "");
Expand Down
7 changes: 7 additions & 0 deletions HeavyIonsAnalysis/EventAnalysis/python/hffilter_cfi.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import FWCore.ParameterSet.Config as cms

phfCoincFilter2Th4 = cms.EDFilter('HFFilter',
HFfilters = cms.InputTag("hiHFfilters","hiHFfilters","PAT"),
threshold = cms.int32(4),
minnumtowers = cms.int32(2)
)
1 change: 1 addition & 0 deletions HeavyIonsAnalysis/EventAnalysis/python/hltanalysis_cfi.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,5 @@
l1results = cms.InputTag('gtStage2Digis'),
hltdummybranches = dummy_branches_for_PbPb_2018_HLT,
l1dummybranches = dummy_branches_for_PbPb_2018_L1,
hltPSProvCfg=cms.PSet(stageL1Trigger = cms.uint32(2)),
)

0 comments on commit dfa0c4d

Please sign in to comment.